當前位置:首頁 » 安卓系統 » android常見

android常見

發布時間: 2022-12-27 03:31:57

A. Android常見知識點

跳槽無非就是錢少了或不爽了,無論怎麼樣,記住:
不要裸辭!
不要裸辭!
不要裸辭!
為什麼呢?
1、裸辭就沒有錢拿了,還不如騎驢找馬。
2、裸辭之後如果一個月內沒有找到工作,那麼社保就會斷了,除非你自己找渠道交了。
3、裸辭之後真的會很頹廢!
當初還在上班的時候就想著,裸辭了,首先花幾天時間吧簡歷完善一下,把知識點惡補一下,然後投簡歷,面試,妥妥的妥妥。
結果呢?每次裸辭之後都是:
首先躺屍一個星期;
然後用了一個星期才慢吞吞的改完簡歷;
然後海投,沒回復,修改簡歷;
再次海投,面試,被虐得體無完膚,懷疑人生;
再改簡歷,再海投,一不小心中了。

當然海投也是有個目標范圍的。

如果不是裸辭,那麼現在應該還是在公司上班,在完成工作之餘,就會逼著自己復習知識點了,起碼不會在家墮落。在家不上班就是睡覺、看電影,檣櫓灰飛煙滅,所以不要裸辭。

然並卵,我依然裸辭了。請假面試真的很煩。

onPause,假如從ActivityA啟動B,如果B是透明的,則不會回調A的onStop方法。

方法一:

方法二:

1、寫好動畫文件 R.anim.enter 、 R.anim.exit
2、調用 overridePendingTransition 設置動畫

引申:如Activity設置為singleInstance,則應該怎麼設置跳轉動畫?

1、 startService 啟動方與Service並沒有關聯,只有當Service調用 stopSelf 或者其它組件調用 stopService 的時候服務才會終止。

2、 bindService 啟動方綁定Service,並且可以通過Binder與之交互,當啟動方銷毀時,也會自動unbindService,當所有啟動方都unbindService之後,Service也就自動銷毀了。

為什麼呢?官方文檔是這樣寫的:

大概意思是 onReceive() 執行完畢之後,它所在的進程就會變成低優先順序進程,極易被系統殺死。

分兩種情況分析一下:
一、收到廣播的時候,應用正在運行:
此時如果沒有在Manifest中設置了獨立進程,則 onReceive() 就直接在主進程主線程執行,這里很明顯不能執行耗時操作。
二、收到廣播的時候,應用沒有啟動:
這時候系統會啟動一個進程去執行 onReceive() ,(如果Manifest中沒有設置進程名,則進程名為包名),(插一句,所有進程都會創建一個Application實例),當onReceive執行完畢之後,此進程就變成低優先順序了,隨時有可能被系統殺死,如果你在onReceive裡面啟動了線程執行耗時任務,那很有可能子線程沒執行完畢,進程就被殺死了,進程沒了,線程自然就掛了。

那麼確實要執行耗時操作呢,怎麼辦?
方法一:goAsync()

方法二:schele a JobService from the receiver using the JobScheler

三種實現方法
1、繼承現有的組件,如TextView等,進行拓展。
2、繼承ViewGroup,自定義布局。
3、繼承View,在onDraw()中描繪。

onMeasure()

onLayout()

onDraw()

其它

attachToRoot 從字面理解就是是否綁定到 root 上面去了。
1、 attachToRoot=true :則返回的view為root的子view;
2、 attachToRoot=false :則返回的view是個單獨的view,傳入的root只是提供一些參數給view使用而已。

那麼這里不傳入 attachToRoot 呢?那就看root是否為空了,如果傳入root不為空,則默認綁定到root,作為root的子view返回。

也就是所謂的Frame動畫。指通過指定每一幀的圖片和播放時間,有序的進行播放而形成動畫效果。
可以通過插入器 Interpolator 控制動畫的變化速度。

也就是所謂補間動畫。指通過指定View的初始狀態、變化時間、方式,通過一系列的演算法去進行圖形變換,從而形成動畫效果,主要有 AlphaAnimation 、 TranslateAnimation 、 ScaleAnimation 、 RotateAnimation 四種。
注意:只是在視圖層實現了動畫效果,並沒有真正改變View的屬性。

