专业的android app开发人员经常会遇到一些错误,下面就一些错误告诉大家一些解决的办法希望对大家能有所帮助。
1、无法使用网络 :permission denied(maybe missing internet permission)
在androidmainifest.xml中增加允许使用网络选项(在结束标签之后>):
2、找不到activity类: android.content.activitynotfoundexception: unable to find explicit activity class {xxxx}
在androidmainifest.xml中增加activity的申明,如:
< activity android:name = ".xxxactivity">
3、为什么我找不到 startsubactivity 方法?
现在,请使用 startactivityforresult 方法来代替旧的startsubactivity方法。
4、无法加载xml中的view,报 java.lang.nullpointerexception 异常
忘记加载activity的layout文件:
setcontentview(r.layout.main);
5、unparsed aapt error(s)! check the console for output
但是你的控制台上找不到错误或者 看不懂错误的时候,点 project--------->clean ..就会没问题
6、requestcode和resultcode的区别
在使用startactivityforresult()和onactivityresult()时,会分别用到requestcode和resultcode,有时候极容易将2个参数混淆起来。
requestcode 和 resultcode 混淆说明错的。 startactivityforresult(intent intent, int requestcode ) intent 传给b的,不解释,看不懂你还是玩玩手机算了,别想开发的事情了 requestcode >=0就好,随便用于在onactivityresult()区别哪个子模块回传的数据,如果还有c.java ,d甚至e子模块的话,每个区分开不同的requestcode就好。 setresut(int resultcode , intent intent) resultcode 如果b子模块可能有几种不同的结果返回,可以用这个参数予以识别区分。这里还有个特殊的 result_ok 值,没有特殊情况用它就好了,sdk有说明的,呵。 intent 继续不解释,传回给a的onactivityresult() onactivityresult(int requestcode, int resultcode, intent intent) 这里三个都不用解释了,与上文对应的东西。如果不对requestcode和resultcode 加以识别区分的话,只要有其他activity setresult到了a onactivityresult()会无差别处理。
7、无法下载文件到sd卡中
在manifest文件中加上:< uses-permission android:name = "android.permission.write_external_storage" />
、让控件在父容器中居中:
android:layout_gravity= "center_vertical"
9、控件两端对齐:
如下代码让 位于同一行的两个控件分别左对齐和右对齐:
< relativelayout
xmlns:android = "@://schemas.android.c@/apk/res/android"
android:background= "@drawable/top"
android:layout_width= "fill_parent"
android:layout_height= "wrap_content"
>< imageview
android:id = "@+file_browser/imgrefresh"
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
android:layout_marginleft= "10px"
android:src = "@drawable/refresh"
android:layout_centervertical= "true"
>
< imageview
android:id = "@+file_browser/imgcheck"
android:layout_alignparentright= "true"
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
android:layout_marginright= "10px"
android:src = "@drawable/close"
android:layout_centervertical= "true"
>
10、android软键盘 把控件 往上挤的解决办法:
键盘区域外才是屏幕的边缘,定义布局文件时使用:android:gravity="bottom"的话就会被挤到上部!
解决办法:
在此工程的androidmainfest.xml文件中对应的activity中写入 android:windowsoftinputmode="adjustpan"
或者在配置文件中把布局文件的大小写死!
11、在布局中使用scrollview:
把原来的布局用
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="none">括起来即可实现视图的滚动