我正在使用Eclipse Helios 3.6.2进行Android开发,每当我在图形布局模式(而不是XML布局)中设计布局时,我都无法在图形布局中看到ScrollView的全部内容.
具体来说,当我使用ScrollView并且ScrollView的高度超过内容视图区域的高度(即,在图形布局模式中可见的手机屏幕)时,我无法看到我在屏幕下方.
在Eclipse Helios 3.6.1中有一个名为"expand to fit"的选项; 每当我点击它时,手机屏幕的大小都会增加,以包含我添加的所有元素.我如何在3.6.2中实现同样的目标?

我正在尝试使用开发者控制台将我的应用上传到Google Play.大约一周前,他们已经做到了这一点,以便每个应用程序都有一个唯一的密钥字符串.您必须使用新的开发人员控制台来获取应用程序的密钥.问题是,在新的开发人员控制台中,显然没有办法上传我的应用程序所需的扩展文件.然后如何获取我的密钥,并将我的apk上传的扩展文件上传到Google Play?
使用旧控制台上传扩展文件非常简单,您只需在上传apk文件的同时上传它.
我错过了什么?
多年来,我一直使用Eclipse的Ant集成来构建我的Android项目,如Google在此文档页面上所述.这是我最喜欢的构建发布版本的方法,因为我可以在Eclipse中点击"Run external tool"来启动Ant构建,并在后台运行.
从最近(我相信ADT 22.0或22.1),我一直遇到以下失败:
Run Code Online (Sandbox Code Playgroud)[echo] Handling Resources... [aapt] Generating resource IDs... [aapt] invalid resource directory name: C:\path\to\project\bin\res/crunchBUILD FAILED
C:\ Android\android-sdk\tools\ant\build.xml:653:执行此行时发生以下错误:
C:\ Android\android-sdk\tools\ant\build.xml:698:null返回:1
我不确定这是什么原因,因为AAPT似乎生成了"crunch"目录本身.我已经尝试清理我的项目并禁用Eclipse中的自动构建但无济于事.
我也试过ant release在Eclipse之外执行,但这会产生同样的错误.执行ant clean release也不起作用,因为它试图删除仍在使用Eclipse的jar.因此,我发现的唯一解决方案是:
ant clean release这是令人难以忍受的,因为正如我们所知,重启Eclipse是一种巨大的痛苦.此外,所有受影响的项目都需要清理,这使整个过程需要半个小时.我在b.android.com上打开了#60496号问题,但没有听到任何官方回复.
除了咬紧牙关并切换到Android Studio之外,还有什么解决方案吗?
我已经看到一些使用XLIFF标签的Google应用和代码示例来包装变量.我认为这样做有一些很大的好处,特别是对于替换非描述性格式的参数,例如%1$s.
不幸的是,XLIFF似乎没有很好地集成到ADT中.获取以下字符串资源,例如:
<resources
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"
xmlns:tools="http://schemas.android.com/tools">
<string name="share_with_application">
Share your score of <xliff:g id="score" example="1337">%1$s</xliff:g>
with <xliff:g id="application_name" example="Bluetooth">%2$s</xliff:g>!
</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,字符串在第一个<xliff>标记之后被截断.人们还希望使用该example属性,从而产生图形预览:
与蓝牙分享你的1337分!
目前在我的字符串资源中使用XLIFF标签是否有任何优点?
有没有一种简单的方法来转换Java(RGB,HSV和Lab)中的颜色模型.
假设RGB颜色模型:
编辑:我发现ColorSpace类可用于RGB/CIE和许多其他颜色模型之间的转换.
在Android P上运行针对SDK级别27构建的应用程序有些不可预测地显示以下对话框(对话框标题是应用程序的名称):
检测到API兼容性问题(有关详细信息,请访问g.co/dev/appcompat)
该URL指向此页面有关非SDK接口的限制.我的应用程序本身不使用反射,但确实使用了Gson.
在Logcat中没有明显的日志消息,除了可能的消息,例如:
访问隐藏字段Landroid/widget/AbsListView; - > mIsChildViewEnabled:Z(浅灰名单,反射)
有一天,我在Eclipse中按下了Help- > Check for Updates(我知道我永远不应该更新一个工作正常的软件.)
然后在我与SVN一起使用的项目中,"Team"的整个子菜单以及显示某些文件未被提交的小图标,它们都消失了.
我尝试了一切:
Instalation History标签恢复Installed Software标签中卸载eclipse中Program Files有一个新的日食从网站上下载,并试图重新安装但是,如果我按下,Ctrl+N则没有上述情况.没有SVN组; 如果我右键单击项目并选择Team- > Share project,则会出现带有CVS的窗口,但没有SVN.如果我选择File- > Import我无法在任何地方找到SVN.
如果我去Help- > About Eclipse- > Instalation details我在2009 Instalation History年6月25日09:59:08 GMT + 03:00(当SVN工作时)看到
Eclipse IDE for Java EE Developers 1.2.0.20090621-0820
Subclipse (Required) 1.6.2
Subversion JavaHL Native Library Adapter (Required) 1.6.3
SVNKit Library 1.3.0.5847
Run Code Online (Sandbox Code Playgroud)
在Installed Software …
我编写了一个简单的Java应用程序,它使用套接字与自身的多个实例进行交互.第一个实例自动承担服务器的角色,侦听特定端口,并且所有后续实例都连接到它.
我遇到的问题是Windows防火墙弹出询问我是否要取消阻止该程序"接受传入的网络连接".问题是:如果您将应用程序阻止,则无关紧要,因为应用程序的实例始终位于同一台计算机上,因此它始终有效.
我的问题是:我能否以某种方式告知Windows我甚至不希望接受传入的网络连接?
我最近收到了一位用户抱怨我的应用程序崩溃了.我从用户的错误日志中提取了以下内容,并且能够看到发生问题的原因:
12-17 10:31:12.446 I/PLAYLIST( 3158): PreparePlaylist
12-17 10:31:12.446 I/PLAYLIST( 3158): URL: http://f69cbd7a-3d91-4bf5-b4c6-ddb1175cf9e9.d40f2093-2013-4ad9-aec2-e99b015d61ca.070305e7-a706-4626-9ecb-777835065841.groovera.com/listen.pls
12-17 10:31:12.456 F/unknown ( 3158): stack corruption detected: aborted
12-17 10:31:12.466 D/Zygote ( 2204): Process 3158 terminated by signal (6)
12-17 10:31:12.471 I/ActivityManager( 2256): Process com.android.Player:remote (pid 3158) has died.
Run Code Online (Sandbox Code Playgroud)
检测到堆栈损坏.很好,所以我怎么知道为什么会这样?
我认为这个问题正在这个特定的类中发生,因为我希望在它死之前有更多的日志输出.此类使用套接字下载播放列表并解析它.我怎么能破坏堆栈?我已经处理过C/C++中的堆栈溢出,但是我如何在Java中处理它?
谢谢你的帮助!
为了告知用户可能存在的冲突,我想让我的附加组件检查是否已安装并启用了另一个加载项.如果是这样,我可以在用户的遗赠中禁用它或我自己:
function disableExtension(id) {
var man = Components.classes["@mozilla.org/extensions/manager;1"];
if (man) {
man = man.getService(Components.interfaces.nsIExtensionManager);
}
if (man) {
man.disableItem(id);
} else {
Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAddonByID(id, function(addon) {
addon.userDisabled = true;
});
}
}
Run Code Online (Sandbox Code Playgroud)
但我首先要检查是否安装了某个其他附加组件.目前,我这样做如下:
if (Application.extensions) {
// Gecko 1.9.2 and older
ext = Application.extensions.get(id);
if (ext) {
// TODO check if extension is also enabled
disableExtension(id);
}
} else {
// Gecko 2.0.0 and newer
Application.getExtensions(function(extensions) {
ext = extensions.get(id);
Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAddonByID(id, function(addon) {
if (!addon.userDisabled) {
disableExtension(id); …Run Code Online (Sandbox Code Playgroud)