这个问题是关于试图找到一个科学或统计上可辩护的选择超时的理由.我的意思是每个应用都必须这样做,但最佳超时是多少?我们需要更多人回答或评论.+ 3,+ 4并不意味着问题已经解决.一个重要问题值得更多答案.我们都可以从这些知识中受益.
基本上试图比较:
a short timeout of say 20 seconds, but two connection attempts are made
Run Code Online (Sandbox Code Playgroud)
VS
one long connection attempt of say 40 or 60 seconds.
Run Code Online (Sandbox Code Playgroud)
哪个最有可能建立连接?我们需要一些事实.到目前为止,我得到的数字遍布10s,42,60s.但什么是最佳的?
当然,在5-10秒之后,用户应该以任何方式被告知问题,但是最好的方法是建立连接.
注意:我知道有很多因素,但作为应用程序开发人员,我们不能总是获得检查wifi信号情况等的许可.仍然必须有一些理性的答案,平均最好的.
我需要从我的proguard.trace文件中删除行,如E/AndroidRuntime(10237):以便回溯起作用.基本上我正在查看日志文件,需要删除此行或回溯不起作用.我错过了什么或者我是否需要为每个堆栈跟踪执行此操作?基本上它之前的信息出现在stacktrace行的开头就像
E/AndroidRuntime(10237): at com.test.a.b.c(UnnownSource) :134
Run Code Online (Sandbox Code Playgroud)
这是整个堆栈跟踪:
E/AndroidRuntime(10237): FATAL EXCEPTION: main
E/AndroidRuntime(10237): java.lang.ArithmeticException: divide by zero
E/AndroidRuntime(10237): at ub.a(SourceFile:180)
E/AndroidRuntime(10237): at wp.getView(SourceFile:290)
E/AndroidRuntime(10237): at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(10237): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(10237): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(10237): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
E/AndroidRuntime(10237): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
E/AndroidRuntime(10237): at dalvik.system.NativeStart.main(Native Method)
etc
E/ ( 2623): Dumpstate > /data/log/dumpstate_app_error
Run Code Online (Sandbox Code Playgroud)
所以我正在运行./retrace.sh mapping.txt proguard.retrace,其内容在上面.除非我删除E/AndroidRuntime(10237)否则它不会回溯:我错过了一些回溯选项.如何为此工作准备跟踪文件?我不认为它的映射文件,因为它删除行的第一部分后它工作.
对于特定的CheckBox,如何将Android复选框的默认颜色从绿色复选标记更改为蓝色?
我有三页,并将页面限制设置为3.
mViewPager.setOffscreenPageLimit(3);
Run Code Online (Sandbox Code Playgroud)
这有什么实际效果?它是否会提高性能还是会导致内存消耗问题?
我可以找到getX(),getY()都返回一个浮点数.但是,如何检测TouchEvent e.get(),e.getY()的坐标是否在EditText UI元素的边界内?我注意到getX()和getY()是浮点数,但getHeight()和getWidth()都是int.不会帮助比较......
我在屏幕上有一个代表图标的小型Android ImageButton.问题是难以触摸和激活.我不想增加图像本身的大小,但我想扩展可点击区域并使其更大,因此如果用户足够接近图像,它将激活onClick事件.如果不为周围的屏幕区域实现onTouch事件,如何才能做到这一点?
我正在收到崩溃报告
android.widget.ListView lv; lv.removeFooterView(v)
Run Code Online (Sandbox Code Playgroud)
错误是空指针异常.我检查listView本身不是null.是什么导致这个?是否有必要确保要删除的视图不为空?这还不够,还是我首先需要检查是否实际添加了页脚视图?
java.lang.NullPointerException
at android.widget.ListView.removeFooterView(ListView.java:374)
Run Code Online (Sandbox Code Playgroud)
在我看来,这种方法应该足够强大,不会崩溃!如果不能删除视图,为什么不返回false?
PS.我想知道是否有其他人见过这个?
问题:真的很大且复杂的Activity类.难以阅读/理解和修改.很难测试.
可能的解决方案:Model-View-Presenter(可能具有依赖注入).和模拟测试对象!
我打算在我的Android应用程序中实现Model-View-Presenter.这基本上是模型 - 视图 - 控制器的变体.实质上,使Activity成为一个美化的布局管理器,并将任何业务逻辑推迟到Presenter.另一种查看Presenter的方法是,它就像一个在Activity中实例化的Helper类,通过提供Presenter可以使用的接口/回调的活动来完成繁重的工作.
我想得到一些社区的想法.例如:这隐含了哪些接口?
Model和View与Presenter有什么责任.
对于Presenter,我想Activity会实现Presenter所需的接口吗?
Presenter vs. Activity应该包含哪些内容?
演示者是否与活动一对一?那么一个Activity有多个片段显示不同的小部件,每个小部件都有自己的适配器?我们现在需要多个演示者还是只有一个?
Presenter与适配器怎么样?
演示者应如何与ListView和ListViewAdapter说一个Activity?什么进入Presenter与适配器?
Presenter应该选择要使用的适配器吗?或者活动应该做出这个决定?Presenter应该处理模型数据还是适配器?适配器和演示者之间是否存在冲突?适配器是主持人吗?或更少/更多的东西.通常,适配器仅适用于活动中的ListViews等小部件.我认为他们不会调用获取数据的调用.
因此,在模型 - 视图 - 演示者中,关键是确定演示者与其他类的内容以及演示者与活动,适配器和视图/包括片段之间的通信.
Model-View-Presenter对Android来说真是个坏主意吗?或者它是否适合Android框架?
请记住,Android之外有很多非常成熟的SDK仍然需要像MVP这样的微架构.事实上,例子比比皆是:例如.Flex是非常成熟的Flash SDK,但它仍然需要几乎所有主要应用程序的MVP和MVC框架.
EJB需要Spring来简化和组织它.MFC/Struts等和列表一直在继续.为什么Android会有所不同?为什么我们应该假设SDK在没有像MVP这样的设计模式的情况下拥有Android所需的一切?
很高兴知道我花了数百个小时之前,请随时评论/回答这个问题的任何部分.
我有兴趣使用cocos2d-x进行Android和iOS开发,但不确定它是否准备好迎接黄金时段?cocos2d-x与android上的libgdx相比如何?看起来他们可能会花更多时间在文档上,而功能更新现在很慢.另一方面,LibGDX似乎有问题...我认为Cocos2d-x在iOS和Android上运行更理想.一个主要的C++ +.
使用Cocos2d-x开发的应用程序在哪里?