中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

android問題,android問題總結(jié)

Android 5.0耗電快怎么辦 Android 5.0常見使用問題解決辦法

若使用的是vivo手機,Android系統(tǒng)是多個功能和服務(wù)的集合體,比如權(quán)限管理、藍牙設(shè)置、電話服務(wù)、指紋與密碼等常用功能有關(guān)的耗電會被計入Android系統(tǒng),如果第三方軟件使用到這些功能,電量也會被計入Android系統(tǒng),所以我們看到Android系統(tǒng)程序耗電較高,實際和第三方軟件的使用情況有關(guān),您可以使用“一鍵加速”清理后臺不必要的程序,適當(dāng)調(diào)低屏幕亮度和音量;另外進入設(shè)置--電池,根據(jù)手機電量情況選擇合適的省電模式,延長手機續(xù)航時間。

創(chuàng)新互聯(lián)公司擁有一支富有激情的企業(yè)網(wǎng)站制作團隊,在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕十年,專業(yè)且經(jīng)驗豐富。十年網(wǎng)站優(yōu)化營銷經(jīng)驗,我們已為上千中小企業(yè)提供了成都做網(wǎng)站、成都網(wǎng)站制作解決方案,按需網(wǎng)站制作,設(shè)計滿意,售后服務(wù)無憂。所有客戶皆提供一年免費網(wǎng)站維護!

Android開發(fā)常見異常與錯誤系列(一)

一、前言

這系列文章是自己在平時開發(fā)過程中遇到的問題。之前只是記在云筆記上面,現(xiàn)在整理一下,發(fā)出來共享。

ps:像那些什么沒有注冊Activity呀,權(quán)限呀等最基本的就不再贅述。

二、ADB連接異常

有時我們發(fā)現(xiàn),即使自己從任務(wù)管理器里面把adb.exe給干掉了,但還是不行,這時,你就可以嘗試以下操作:

[2014-07-30 17:09:11 - QtActivity] The connection to adb is down, and a severe error has occured.

[2014-07-30 17:09:11 - QtActivity] You must restart adb and Eclipse.

[2014-07-30 17:09:11 - QtActivity] Please ensure that adb is correctly located at ‘D:\InstallFile\AndroidDevelop\ADT\sdk\platform-tools\adb.exe’ and can be executed.

adb起動失?。?/p>

1,殺掉其它的adb.exe看,如果不行,

2,看sdk\tools路徑下面有沒有

hprof-conv.exe

如果有,則把它復(fù)制到sdk\platform_tools下

3,如果沒有,剛看sdk\platform_tools下有沒有

hprof-conv.exe

如果有,剛復(fù)制到tools下。

4,如果兩者都沒有,剛下一個

hprof-conv.exe

三、java.lang.IllegalStateException: Activity has been destroyed

這個異常在切換Fragment中比較容易出現(xiàn),稍不注意就會出現(xiàn)如下異常:

FATAL EXCEPTION: main12-0909:20:14.689: E/AndroidRuntime(31223): java.lang.IllegalStateException: Activity has been destroyed12-0909:20:14.689: E/AndroidRuntime(31223): at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1365)12-0909:20:14.689: E/AndroidRuntime(31223): at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)12-0909:20:14.689: E/AndroidRuntime(31223): at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574)12-0909:20:14.689: E/AndroidRuntime(31223): at cn.com.topsky.community.tfd.DongTaiFragment.init(DongTaiFragment.java:209)12-0909:20:14.689: E/AndroidRuntime(31223): at cn.com.topsky.community.tfd.DongTaiFragment.onCreateView(DongTaiFragment.java:68)12-0909:20:14.689: E/AndroidRuntime(31223): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500)12-0909:20:14.689: E/AndroidRuntime(31223): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)12-0909:20:14.689: E/AndroidRuntime(31223): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)12-0909:20:14.689: E/AndroidRuntime(31223): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)12-0909:20:14.689: E/AndroidRuntime(31223): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)12-0909:20:14.689: E/AndroidRuntime(31223): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)12-0909:20:14.689: E/AndroidRuntime(31223): at android.os.Handler.handleCallback(Handler.java:605)12-0909:20:14.689: E/AndroidRuntime(31223): at android.os.Handler.dispatchMessage(Handler.java:92)12-0909:20:14.689: E/AndroidRuntime(31223): at android.os.Looper.loop(Looper.java:154)12-0909:20:14.689: E/AndroidRuntime(31223): at android.app.ActivityThread.main(ActivityThread.java:4624)12-0909:20:14.689: E/AndroidRuntime(31223): at java.lang.reflect.Method.invokeNative(Native Method)12-0909:20:14.689: E/AndroidRuntime(31223): at java.lang.reflect.Method.invoke(Method.java:511)12-0909:20:14.689: E/AndroidRuntime(31223): atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)12-0909:20:14.689: E/AndroidRuntime(31223): atcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)12-0909:20:14.689: E/AndroidRuntime(31223): at dalvik.system.NativeStart.main(Native Method)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