屬性動畫,通過不斷的改變View的屬性,不斷的重繪而形成動畫效果。相比於視圖動畫,View的屬性是真正改變了。
注意:Android 3.0(API 11)以上才支持。
最常用的類有 ObjectAnimator

P.S. 我不明白cancel存在的意義。
另外, DialogFragment 是沒有cancel的。

ping

內存大致分為三個區:棧區、堆區、方法區。

棧區

堆區

方法區

java不允許手動釋放內存,只能通過垃圾回收程序不定期對那些不再被引用的對象進行回收。

那麼怎麼判斷哪些對象需要回收?

1、引用計數法
就是給對象添加一個引用計數器,引用對象時+1,引用失效時-1。但是這種方法解決不了對象相互引用的情況。

2、可達性分析法
通過一系列「GCRoots」對象作為起點進行搜索,當GCRoots和一個對象之間沒有可達路徑,則認為此對象不可用,但是不可用不一定會成為可回收對象。

編寫AIDL文件,定義介面。
編譯生成JAVA文件。
定義進程級Service,onBind中返回Interface.Stub()。
onServiceConnected中Interface aidl = Interface.Stub.asInterface(service);

把已修復的class文件打包成dex文件,網路傳輸到用戶手機中,利用類載入器把這些類載入到類隊列的前面即可。

【未完待續】

如果公司錄用我,不管是三年還是五年,首先我都會先把公司的任務做好,然後不斷深入研究Android的相關技術,特別是Android源碼,了解Android底層原理,以便更好的優化性能,避免一些不必要的奇葩問題,還有就是研究一些新的框架的原理,學習別人的思維。最後就是學習周邊語言,比如後台,前端等等。

B. Android中常見的單位ppi,dp,dpi,sp,px

在android 開發過程中,我們使用的單位比較少,一般情況下在描述字體大小的時候我們通常用sp,而在設置間距的時候我們用dp,除此之外很少再用到其他單位,而且很多時候我們用著用著就習慣了,也不去探究為什麼這么寫,可不可以用其他單位,每個單位到底代表著什麼意思,所以說,習慣真的很可怕呀。今天,我們就來一探究竟,看看這些單位背後的含義。

像素即是屏幕上顯示數據的最基本的點,在PS裡面也是其最根本的單位,所有的圖形都是在此基礎上生成的,平時我們經常講的手機屏幕解析度就是以像素作為單位的,比如在android中我們經常說的手機像素是1080X1920,其實它所表達的意思是在該手機上面在橫向上面有1080個像素點,在縱向上有1920個像素點。

在android中用來形式字體大小的單位,正常情況下會按照手機系統設置的文本大小來顯示文字,但是同時也會與系統設置的文本保持一致,比如在有些老年機上面為了更好的操作手機有些人會將字體設置為較大字體,這個時候使用sp作為單位的字體也會隨之變大,但是如果將字體大小的單位設置為dp,則不會隨著系統字體的變化而變化。

在每次的手機廠商新品發布會上,我們都會聽到關於手機的介紹,比如手機的屏幕解析度,多大尺寸等等。而當我們知曉一個手機的屏幕分辯率和手機尺寸的時候,就可以計算出手機的物理像素密度,其計算公式為:

需要注意的是,PPI是Android手機物理像素密度,而非在Android開發過程中我們經常說到的像素密度。

屏幕密度與dpi密切相關,dpi是每英寸的點數。也就是說,密度越大,每英寸內容納的點數就越多。

在android.util包下有個DisplayMetrics類可以獲得密度相關的信息。最重要的是densityDpi這個成員,它有如下幾個常用值:

DENSITY_LOW = 120

DENSITY_MEDIUM = 160 //默認值

DENSITY_TV = 213 //TV專用

DENSITY_HIGH = 240

DENSITY_XHIGH = 320

DENSITY_400 = 400

DENSITY_XXHIGH = 480

DENSITY_XXXHIGH = 640

dpi的值主要是通過displayMetrics獲取的,獲取方式為:

val densityDpi = resources.displayMetrics.densityDpi。

