Android问题集锦
2015-07-17 10:36
411 查看
1. ViewPager+Fragment滑动界面 在按home键的时候,出现java.lang.NullPointerException
07-14 16:10:37.412: D/dalvikvm(13466): Debugger has detached; object registry had 1 entries
07-14 16:12:11.982: D/AndroidRuntime(13466): Shutting down VM
07-14 16:12:11.982: W/dalvikvm(13466): threadid=1: thread exiting with uncaught exception (group=0x41c2ed58)
07-14 16:12:11.982: E/AndroidRuntime(13466): FATAL EXCEPTION: main
07-14 16:12:11.982: E/AndroidRuntime(13466): Process: com.big.music.setting, PID: 13466
07-14 16:12:11.982: E/AndroidRuntime(13466): java.lang.NullPointerException
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:1576)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.support.v4.app.FragmentManagerImpl.saveAllState(FragmentManager.java:1617)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.support.v4.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:481)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.Activity.performSaveInstanceState(Activity.java:1171)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1223)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3167)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3226)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.ActivityThread.access$1100(ActivityThread.java:141)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1229)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.os.Handler.dispatchMessage(Handler.java:102)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.os.Looper.loop(Looper.java:136)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.ActivityThread.main(ActivityThread.java:5047)
07-14 16:12:11.982: E/AndroidRuntime(13466): at java.lang.reflect.Method.invokeNative(Native Method)
07-14 16:12:11.982: E/AndroidRuntime(13466): at java.lang.reflect.Method.invoke(Method.java:515)
07-14 16:12:11.982: E/AndroidRuntime(13466): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-14 16:12:11.982: E/AndroidRuntime(13466): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
07-14 16:12:11.982: E/AndroidRuntime(13466): at dalvik.system.NativeStart.main(Native Method)
07-14 16:12:13.962: I/Process(13466): Sending signal. PID: 13466 SIG: 9
原因:没有设置fragment layout xml的id,导致save的时候出错。
解决办法:在fragment的layout xml 都添加 android id name, 比如 android:id="@+id/fragment1"
2. [转]
问题:连接加密的热点 就可以连接,连接不加密的热点不能连接。addNetwork这个操作总是返回-1
代码如下:这是connect
[java] view
plaincopy
public static boolean Connect(String SSID, String Password, int Type) {
WifiConfiguration wifiConfig = createWifiInfo(SSID, Password, Type);
if (wifiConfig == null) {
Log.v(TAG,"wifiConfig == null");
return false;
}
int netID = settingWifiAdmin.wifiManager.addNetwork(wifiConfig);
Log.v(TAG,"netID = "+netID);//连不加密AP总是返回-1
boolean bRet = settingWifiAdmin.wifiManager.enableNetwork(netID, true);
return bRet;
}
[java] view
plaincopy
/***
* 配置要连接的WIFI热点信息
* @param SSID
* @param password
* @param type 加密类型
* @return
*/
public static WifiConfiguration createWifiInfo(String SSID, String password, int type) {
Log.e(TAG, "SSID = " + SSID + "## Password = " + password + "## Type = " + type);
WifiConfiguration config = new WifiConfiguration();
config.allowedAuthAlgorithms.clear();
config.allowedGroupCiphers.clear();
config.allowedKeyManagement.clear();
config.allowedPairwiseCiphers.clear();
config.allowedProtocols.clear();
config.SSID = """ + SSID + """;
//增加热点时候 如果已经存在SSID 则将SSID先删除以防止重复SSID出现
WifiConfiguration tempConfig = wifiAdmin.IsExsits(SSID);
if (tempConfig != null) {
settingWifiAdmin.wifiManager.removeNetwork(tempConfig.networkId);
}
// 分为三种情况:没有密码 用wep加密 用wpa加密
if (type == SECURITY_NONE) { // WIFICIPHER_NOPASS
config.wepKeys[0] = "";
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
config.wepTxKeyIndex = 0;
} else if (type == SECURITY_WEP) { // WIFICIPHER_WEP
config.hiddenSSID = true;
config.wepKeys[0] = """ + password + """;
config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
config.wepTxKeyIndex = 0;
} else if (type == SECURITY_PSK) { // WIFICIPHER_WPA
config.preSharedKey = """ + password + """;
config.hiddenSSID = true;
config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
config.status = WifiConfiguration.Status.ENABLED;
}
return config;
}
解决办法:
把与wep有关的都注释掉就行了
3.改别人的preferenceActivity 例子时出错,见下面的错误信息:
08-04 14:37:51.287: E/AndroidRuntime(16580): FATAL EXCEPTION: main
08-04 14:37:51.287: E/AndroidRuntime(16580): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.preferenceact/com.example.preferenceact.MusicPreferenceActivity}: android.app.Fragment$InstantiationException: Unable to instantiate
fragment com.example.preferenceact.MainActivity$Prefs2Fragment: make sure class name exists, is public, and has an empty constructor that is public
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2092)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.ActivityThread.access$600(ActivityThread.java:140)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.os.Handler.dispatchMessage(Handler.java:99)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.os.Looper.loop(Looper.java:137)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.ActivityThread.main(ActivityThread.java:4914)
08-04 14:37:51.287: E/AndroidRuntime(16580): at java.lang.reflect.Method.invokeNative(Native Method)
08-04 14:37:51.287: E/AndroidRuntime(16580): at java.lang.reflect.Method.invoke(Method.java:511)
08-04 14:37:51.287: E/AndroidRuntime(16580): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:808)
08-04 14:37:51.287: E/AndroidRuntime(16580): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575)
08-04 14:37:51.287: E/AndroidRuntime(16580): at dalvik.system.NativeStart.main(Native Method)
08-04 14:37:51.287: E/AndroidRuntime(16580): Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment com.example.preferenceact.MainActivity$Prefs2Fragment: make sure class name exists, is public, and has an empty constructor that
is public
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.Fragment.instantiate(Fragment.java:588)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.preference.PreferenceActivity.switchToHeaderInner(PreferenceActivity.java:1174)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.preference.PreferenceActivity.switchToHeader(PreferenceActivity.java:1190)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.preference.PreferenceActivity.onCreate(PreferenceActivity.java:580)
08-04 14:37:51.287: E/AndroidRuntime(16580): at com.example.preferenceact.MusicPreferenceActivity.onCreate(MusicPreferenceActivity.java:18)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.Activity.performCreate(Activity.java:5086)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056)
08-04 14:37:51.287: E/AndroidRuntime(16580): ... 11 more
08-04 14:37:51.287: E/AndroidRuntime(16580): Caused by: java.lang.ClassNotFoundException: com.example.preferenceact.MainActivity$Prefs2Fragment
08-04 14:37:51.287: E/AndroidRuntime(16580): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
08-04 14:37:51.287: E/AndroidRuntime(16580): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
08-04 14:37:51.287: E/AndroidRuntime(16580): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.Fragment.instantiate(Fragment.java:574)
08-04 14:37:51.287: E/AndroidRuntime(16580): ... 18 more
结果:原来是红色部分没有改对。。
。。要改成自己的activity名字,够……
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 指定启动指定PreferenceFragment的列表项 -->
<header android:fragment=
"cn.com.eager.music.PreferenceActivityTest$Prefs1Fragment"
android:icon="@drawable/ic_settings_applications"
android:title="Player设置"
android:summary="设置Player的相关选项" />
</preference-headers>
4.Android
Lib Project与Android Project中R文件的区别
Android Lib Project中生产的R文件内,都不是常量。
Android Project中生产的R文件内,都是常量。
否则会报错:
所以当你的项目中有用到switch的地方,同时条件又用到了 R 中的常量时,将此project转成lib
project的话就会报错。要求你将 switch-case 换成 if-else。
5. 突然遇到eclipse的更年期到了。。。。
,死活不动,,重启无效。。。
神奇的千度,查找一下解法,发现强行关闭进程,然后把.android\ddms.cfg
删除,就神奇复活了。老太婆一下子就回到18岁美少女。
Eclipse在启动时,经常会碰到半天启动不起来的情况,罪魁祸首就是“Android sdk content loader 0%”,题主经常是受这玩意的百般折磨,大早上一来就被这扫了工作的激情,浪费了大把时间。Eclipse初始化不成功就干不了活,所以这事必须得解决。经过自己多次亲身测试,发现没有一种办法的百试百灵的,只有通过以下几种方案来一步一步地解决。
方法一(关闭后重启):
遇到Eclipse右下角一直显示“Android sdk content loader 0%”的情况时,直接关掉Eclipse,有ADB进程在运行时通过进程管理器结束进程,然后重启Eclipse。通过这种方法多数情况下问题会得到解决。
2
方法二(关闭后,拔网线再重启):
如果用最省事的方法一不能解决问题时,拔掉网线后再重启Eclipse看看。有时候也能够得到解决。
3
方法三(删掉.android):
关闭Eclipse,删掉C:\Users\用户名\.android文件夹下的所有内容,再重启Eclipse。
4
方法四(删掉Work Space下的.metadata\.plugins\org.eclipse.core.resources\.projects):
关闭Eclipse,删掉Eclipse WorkSpace下.metadata\.plugins\org.eclipse.core.resources\.projects文件夹下的所有内容,再重启Eclipse。
6.
本来想把get 回来的资料解析一下。。刚好用了换行符号"\t"作为split的字符。。。结果悲剧了,,换行符号好像失踪了一样。查了一天,才发现自己使用了readline(),这个方法会把"\n",……此处省略一万字。。。把这个重新添加进去,就可以了。。Oh yeah!!!
7.用wifi连接AP的时候,发现有时候出现错误导致APP崩溃退出 。错误信息如下:
08-29 14:50:16.969: W/System.err(27733): java.util.concurrent.ExecutionException: org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.168.1 refused
后来打印调试信息,发现连接上AP,并不代表网络就能够使用了。必须等待正确获取到IP才可以。
后来加上检查IP,就是可以正常了。整个DHCP的过程有时候用了4秒。
07-14 16:10:37.412: D/dalvikvm(13466): Debugger has detached; object registry had 1 entries
07-14 16:12:11.982: D/AndroidRuntime(13466): Shutting down VM
07-14 16:12:11.982: W/dalvikvm(13466): threadid=1: thread exiting with uncaught exception (group=0x41c2ed58)
07-14 16:12:11.982: E/AndroidRuntime(13466): FATAL EXCEPTION: main
07-14 16:12:11.982: E/AndroidRuntime(13466): Process: com.big.music.setting, PID: 13466
07-14 16:12:11.982: E/AndroidRuntime(13466): java.lang.NullPointerException
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:1576)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.support.v4.app.FragmentManagerImpl.saveAllState(FragmentManager.java:1617)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.support.v4.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:481)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.Activity.performSaveInstanceState(Activity.java:1171)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1223)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3167)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3226)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.ActivityThread.access$1100(ActivityThread.java:141)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1229)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.os.Handler.dispatchMessage(Handler.java:102)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.os.Looper.loop(Looper.java:136)
07-14 16:12:11.982: E/AndroidRuntime(13466): at android.app.ActivityThread.main(ActivityThread.java:5047)
07-14 16:12:11.982: E/AndroidRuntime(13466): at java.lang.reflect.Method.invokeNative(Native Method)
07-14 16:12:11.982: E/AndroidRuntime(13466): at java.lang.reflect.Method.invoke(Method.java:515)
07-14 16:12:11.982: E/AndroidRuntime(13466): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-14 16:12:11.982: E/AndroidRuntime(13466): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
07-14 16:12:11.982: E/AndroidRuntime(13466): at dalvik.system.NativeStart.main(Native Method)
07-14 16:12:13.962: I/Process(13466): Sending signal. PID: 13466 SIG: 9
原因:没有设置fragment layout xml的id,导致save的时候出错。
解决办法:在fragment的layout xml 都添加 android id name, 比如 android:id="@+id/fragment1"
2. [转]
问题:连接加密的热点 就可以连接,连接不加密的热点不能连接。addNetwork这个操作总是返回-1
代码如下:这是connect
[java] view
plaincopy
public static boolean Connect(String SSID, String Password, int Type) {
WifiConfiguration wifiConfig = createWifiInfo(SSID, Password, Type);
if (wifiConfig == null) {
Log.v(TAG,"wifiConfig == null");
return false;
}
int netID = settingWifiAdmin.wifiManager.addNetwork(wifiConfig);
Log.v(TAG,"netID = "+netID);//连不加密AP总是返回-1
boolean bRet = settingWifiAdmin.wifiManager.enableNetwork(netID, true);
return bRet;
}
[java] view
plaincopy
/***
* 配置要连接的WIFI热点信息
* @param SSID
* @param password
* @param type 加密类型
* @return
*/
public static WifiConfiguration createWifiInfo(String SSID, String password, int type) {
Log.e(TAG, "SSID = " + SSID + "## Password = " + password + "## Type = " + type);
WifiConfiguration config = new WifiConfiguration();
config.allowedAuthAlgorithms.clear();
config.allowedGroupCiphers.clear();
config.allowedKeyManagement.clear();
config.allowedPairwiseCiphers.clear();
config.allowedProtocols.clear();
config.SSID = """ + SSID + """;
//增加热点时候 如果已经存在SSID 则将SSID先删除以防止重复SSID出现
WifiConfiguration tempConfig = wifiAdmin.IsExsits(SSID);
if (tempConfig != null) {
settingWifiAdmin.wifiManager.removeNetwork(tempConfig.networkId);
}
// 分为三种情况:没有密码 用wep加密 用wpa加密
if (type == SECURITY_NONE) { // WIFICIPHER_NOPASS
config.wepKeys[0] = "";
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
config.wepTxKeyIndex = 0;
} else if (type == SECURITY_WEP) { // WIFICIPHER_WEP
config.hiddenSSID = true;
config.wepKeys[0] = """ + password + """;
config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
config.wepTxKeyIndex = 0;
} else if (type == SECURITY_PSK) { // WIFICIPHER_WPA
config.preSharedKey = """ + password + """;
config.hiddenSSID = true;
config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
config.status = WifiConfiguration.Status.ENABLED;
}
return config;
}
解决办法:
if(Type == WifiCipherType.WIFICIPHER_NOPASS)<br style="margin: 0px; padding: 0px; list-style: none;" /> {<br style="margin: 0px; padding: 0px; list-style: none;" /> config.hiddenSSID = true; <br style="margin: 0px; padding: 0px; list-style: none;" />// config.wepKeys[0] = "";<br style="margin: 0px; padding: 0px; list-style: none;" /> config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);<br style="margin: 0px; padding: 0px; list-style: none;" />// config.wepTxKeyIndex = 0;<br style="margin: 0px; padding: 0px; list-style: none;" /> }
把与wep有关的都注释掉就行了
3.改别人的preferenceActivity 例子时出错,见下面的错误信息:
08-04 14:37:51.287: E/AndroidRuntime(16580): FATAL EXCEPTION: main
08-04 14:37:51.287: E/AndroidRuntime(16580): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.preferenceact/com.example.preferenceact.MusicPreferenceActivity}: android.app.Fragment$InstantiationException: Unable to instantiate
fragment com.example.preferenceact.MainActivity$Prefs2Fragment: make sure class name exists, is public, and has an empty constructor that is public
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2092)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.ActivityThread.access$600(ActivityThread.java:140)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.os.Handler.dispatchMessage(Handler.java:99)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.os.Looper.loop(Looper.java:137)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.ActivityThread.main(ActivityThread.java:4914)
08-04 14:37:51.287: E/AndroidRuntime(16580): at java.lang.reflect.Method.invokeNative(Native Method)
08-04 14:37:51.287: E/AndroidRuntime(16580): at java.lang.reflect.Method.invoke(Method.java:511)
08-04 14:37:51.287: E/AndroidRuntime(16580): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:808)
08-04 14:37:51.287: E/AndroidRuntime(16580): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575)
08-04 14:37:51.287: E/AndroidRuntime(16580): at dalvik.system.NativeStart.main(Native Method)
08-04 14:37:51.287: E/AndroidRuntime(16580): Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment com.example.preferenceact.MainActivity$Prefs2Fragment: make sure class name exists, is public, and has an empty constructor that
is public
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.Fragment.instantiate(Fragment.java:588)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.preference.PreferenceActivity.switchToHeaderInner(PreferenceActivity.java:1174)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.preference.PreferenceActivity.switchToHeader(PreferenceActivity.java:1190)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.preference.PreferenceActivity.onCreate(PreferenceActivity.java:580)
08-04 14:37:51.287: E/AndroidRuntime(16580): at com.example.preferenceact.MusicPreferenceActivity.onCreate(MusicPreferenceActivity.java:18)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.Activity.performCreate(Activity.java:5086)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056)
08-04 14:37:51.287: E/AndroidRuntime(16580): ... 11 more
08-04 14:37:51.287: E/AndroidRuntime(16580): Caused by: java.lang.ClassNotFoundException: com.example.preferenceact.MainActivity$Prefs2Fragment
08-04 14:37:51.287: E/AndroidRuntime(16580): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
08-04 14:37:51.287: E/AndroidRuntime(16580): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
08-04 14:37:51.287: E/AndroidRuntime(16580): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
08-04 14:37:51.287: E/AndroidRuntime(16580): at android.app.Fragment.instantiate(Fragment.java:574)
08-04 14:37:51.287: E/AndroidRuntime(16580): ... 18 more
结果:原来是红色部分没有改对。。
。。要改成自己的activity名字,够……
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 指定启动指定PreferenceFragment的列表项 -->
<header android:fragment=
"cn.com.eager.music.PreferenceActivityTest$Prefs1Fragment"
android:icon="@drawable/ic_settings_applications"
android:title="Player设置"
android:summary="设置Player的相关选项" />
</preference-headers>
4.Android
Lib Project与Android Project中R文件的区别
Android Lib Project中生产的R文件内,都不是常量。
Android Project中生产的R文件内,都是常量。
否则会报错:
As of ADT 14, resource fields cannot be used as switch cases. Invoke this fix to get more informat
所以当你的项目中有用到switch的地方,同时条件又用到了 R 中的常量时,将此project转成libproject的话就会报错。要求你将 switch-case 换成 if-else。
5. 突然遇到eclipse的更年期到了。。。。
,死活不动,,重启无效。。。
神奇的千度,查找一下解法,发现强行关闭进程,然后把.android\ddms.cfg
删除,就神奇复活了。老太婆一下子就回到18岁美少女。
Android sdk content loader 0%的解决方案(转)
Eclipse在启动时,经常会碰到半天启动不起来的情况,罪魁祸首就是“Android sdk content loader 0%”,题主经常是受这玩意的百般折磨,大早上一来就被这扫了工作的激情,浪费了大把时间。Eclipse初始化不成功就干不了活,所以这事必须得解决。经过自己多次亲身测试,发现没有一种办法的百试百灵的,只有通过以下几种方案来一步一步地解决。
方法/步骤
方法一(关闭后重启):遇到Eclipse右下角一直显示“Android sdk content loader 0%”的情况时,直接关掉Eclipse,有ADB进程在运行时通过进程管理器结束进程,然后重启Eclipse。通过这种方法多数情况下问题会得到解决。
2
方法二(关闭后,拔网线再重启):
如果用最省事的方法一不能解决问题时,拔掉网线后再重启Eclipse看看。有时候也能够得到解决。
3
方法三(删掉.android):
关闭Eclipse,删掉C:\Users\用户名\.android文件夹下的所有内容,再重启Eclipse。
4
方法四(删掉Work Space下的.metadata\.plugins\org.eclipse.core.resources\.projects):
关闭Eclipse,删掉Eclipse WorkSpace下.metadata\.plugins\org.eclipse.core.resources\.projects文件夹下的所有内容,再重启Eclipse。
6.
本来想把get 回来的资料解析一下。。刚好用了换行符号"\t"作为split的字符。。。结果悲剧了,,换行符号好像失踪了一样。查了一天,才发现自己使用了readline(),这个方法会把"\n",……此处省略一万字。。。把这个重新添加进去,就可以了。。Oh yeah!!!
<strong> HttpEntity entity = httpResponse.getEntity(); if (entity != null) { // 读取服务器响应 BufferedReader br = new BufferedReader( new InputStreamReader(entity.getContent())); String line = null; StringBuffer strBuf=new StringBuffer(); while ((line = br.readLine()) != null) { strBuf.append(line); </strong><span style="background-color: rgb(255, 0, 0);"><strong>strBuf.append("\n");</strong></span><strong> } line=strBuf.toString(); return line; }</strong>
7.用wifi连接AP的时候,发现有时候出现错误导致APP崩溃退出 。错误信息如下:
08-29 14:50:16.969: W/System.err(27733): java.util.concurrent.ExecutionException: org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.168.1 refused
后来打印调试信息,发现连接上AP,并不代表网络就能够使用了。必须等待正确获取到IP才可以。
后来加上检查IP,就是可以正常了。整个DHCP的过程有时候用了4秒。
相关文章推荐
- Android ViewDragHelper完全解析 自定义ViewGroup神器
- Android onTouch事件与手势操作
- Android中listView分组显示内容和下拉刷新
- android 获取屏幕宽高 & 控件宽高
- Android4.4 Launcher3分析之IconCache
- Android运行时ART简要介绍和学习计划
- Android应用如何监听自己是否被卸载及卸载反馈功能的实现(第二版)
- Android应用资源系列之属性(Attribute)资源
- Android报错记录2
- Android APK 手动命令编译、打包、签名步骤
- android 自定义控件 总结
- Android应用如何监听自己是否被卸载及卸载反馈功能的实现
- Android时间戳和日期字符串互换
- android组件Service控制后台音乐播放
- TabActivity通过Intent向Child Activity传值
- Android 对话框
- Android中的长度单位详解(dp、sp、px、in、pt、mm)
- 类似IOS的滑动返回上一级,SwipeBackLayout-android的滑动返回类库
- android 中 系统日期时间的获取
- 【Android Studio快捷键】之导入相应包声明(import packages)