經(jīng)查,說這個是當(dāng)前android-support-v4版本的一個bug,因為在當(dāng)fragment進行到detached狀態(tài)時,它會重置它的內(nèi)部狀態(tài)。

然而,它并沒有重置mChildFragmentManager.這導(dǎo)致在Fragment重新attach時,它(fragment)沒有重新attachm childFragmentManager,從而引發(fā)了上面的異常.

解決方案:

在每個調(diào)用getChildFragmentManager()的fragment中復(fù)寫onDetach()方法:

@OverridepublicvoidonDetach() {super.onDetach();try{Field childFragmentManager = Fragment.class.getDeclaredField("mChildFragmentManager");childFragmentManager.setAccessible(true);childFragmentManager.set(this,null);}catch(NoSuchFieldException e) {thrownewRuntimeException(e);}catch(IllegalAccessException e) {thrownewRuntimeException(e);}}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

四、java.lang.IllegalArgumentException: Illegal character in query at index

這個異常,在我們拼接請求參數(shù)時,可能會碰到,原因是里面的特殊字符轉(zhuǎn)換異常。解決辦法如下:

url轉(zhuǎn)換問題

String url = baseUrl + “?” + “name=” + name + “age=” + age;

url = url.replaceAll(“”, “%26”);

url = url.replaceAll(” “, “%20”);

解釋如下:

特殊符號替換符號

?%3F

%26

|%124

=%3D

#%23

/%2F

+%2B

%%25

空格%20

五、eclipse連接小米2S調(diào)試程序的問題

雖然快2年沒用過eclipse了,但這個問題還是貼出來,也許正好有正在用eclipse的同學(xué)遇到了此問題:

小米Mi2S連接到eclipse上無法識別。即使開啟了調(diào)試模式,也無法識別.終于找到了一個可用的方法。

方法

用數(shù)據(jù)線連接手機和電腦。

打開手機撥號界面。

在撥號界面按 # #717717# # 自動就開啟了。

在通知欄會出現(xiàn)一個 Diag USB port enable。

當(dāng)然,應(yīng)該是需要ROOT權(quán)限的。

這時候你的PC機會彈出安裝設(shè)備驅(qū)動。

如果不成功,多插拔幾次試試。

ok!安裝完就搞定了!這時候打開eclipse就會在Driver里面看到你的手機了。

注意事項

在PC機上安裝新硬件向?qū)r候可能會遭遇到缺少dll文件,比如我就遇到缺少了WinUSBCoInstaller2.dll,這個問題。這時候就要去網(wǎng)上找找嘍。這個東西分x64 和 x86的,注意不要搞錯了!

如果先打開eclipse,再安裝的話,可能導(dǎo)致eclipse掛掉,不明原因,可能是我機器配置不行。兩次均有這種狀況。所以建議先安裝后再開eclipse。

android開發(fā)中經(jīng)常碰到哪些問題

【錯誤信息】