dp和dip是一樣的,設備獨立像素,這個和設備硬體有關,不同設備有不同的顯示效果。而通常在做android項目的時候,為了適配市場上面眾多的手機屏幕分辯率,我們一般都會採用dp。dp是Android基於物理設備的PPI抽象出來的一個單位。它是以160dpi的屏幕為基準定義的,在160dpi的屏幕上1dp=1px,那麼由此我們就可以得出其計算公式:

換算公式:1dp = (屏幕ppi/160)px或者是px = (屏幕ppi/160)*1dp。舉個例子:假設ppi = 320,那麼1dp = 2px。

下面我們來演練一下:

如圖所示,手機的屏幕分辯率為1080X1920,尺寸為5寸,從而計算得出PPI的值為440,再通過PPI計算出1dp 約等於3px。假設現在美工給的圖上面有一個a圖標,距離頂部的距離為30px,那麼根據最終我們的換算結果可知,我們設置為10dp就可以達到完美的顯示效果。

C. Android常見動畫效果合集,讓APP熠熠生輝,絢麗靈動

在App中添加一些動畫效果,會給用戶耳目一新,眼前一亮的感覺,讓APP顯的高端大氣上檔次,因此開發項目的過程中能夠實現一些常見的動畫效果還是很有必要的,Android本身提供了豐富的動畫API,方便我們實現炫酷的動畫效果。

先放上幾張實現的效果圖:

一幀一幀進行播放,它的原理與Gif類似,按序播放一組預先定義好的圖片序列,如:

直接更改View 的屬性來實現的動畫。
工作原理:在一定時間間隔內,通過不斷調用set方法對值進行改變,並不斷將該值賦給對象的屬性,從而實現該對象在該屬性上的動畫效果

Google在Android 5.0之後推出的一種動畫效果,就是以某種方式從一個場景以動畫的形式過渡到另一個場景,可以參考 Material-Animations ,常用於點擊列表頁中的圖片跳轉到大圖或由列表頁跳轉到詳情頁

Lottie 是 Airbnb推出的一套跨平台的動畫完整解決方案,它能夠幫助開發者直接載入json格式的文件在 iOS、Android 和 React Native之上,實現 100% 與設計稿相同的動畫效果,而無需關心中間的實現細節。設計師只需要使用 After Effectes 設計出動畫之後,通過使用 Lottie 提供的Bodymovin插件將設計好的動畫導出成json格式的文件交付給開發即可完成。 Lottie網站 lottie-android

跨平台的即時通信軟體Telegram推出的新的Sticker貼紙格式,這個全新的 Sticker 貼紙格式為 .tgs,其實就是基於Lottie json文件改造而來的一種格式

GIF(Graphics Interchange Format)是由CompuServe公司開發的一種圖像文件格式,可以將多幅圖像保存到一個圖像文件,展示的時候將多幅圖像數據逐幀讀出並顯示到屏幕上,從而形成動畫效果。在Android中播放GIF通常有以下幾種方式:

https://github.com/kongpf8848/Animation

animlogoview

Telegram

D. Android 常見布局

Android六大基本布局分別是:線性布局LinearLayout、表格布局TableLayout、相對布局RelativeLayout、層布局FrameLayout、絕對布局AbsoluteLayout、網格布局GridLayout。其中,表格布局是線性布局的子類。網格布局是android 4.0後新增的布局。
在手機程序設計中,絕對布局基本上不用,用得相對較多的是線性布局和相對布局。

padding是站在父view的角度描述問題,它規定它裡面的內容必須與這個父view邊界的距離。margin則是站在自己的角度描述問題,規定自己和其他(上下左右)的view之間的距離,如果同一級只有一個view,那麼它的效果基本上就和padding一樣了。

顯示特點:所有子控制項按照橫向或者豎向依次排列

left(左)、right(右)、top(上)、bottom(下)、center(中心)、
enter_vertical(豎向中心)、center_horizontal(橫向中心)

left(左)、right(右)、top(上)、bottom(下)、center(中心)、
enter_vertical(豎向中心)、center_horizontal(橫向中心)

