在Android项目上工作时应注意哪些常见错误?
这些可以是
我将列出一些错误,我总是会遇到。
文章-十大Java错误
NullPointer错误
ClassCast异常
StackOverflowError
ActivityNotFoundException :无法找到明确的活动类异常
Android securityException
OutofMemoryError
应用程序无响应(ANR)
这将阻止UI线程,因此用户无法执行任何工作。为了避免 ANR 阅读与此
这是我在创建Android Project时主要获得的东西。
是:
try{ // try something } catch (Exception e) { Log.e("TAG", "Exception in try catch", e); return false; } return true;
没有:
try{ // try something } catch (Exception e) { return false; } return true;
对布局中的所有变量和ID 使用正确的 命名转换 。*
我从网上读了一篇文章,其中包含一些错误,现在我要补充说,如果它有冗余,请原谅。
问题 :我以前不错的RelativeLayout正在制作一个丑陋的堆,或者某些元素不再可见…这是怎么回事?我只是在其中移动了一个元素…解决方案:永远不要忘记,在RelativeLayout中,元素是相对于其邻居进行引用和放置的。元素之间的关系层次结构中可能存在问题。尝试在Eclipse中打开大纲视图,然后单击每个元素以查看破裂的位置。
问题 :RelativeLayout中不存在循环依赖项解决方案:您可能已经以两种不同的方式编写了相同的依赖项。例如,一个ImageView作为TextView的android:layout_toRightOf属性,而TextView具有android:layout_toLeftOf该ImageView。只需要其中之一
问题 :我为我的一个视图/布局编写了一种样式,但是当我在xml中应用它时,我在Eclipse的布局查看器中没有显示解决方案:不幸的是,这似乎是android ADT的错误它,但到目前为止没有消息。无论如何,没有恐慌的样式可以很好地工作,但是在Eclipse中无法正确显示它们。只需构建该应用程序,然后在模拟器或电话上启动它,您就会看到一切正常。
问题 :Toast编写正确,但未显示任何解决方案:这是一个常见的使用错误:只需添加.show()方法以显示Toast并查看其是否工作正常
问题 :我试图显示来自strings.xml的字符串,但是我只有一个数字,如0x7f060001解决方案:这不是错误,由于Android处理资源的方式只是显示。当您要检索资源时,必须使用诸如getString(R.id.something),getDrawable之类的方法,否则,您只需要显示用R类编写的引用即可。
问题 :代码中的某些更改对应用程序没有任何影响解决方案:有2个选项,要么您忘记了Toast的.show()之类的东西,要么模拟器未正确更新您的应用程序。在这种情况下,您必须在Eclipse中的模拟器的启动配置中选中“擦除用户数据”选项。
问题 :如何在我的桌子上显示边框?解决方案:在android中没有直接的方法,您必须使用一个技巧:http : //www.droidnova.com/display-borders-in- tablelayout,112.html
问题 :模拟器正在用日语编写,而无需更改任何参数解决方案:有时会发生这种情况,很容易解决,只需长按任意EditText字段,然后将输入类型更改为所需
问题 :我无法在仿真器中显示上下文菜单解决方案:长时间单击仿真器似乎并不能在每种视图上注册,您必须按4个方向箭头中心的按钮
问题 :我正在关注有关地图路线的教程,但无法正常工作,android找不到包解决方案:您可能一直在关注为1.5 SDK编写的教程。目前,有一个程序包可在android中显示路由,但已在下一个SDK中将其删除,并且不再可用。只是不可能了。KML文件似乎有一个窍门,但没有官方规定
问题 :将坐标发送到仿真器会给出错误的位置解决方案:确保您编写的坐标类似于51.16548,而不是51,16548或5116548
问题 :只有创建视图层次结构的原始线程才能触摸其视图。解决方案:您必须尝试从UI线程以外的其他线程更新视图内容。修补此问题的2个选项:在您的UI线程中创建一个处理程序,然后将您的Runnable发布到此处理程序,或使用方法runOnUIThread来运行进行更新的代码行
问题 :访问localhost 127.0.0.1不起作用解决方案:它起作用,您只是没有以正确的方式使用:使用10.0.2.2