[2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requirement!

[2011-01-19 16:39:10 - ApiDemos] Device API version is 8 (Android 2.2)

原因:

不影響正常運行。在AndroidManifest.xml文件中沒有加API的版本號,在manifest

/manifest 之間加uses-sdk

android:minSdkVersion="3"/uses-sdk

[2011-01-19 16:55:04 - ApiDemos] Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

[2011-01-19 16:55:04 - ApiDemos] Please check logcat output for more details.

[2011-01-19 16:55:05 - ApiDemos] Launch canceled!

該設(shè)備沒有足夠的存儲空間來安裝應(yīng)用程序,

【錯誤信息】

[2011-02-18 11:46:53] Failed to push selection: Is a directory

原因:

原先目錄已經(jīng)有pkg_3.apk的文件夾,再copy一個pkg_3.apk安裝文件時出現(xiàn)問題,解決辦法,先刪除掉pkg_3.apk的文件夾

[2011-03-04 09:25:12 - ActivityMain]: Dx

UNEXPECTED TOP-LEVEL EXCEPTION:

java.lang.IllegalArgumentException: already added: Lorg1/apache/commons/codec/net/RFC1522Codec;

[2011-03-04 09:25:12 - ActivityMain]: Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)

[2011-03-04 09:25:12 - ActivityMain]: Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:143)

.....

[2011-03-04 09:25:12 - ActivityMain]: Dx1 error; aborting

[2011-03-04 09:25:12 - ActivityMain] Conversion to Dalvik format failed with error 1

原因:

【錯誤信息】

啟動Eclipse時出現(xiàn):

this android sdk requires android developer toolkit version 10.0.0 or above.

current version is 8.0.1.v201012062107-82219.

please update adt to the latest version

原因:

Eclipse的android開發(fā)插件版本過低,應(yīng)該下載ADT-10.0.0,并且

1. 啟動 Eclipse, 然后進入 Help Install New Software.

2. 在 Available Software 對話框里,點擊 Add....

【錯誤信息】

[2011-03-09 15:21:34 - Info] Failed to install Info.apk on device '?': Unable to open sync connection!

[2011-03-09 15:21:34 - Info] java.io.IOException: Unable to open sync connection!

[2011-03-09 15:21:34 - Info] Launch canceled!

原因:

關(guān)閉模擬器和eclipse,執(zhí)行adb kill-server命令,然后重試一下

【錯誤信息】

調(diào)用Webservice時出現(xiàn)

java.net.SocketException: Permission denied (maybe missing INTERNET permission)

原因:

需要訪問到網(wǎng)絡(luò),所以,在AndroidManifest.xml中,需要進行如下配置:

uses-permission android:name="android.permission.INTERNET" /

【錯誤信息】

org.xmlpull.v1.XmlPullParserException: expected: START_TAG

{}Envelope (position:START_TAG

{}wsdl:definitions

targetNamespace=''@2:603 injava.io.InputStreamReader@44a3a7b0)

原因有可能是以下2個之一:

1)Webservice服務(wù)器的Soap版本為1.0,所以客戶端指定

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

VER11改為VER10

2)String serviceUrl = "";

Url指的是你的webservice的地址.一般都是以***.wsdl或者***.?wsdl結(jié)束的...但是.需要注意的是..要去掉后面的.wsdl或者.?wsdl

【錯誤信息】

在新的線程中 public class HttpThread extends Thread {...}

增加一個彈出窗體:

[java] view

plaincopy

new AlertDialog.Builder(this).setTitle("數(shù)據(jù)加載失敗").setMessage("請檢查網(wǎng)絡(luò)連接情況") .setPositiveButton("OK", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialoginterface, int i) { } }).show();

原因及解決辦法:

//不能在線程中操作UI界面

java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

修改后:

[java] view

plaincopy

new AlertDialog.Builder(com.nantsing.infoquery.chuanbo_detail.this).setTitle("數(shù)據(jù)加載失敗").setMessage("請檢查網(wǎng)絡(luò)連接情況") .setPositiveButton("OK", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialoginterface, int i) { }

【錯誤信息】

The constructor AlertDialog.Builder(chuanbo_detail.HttpThread) is undefined

原因及解決辦法:

在UI主線程之外是無法對UI組件進行控制的。因為你必須在新線程任務(wù)完成之后利用各種方法先UI主線程發(fā)送消息通知任務(wù)完成從而來顯示各種提示消息。

線程間通信方法有多種,常用的是用handler來傳遞消息。

如下:

線程中構(gòu)造消息:

[java] view

plaincopy