子控制項的用法:android:layout_weight="1" 多個控制項同時使用,可以實現平分的效果

顯示特點:和LinearLayout布局相似,所有子控制項默認顯示在RelativeLayout的左上角

layout_toRightOf 在指定控制項的右邊
layout_toLeftOf 在指定控制項的左邊
layout_above 在指定控制項的上邊
layout_below 在指定控制項的下邊子控制項對齊關系

layout_alignRight 與指定控制項右對齊
layout_alignLeft 與指定控制項左對齊
layout_alignTop 與指定控制項上對齊

layout_centerInParent 與父容器中間對齊 pairunte
layout_centerVertical 與父容器豎向中心對齊
layout_centerHorizontal 與父容器橫向中心對齊
layout_alignParentLeft 與父容器左邊對齊
layout_alignParentTop 與父容器上邊對齊
layout_alignParentRight 與父容器右邊對齊
layout_alignParentBottom 與父容器下邊對齊

顯示特點:所有子控制項默認在GridLayout中橫向依次排列,當只等每行的列數時,到達指定列數
會自動換行顯示。

layout_column 在網格的第幾列
layout_row 在網格的第幾行
layout_columnSpan 跨列
layout_rowSpan 跨行
layout_gravity 在一個網格中的重心位置
columnCount 每行列總數

顯示特點:所有的子控制項默認顯示在FrameLayout的左上角,會重疊在一起顯示。

layout_gravity(設置給子控制項,調整控制項在容器內的重心)
常用值:
left(左)、 right(右)、
top(上)、 bottom(下)、
center(中心)、 center_vertical(豎向中心)
center_horizontal(橫向中心)

表格布局和網格布局類似,但是需要注意的是,表格布局不能跨行,只能跨列

E. 10 Android常見設計模式:觀察者模式

觀察者模式是一個使用率非常高的模式,它最常用的地方是GUI系統、訂閱——發布系統。因為這個模式的一個重要作用就是解耦,將被觀察者和觀察者解耦,使得它們之間的依賴性更小,甚至做到毫無依賴。以GUI系統來說,應用的UI具有易變性,尤其是前期隨著業務的改變或者產品的需求修改,應用界面也會經常性變化,但是業務邏輯基本變化不大,此時,GUI系統需要一套機制來應對這種情況,使得UI層與具體的業務邏輯解耦,觀察者模式此時就派上用場了。

定義對象間一種一對多的依賴關系,使得每當一個對象改變狀態,則所有依賴於它的對象都會得到通知並被自動更新。

我們以上課鈴聲響起,學生老師上課為例進行說明。

觀察者模式主要的作用就是對象解耦,將觀察者與被觀察者完全隔離,只依賴於Observer和Observable抽象。例如,ListView就是運用了Adapter和觀察者模式使得它的可擴展性、靈活性非常強,而耦合度卻很低,這是設計模式在Android源碼中優秀運用的典範。

F. android中常見的五種布局有什麼特點

1,FrameLayout,特點:所有的View都會放在左上角,並且後添加進去的View會覆蓋之前放進去的View。

2,LinearLayout,特點:在水平或者垂直方向上依次按照順序來排列子元素,控制項的排列順序遵循其在布局文件中被寫出的先後順序。

3,RelativeLayout,特點:以某一個子元素為參照物,其餘子元素均按照其相對位置來完成布局。

4,TableLayout,特點:每個TableLayout都是由一個或多個TableRow組成的,一個TableRow就代表TableLayout的一行。

5,AbsoluteLayout,表格布局類似Html裡面的Table。每一個TableLayout裡面有表格行TableRow,TableRow裡面可以具體定義每一個元素,設定他的對齊方式 android:gravity="" 。



(6)android常見擴展閱讀

開放性:

在優勢方面,Android平台首先就是其開放性,開發的平台允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以使其擁有更多的開發者,隨著用戶和應用的日益豐富,一個嶄新的平台也將很快走向成熟。

開放性對於Android的發展而言,有利於積累人氣,這里的人氣包括消費者和廠商,而對於消費者來講,最大的受益正是豐富的軟體資源。開放的平台也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。

豐富的硬體:

