在Android项目上工作时应注意哪些常见错误?
这些可以是
最佳答案
我会列出一些我总是会遇到的错误。
Article - Top 10 Java Errors
(例如:当我尝试使用在xml布局中声明为相对布局的线性布局时)。
检查这个link
(互联网,访问联系人,gps,wifi状态,写入SDCard等)。
当使用可用平台资源无法满足对内存的请求时,使用
this will block UI Thread so user can not do any work. to avoid ANR read this & this
这是我在创建Android Project时主要获得的东西。
试着抓
在程序的所有位置中阻止。 不要保留您的catch块为空,因为这可以隐藏错误:
是的:
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使用正确的命名转换。*
我从网上读取one article,它包含一些错误,现在我要补充说,如果它具有冗余,请原谅。
问题:
我以前很好的RelativeLayout正在制作一个丑陋的堆或某些元素不再可见...发生了什么???我只是在其中移动了一个元素...
解决方案 :
永远不要忘记,在RelativeLayout中,元素是相对于其相邻元素进行引用和放置的。元素之间的关系层次结构中可能存在问题。尝试在Eclipse中打开大纲 View ,然后单击每个元素以查看破裂的位置。
问题:
循环依赖关系不能存在于RelativeLayout中
解决方案 :
您可能以两种不同的方式编写了相同的依赖项。例如,一个ImageView作为TextView的android:layout_toRightOf属性,而TextView具有ImageView的android:layout_toLeftOf。只需要其中之一
问题:
我为其中一个 View /布局编写了一种样式,但是当我在xml中应用样式时,在Eclipse的布局查看器中没有显示
解决方案 :
不幸的是,这似乎是android ADT的错误,我报告了它,但到目前为止没有任何消息。无论如何,没有任何 panic 的样式运作良好,但是在Eclipse中无法正确显示。只需构建该应用程序,然后在模拟器或电话上启动它,您就会看到一切正常。
问题:
吐司书写正确,但不显示任何内容
解决方案 :
这是一个常见的使用错误:只需添加.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字段,然后将输入类型更改为所需的类型即可。
问题:
我无法使上下文菜单出现在模拟器中
解决方案 :
在模拟器上长按一下似乎并不会在每种 View 上注册,您必须按4个方向箭头中心的按钮
问题:
我正在关注有关 map 路线的教程,但无法正常运行,android找不到包
解决方案 :
您可能一直在关注针对1.5 SDK编写的教程。目前,有一个可在android中显示路由的软件包,但已在下一个SDK中将其删除,并且不再可用。只是不可能了。 KML文件似乎有一个窍门,但没有官方规定
问题:
将坐标发送到仿真器会给出错误的位置
解决方案 :
确保您编写的坐标类似于51.16548,而不是51,16548或5116548
问题:
只有创建 View 层次结构的原始线程才能触摸其 View 。
解决方案 :
您必须尝试从UI线程以外的其他线程更新 View 内容。修补此问题的2个选项:在您的UI线程中创建一个处理程序,然后将您的Runnable发布到此处理程序,或使用方法runOnUIThread来运行进行更新的代码行
问题:
访问本地主机127.0.0.1不起作用
解决方案 :
它有效,您只是没有以正确的方式进行操作:请使用10.0.2.2
关于java - 编写Android项目时的常见错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5441049/