//

構(gòu)造消息Message message = handle.obtainMessage();Bundle b = new Bundle();

b.putString("tag", "1");message.setData(b);handle.sendMessage(message);

另外自定義消息:

[c-sharp] view

plaincopy

/** * 捕獲消息隊列 fubin.pan 2011-04-02 */Handler handler = new Handler() {public void handleMessage(Message m) {if (!m.getData().getString("tag").equals("1")){ ...}else{new AlertDialog.Builder(chuanbo_detail.this).setTitle("數(shù)據(jù)加載失敗").setMessage("請檢查網(wǎng)絡(luò)連接情況!") .setPositiveButton("OK", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialoginterface, int i) { } }).show();}}};

【錯誤信息】

android低版本工程(如1.5)放到高版本環(huán)境中(如2.2)可能會上述錯誤,解決方法如下:

1。 如果不修改android sdk版本,則使用project clean 命令作用于某工程即可。

(該處理方式只是在高版本中兼容了低版本工程,未真正意義上的升級)

2。 如果修改android sdk版本,則需要以下幾個步驟:

1)修改SDK

選擇工程,build path -- configure build path --- library 刪除引用的低版本SDK,

然后add External JARs,選擇高版本SDK,OK,保存

2)修改classpath文件

該文件可能存在該項: classpathentry kind="lib" path ="你所指定的高版本的地址"

把她修改成classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" /

3) 修改AndroidManifest.xml

在AndroidManifest.xml文件中,application標(biāo)簽后添加uses-sdk android:minSdkVersion="3"/uses-sdk

4) 修改default.properties(很重要)

該文件最后一行(前面沒用#的)target=android-3 該成target=android-8,保存。

再看看你的工程和新建的android 2.2的工程結(jié)構(gòu)就一樣了。

Android焦點問題

Android焦點分發(fā)主要涉及的方法就是

findFocus:View都有,發(fā)現(xiàn)焦點

requestFocus:View都有,請求獲取焦點

requestChildFocus:只有ViewGroup有

focusSearch:View都有,焦點查詢

這幾個方法下面將分別介紹一下這幾個方法。

1、焦點的獲取,默認進入頁面

系統(tǒng)自動請求焦點也是從最頂層的容器控件開始向內(nèi)請求的,我們進入一個界面系統(tǒng)會自動請求焦點,尋找焦點,最后使用一個控件獲得焦點。

2、焦點的切換

切換焦點的時候,也是要從最頂層的父容器尋找到焦點(findFocus),然后從獲得到焦點的控件開始從內(nèi)向外調(diào)用focusSearch尋找下一個焦點控件。

總結(jié):Android的焦點分發(fā)跟事件分發(fā)類似,有一個從內(nèi)向外,從外向內(nèi)的過程,焦點分發(fā)中,尋找當(dāng)前的焦點控件(findFocus)和焦點的請求(requestChildFocus)都是從外向內(nèi)的,就是從頂層的父容向內(nèi)層的子容器尋找和請求,但是搜尋下一個焦點(focusSearch)是從當(dāng)前焦點控件開始的,就是從內(nèi)向外尋找,到這里我們知道了Android焦點分發(fā)的一個基本流程。

參考 Android TV 按鍵焦點事件分發(fā)流程詳解

網(wǎng)頁題目:android問題,android問題總結(jié)
網(wǎng)站URL:http://www.rwnh.cn/article28/dscddjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站改版響應(yīng)式網(wǎng)站、手機網(wǎng)站建設(shè)自適應(yīng)網(wǎng)站、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
永春县| 响水县| 江油市| 清涧县| 鹿泉市| 济阳县| 竹溪县| 梅河口市| 临洮县| 通江县| 宜章县| 贡觉县| 商洛市| 文成县| 陆丰市| 甘泉县| 聂拉木县| 松江区| 碌曲县| 通州市| 舟山市| 铁岭县| 杨浦区| 剑阁县| 德钦县| 潜江市| 徐州市| 逊克县| 韶山市| 庆元县| 广汉市| 玉龙| 云浮市| 会泽县| 静乐县| 基隆市| 房产| 宜章县| 治县。| 泽库县| 田林县|