這一點還是與Android平台的開放性相關,由於Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產品。功能上的差異和特色,卻不會影響到數據同步、甚至軟體的兼容,如同從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優秀的軟體帶到iPhone上使用、聯系人等資料更是可以方便地轉移。

G. Android常見的預編譯(prebuilt)

android常用的預編譯方法(prebuilt)

1.framework引入靜態jar包

2.編譯共享jar包

3.編譯so庫
方法1 : 單獨編譯

方法2 : 輪詢編譯

4.預編譯apk
預置apk至系統,如果apk含有so庫的話,也需要提前編譯到系統中,解壓apk文件,將so提取出來放置某一文件夾中,通過LOCAL_PREBUILT_JNI_LIBS將so編譯至system/app/package/lib/arm目錄

H. Android中常見的許可權

1.Android中的常見許可權分為兩種:

(1).普通許可權

(2).危險許可權

2.Android6.0前後許可權解決方案

Android 6.0 (API 23) 之前應用的許可權在安裝時全部授予,運行時應用不再需要詢問用戶。在 Android 6.0 或更高版本對許可權進行了分類,對某些涉及到用戶隱私的許可權可在運行時根據用戶的需要動態授予。這樣就不需要在安裝時被強迫同意某些許可權。

3.Android中9大許可權詳情

Android系統對所有的危險許可權進行了分組,稱為 許可權組 。屬於同一組的危險許可權將自動合並授予,用戶授予應用某個許可權組的許可權,則應用將獲得該許可權組下的所有許可權(前提是相關許可權在 AndroidManifest.xml 中有聲明)。

I. Android常見主題

android:theme="@android:style/Theme.Dialog" //Activity顯示為對話框模式

android:theme="@android:style/Theme.NoTitleBar" //不顯示應用程序標題欄

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" //不顯示應用程序標題欄,並全屏

android:theme="Theme.Light " //背景為白色

android:theme="Theme.Light.NoTitleBar" //白色背景並無標題欄

android:theme="Theme.Light.NoTitleBar.Fullscreen" //白色背景,無標題欄,全屏

android:theme="Theme.Black" //背景黑色

android:theme="Theme.Black.NoTitleBar" //黑色背景並無標題欄

android:theme="Theme.Black.NoTitleBar.Fullscreen" //黑色背景,無標題欄,全屏

android:theme="Theme.Wallpaper" //用系統桌面為應用程序背景

android:theme="Theme.Wallpaper.NoTitleBar" //用系統桌面為應用程序背景,且無標題欄

android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" //用系統桌面為應用程序背景,無標題欄,全屏

android:theme="Theme.Translucent" //透明背景

android:theme="Theme.Translucent.NoTitleBar" //透明背景並無標題

android:theme="Theme.Translucent.NoTitleBar.Fullscreen" //透明背景並無標題,全屏

android:theme="Theme.Panel " //面板風格顯示

android:theme="Theme.Light.Panel" //平板風格顯示

J. Android開發常見異常與錯誤系列(一)

一、前言

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

ps:像那些什麼沒有注冊Activity呀,許可權呀等最基本的就不再贅述。

二、ADB連接異常

有時我們發現,即使自己從任務管理器裡面把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起動失敗:

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

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

hprof-conv.exe

如果有,則把它復制到sdk\platform_tools下

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

hprof-conv.exe

如果有,剛復制到tools下。

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

hprof-conv.exe

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

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

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

經查,說這個是當前android-support-v4版本的一個bug,因為在當fragment進行到detached狀態時,它會重置它的內部狀態。

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

解決方案:

在每個調用getChildFragmentManager()的fragment中復寫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

這個異常,在我們拼接請求參數時,可能會碰到,原因是裡面的特殊字元轉換異常。解決辦法如下:

url轉換問題

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調試程序的問題

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

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

方法

用數據線連接手機和電腦。

打開手機撥號界面。

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

在通知欄會出現一個 Diag USB port enable。

當然,應該是需要ROOT許可權的。

這時候你的PC機會彈出安裝設備驅動。

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

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

注意事項

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

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

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:624
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:355
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:69
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:294
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:786
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:336
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:201
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:796
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:353
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:581