由于Android上的Scala问题,我最近需要在Android上推出ProGuard.我需要ProGuard的缩小功能,它可以删除假定未使用的类.我非常关心删除类对可测试性的影响.
就目前而言,我编写了在主机上运行的单元测试和在Android平台上运行完全集成的应用程序的验收测试.
通常情况下,我会对相对完整的单元测试覆盖率和不稳定的验收测试覆盖率感到满意.但是,鉴于在我的代码中我大量使用Guice依赖注入,到目前为止,我的经验是ProGuard以一种我难以预测的方式删除代码.因此,它很可能会导致我引入错误.
这让我相信我需要编写完全覆盖的接受/平台测试,因为在任何时候,都可能缺少类.
其他人有这种经历吗?如果是这样,您的测试策略是什么?或者凭借经验,您是否更加确信ProGuard正在删除的课程真的不需要?
我希望能够改变OnItemClickListener的ListView动态.但是,API不清楚这是否可以接受,也不清楚如果我这样做会产生什么结果.
我想要的是,如果我listView.setOnItemClickListener()从一个类调用,然后再从另一个类调用,那么只有最近的类才能获得回调.
顺便提一下这个问题也适用于SetOnClickListener().
可以实现API以这种方式运行,但是可以实现它以便所有调用的类setOnItemClickListener获得回调.
Android API实际实现了哪些行为?
android listview onitemclicklistener android-view onclicklistener
究竟什么时候被Activity注释@InjectView或@InjectResource注入的字段?
我想为每个字段编写一次Javadoc注释,并在getter和setter方法中访问exiting字段的Javadoc.
我知道有{@inheritDoc}用于引用父方法文档的标记,但我想要包含字段的文档,当然这不是父方法.
是否有可能与Javadoc"不重复自己"?
我希望能够为我的应用程序制作一个有时间限制的试用版,但我不确定如何可靠地确定用户是否在到期日后尝试重新安装该应用程序.
我可能会将初始安装日期存储在卸载时不会被删除的存储位置,但这似乎不是一种理想的方法.Google Play的应用程序许可是否支持此功能,还是有其他可接受的方法来实现此功能?
我有一个AsyncTask不确定的ProgressBar,通常很快就会执行,但偶尔会很慢.当没有可辨别的等待时,进度条快速闪烁是不可取的并且分散注意力.
有没有办法延迟显示进度条而不创建另一个嵌套AsyncTask?
在向我的将在运行时动态填充的布局添加TextViews和ImageViews时,我经常添加占位符文本和图像,以便我可以预览真实的布局。布局编辑器是否可以为我执行此操作,而无需我在应用程序中自动明确包含这些字符串和图像?
Javadoc for Environment.getExternalStoragePublicDirectory()中的示例提到Context.getExternalMediaDir()但是此方法在我的Android API版本中不可用,我无法在任何版本的任何位置找到它.这是一个错字还是从未发布过的东西?
void createExternalStoragePublicPicture() {
// Create a path where we will place our picture in the user's
// public pictures directory. Note that you should be careful about
// what you place here, since the user often manages these files. For
// pictures and other media owned by the application, consider
// Context.getExternalMediaDir().
File path = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
Run Code Online (Sandbox Code Playgroud) 我想编写在模拟器上运行的自动化测试,以验证当网络连接自发断开时我的应用程序行为是否正确。为此,我想编写如下测试:
我已经看到了各种 stackoverflow 答案,这些答案通过建议通过命令行手动禁用主机 PC 的网络连接来解决这个问题。这不能通过仿真器上运行的测试来自动化,因为仿真器无法访问其主机 PC。并且在主机 PC shell 脚本中运行命令将很难尝试与模拟器测试自动同步。
或者,我看到了建议操纵模拟器网络设置的答案,这显然实际上并没有禁用访问,它们只会导致显式连接检查,例如networkInfo.isConnected()报告断开连接状态。它们仍然允许双向通信。(例如,当禁用模拟器网络访问时,浏览器仍然可以正常运行。)
有没有人能够构建在模拟器上运行的自动化测试,并在测试中根据需要实际打开和关闭网络访问?
至少在Windows 7上,标题栏颜色可能已更改为蓝色.但是,标题栏图标仅设计用于浅灰色条,而不是使用Alpha透明度进行抗锯齿.请注意绿色圆圈"运行"图标边缘周围的白色高光.

这些图标看起来很可怕,就像我们在1995年一样.它是如何出现在其他Windows 7用户的安装上的?我注意到有主题,而我能找到的最接近的东西就是橄榄主题.我在外观/颜色和字体首选项中找不到工具栏颜色.有没有办法将标题栏恢复为旧颜色或用正确设计的图标替换图标?
与此同时,我为此提交了一个Eclipse bug.
android ×7
android-view ×2
adt ×1
alpha ×1
android-lvl ×1
antialiasing ×1
dry ×1
eclipse ×1
icons ×1
image ×1
javadoc ×1
listview ×1
lorem-ipsum ×1
media ×1
placeholder ×1
progress-bar ×1
proguard ×1
roboguice ×1
robotium ×1
scala ×1
testing ×1
unit-testing ×1