當前位置:首頁 » 安卓系統 » android重構

android重構

發布時間: 2022-04-24 12:10:57

Ⅰ android studio 重構包路徑

首先開發的工具得是android studio,eclipse自行跳過,很久沒用了。
比如我把原包路徑com.xxx.android 修改為com.test.android。win mac都可以,
只需2步就可輕松搞定:
1、在項目的文件系統裡面增加新包名的路徑,然後把舊包名的所有文件夾文件都拷貝到新包名目錄下,

2、接著去android studio,項目或者mole右鍵,點擊replace in path
然後把原包路徑和修改後的包路徑進行替換,項目不大的話估計幾分鍾內,如果比較大可能需要10幾分鍾,慢慢等它替換完畢。完畢後,運行項目,不報錯的話就說明OK 了,最後刪掉之前包名的文件目錄。當然同理,這個方法也可以替換全局字元串,再也不用一個一個的手動復制粘貼了。

Ⅱ 怎麼在 android studio 中使用 重構功能

一、介紹
很多android 開發者都感嘆做android開發竟然都沒有一款專門的軟體來使用,不像IOS有Xcode,WP有VS。一般做android開發都是eclipse或者ADT或者IntelliJ IDEA。後來,終於,哈哈,有了Android Studio。Android Studio以IntelliJ IDEA為基礎,旨在取代Eclipse和ADT(Android開發者工具)為開發者提供更好的開發工具人稱「親生」的android開發IDE,本人使用了一段時間之後,發現功能真是強大,完爆eclipse等開發工具,最大的亮點就是【代碼提示】和【實時預覽布局】這兩塊。
官網上介紹說,Android Studio有諸多好處:

基於Gradle的構建支持
Android特定重構和快速修復
更加豐富的模板代碼,讓創建程序更加簡單
更好的提示工具,對程序性能、可用性、版本兼容和其他的問題進行捕捉控制
直接支持ProGuard和應用程序簽名功能
自帶布局編輯器,可以拖放UI組件,可以在不同的配置的屏幕上預覽布局
內置google雲服務
內置svn,git工具
支持插件安裝

總而言之,這是google自家出的IDE,肯定對android開發的支持是極好的。先貼一張圖,看看界面。

二、使用-創建項目
在Android Studio中的目錄組織結構跟在eclipse中有很大的差別。Android Studio中的project的概念和eclipse中的工作空間(workspace)的概念很相似。AS中的mole就相當於eclipse中的一個個項目。
下面開始創建一個項目,上手一下:
點擊File -> create new project

輸入application的名字,Company Domain和project的位置。然後下一步:

選擇平台和最低版本的SDK。點擊下一步:

可以看到Android Studio提供了很多界面的模板可供選擇,選擇一個模板,然後點擊下一步:

設置activity的相關信息。點擊finish,就完成了一個項目的創建了。

三、從eclipse導出項目到Android Studio
在eclipse中選擇file -> export ,然後選擇android下面的Generate Gradle build files

next,next之後選中要導出的項目,然後下一步,finish。

然後需要在Android Studio中,選擇file -> import project。按照上面的步驟到處的項目目錄下,會生成一個build.gradle文件,此時就需要選中這個文件,然後點擊OK。

到此為止,就完成了eclipse導出項目到Android Studio了。
四、安裝genymotion插件
大家都知道,google「親生」的模擬器啟動時很慢的,好在有了genymotion。這款軟體啟動模擬器的速度確實是很快的。但是怎麼在Android Studio中使用Genymotion呢?看下面的步驟吧!
首先打開設置中心,使用快捷鍵【ctrl + alt + s】或者點擊面板上的圖標。然後找到【Plugs】,如圖示:

右側面板列出來的是已經安裝的插件。點擊Browse repositories..進行聯網搜索:

搜索到Genymotion之後,右側點擊install就行了,然後會提示讓你重啟一下,重啟之後,在主面板上就會顯示genymotion的一個小圖標,點擊圖標進行配置genymotion的路徑。

設置完成之後,再次點擊那個圖標就會顯示【Genymotion Device Manager】。

OK,設置完畢!!!

五、使用第三方類庫

六、刪除一個項目
下面來看一下,怎麼在Android Studio中刪除一個項目(mole)。
首先右鍵一個項目,選擇【Open Mole Settings】或者選中項目之後,按【F4】,然後出來mole的設置界面。在這里可以進行很多設置,比如【Min Sdk Version】、【Target Sdk Version】、【Version Code】、【Version Name】等等。

在此面板左側,選中一個mole,點擊上面的減號。然後回到主界面上,看到還是剛才操作的mole還是現實在左側面板列表中。不過項目名稱上面少了一個小圖標,表示已經從這個project中刪除了,此時再右鍵該mole,會出現【delete】選項,點擊就可以完全從硬碟中刪除該項目了。

在完全完全刪除這個mole之前,如果還想要把它添加到當前project中,直接【setting.gradle】中添加該項目的名稱即可。

七、快捷鍵匯總
參考:http://blog.csdn.net/altair86/article/details/897217

http://blog.csdn.net/crazy1235/article/details/41702277

Ⅲ 求助.關於android studio軟體的問題

Android Studio 是一個Android開發環境,基於IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發工具用於開發和調試。
在IDEA的基礎上,Android Studio 提供 :
1. 基於Gradle的構建支持。
2. Android 專屬的重構和快速修復。
3. 提示工具以捕獲性能、可用性、版本兼容性等問題。
4. 支持ProGuard 和應用簽名。
5. 基於模板的向導來生成常用的 Android 應用設計和組件。
6. 功能強大的布局編輯器,可以拖拉 UI 控制項並進行效果預覽。

Ⅳ 有哪些值得強烈推薦的 Android Studio 插件

Android Studio沒有任何的插件,因為這是針對android開發用的開發工具,不像eclipse,什麼插件都有。
Android Studio 是一個Android開發環境,基於IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發工具用於開發和調試。
在IDEA的基礎上,Android Studio 提供 :
1. 基於Gradle的構建支持。
2. Android 專屬的重構和快速修復。
3. 提示工具以捕獲性能、可用性、版本兼容性等問題。
4. 支持ProGuard 和應用簽名。
5. 基於模板的向導來生成常用的 Android 應用設計和組件。
6. 功能強大的布局編輯器,可以讓自己拖拉 UI 控制項並進行效果預覽。

Ⅳ androidstudio怎麼進行方法重寫的快捷鍵

Android
Studio常用快捷鍵
1.
Ctrl+D:
集合了復制和粘貼兩個操作,如果有選中的部分就復制選中的部分,並在選中部分的後面
粘貼出來,如果沒有選中的部分,就復制游標所在的行,並在此行的下面粘貼出來。
2.
Ctrl+空格:
輸入代碼時按此組合鍵會列出與之相匹配的類、方法名、成員變數等,起智能提示的作用。
在編輯XML文件一樣有用。
3.
Ctrl+向下箭頭
或Ctrl+向上箭頭:在有自動匹配下拉列表時,此快捷鍵會自動關掉下拉列表,
游標移動到下/上一行。
4.
自動匹配下拉列表的排列方式的切換:在自動匹配下拉列表的右下角有個「π」圖標,點擊後可選
是按:實用性、字母兩種排列方式。
5.
Ctrl+斜杠
、Ctrl+shift+斜杠:
Ctrl+斜杠:注釋或取消注釋當前行或選中的代碼塊,以雙斜杠的方式即「//」
Ctrl+shift+斜杠:注釋或取消注釋選中的代碼塊,以「/*……*/」方式注釋,
6.
Ctrl+shift+Enter:自動匹配相對應的語法結構,比如if,do-while,try-catch等結構。
7.
Ctrl+F:搜索
8.
Ctrl+句點:在自動匹配下拉列表中,選中第一個item
9.
感嘆號:在自動匹配下拉列表中,上下鍵選中一個返回結果為boolean的item,按感嘆號會自動取反:
10.
Ctrl+Enter
:在自動匹配下拉列表中,在沒有選中的item時,默認選中第一個item。
11.
Ctrl+shift+A:快速查找android
studio中的菜單。
12.
Ctrl+N:快速查找類名、文件
13.
Ctrl+B:直接跳轉到類、方法、成員變數定義的地方。與Ctrl+滑鼠左鍵效果一樣
14.
Ctrl+Alt+B:查詢有哪些類實現了游標所在的介面。
15.
Ctrl+Alt+shift+I:檢測代碼,比如檢測一些定義了,但沒有使用過的變數或方法。檢測的目的是為了提高代碼效率。
16.Ctrl+Alt+shift+N
:快速打開輸入的方法或變數。
17.Ctrl+shift+F7:以高亮的形式標志處一些相關的東西,這里主要由三種情況:1.游標的位置在implement時,
會把類實現了介面的方法名給標志出來;2.游標的位置在return時,會標志出方法的所有退出的地方;
3.游標在try或者throws關鍵字處時,會標志出會產生異常的語句。
18.shift+滑鼠滾動:可實現編輯界面的橫向滾動。
19.Ctrl+Alt+V:調用方法時傳入的參數是比較復雜的表達式時,可用此組合鍵重構變數,以簡化代碼的復雜度。
在組合鍵之前要先選中表達式。
20.
Ctrl+D:比較兩個jar文件,在同一工程中,選中兩個jar文件,按此組合鍵
21.Ctrl+O:子類想重寫父類的方法時,按此組合鍵可顯示所有父類的方法。介面對應的組合鍵時Ctrl+I。
22.Ctrl+shift+I:快速查看方法體,想查看一個方法是如何實現的,可把游標移至方法處,按此組合鍵。
23.Ctrl+Q:把游標移至方法處,按此組合鍵可快速查看方法的說明文檔。
24.Ctrl+~:切換編輯界面的風格,快捷鍵設計
25.Alt+shift+C:查看工程的最近修改。
26.Ctrl+E:快速查看最近打開打開過的文件。
27.shift+F6:可對類、方法、變數進行重命名,使用的地方會自動更新名字。
28.Alt+F1:快速打開project
view、structure
view
等查看相應的元素。
29.Ctrl+Alt+F7:查看一個類、方法、成員變數在整個工程中的使用情況。
30.Ctrl+shift+空格:在賦值或者是在方法中要傳入參數時,列出類型匹配的方法名、成員變數名。
31.Ctrl+Alt+T:選中一塊代碼,按此組合鍵,可快速添加if
、for、try/catch等語句。
32.Ctrl+Tab:打開界面切換窗口,保持按住Ctrl鍵,選中相應的要打開的窗口。
33.Ctrl+W:選中游標所在的所在的單詞(一個成員變數或者是一個方法名),多按一次會選中所在的語句,
再多按一次會選中所在的代碼塊。。。依次類推,每增加一次會擴大一級選中的范圍。

Ⅵ 如何對Android客戶端性能優化

為什麼我們的App需要優化,最顯而易見的時刻:用戶say,什麼狗屎,刷這么久都沒反應,取關卸載算了。
這跟什麼有關,我們先蒼白的反駁下,尼瑪用戶設備老舊網又爛,關我屁事,根本不用優化。可是,老闆拍板了,施壓給CTO,然後CTO又來找你:Y的今天必須給我想辦法優化了,不然不準回家。
好吧,為什麼從UI的表象上看,App又卡又慢而且還錯亂。我們試著來剖析下吧。
題外話:把minSDK改到4.0+,去特么的low用戶,連手機都不願意換,還能指望它能給你帶來多少營收么,直接pass掉吧。4.0前的系統bug不少,不能為了彌補這些bug而降低了整體的高性能。
好了,讓我們先從UI說起:
首先要明白的是UI的繪制流程:measure-layout-draw,measure與layout都需要for loop所有的子控制項,匯集起來才能完成繪制,布局。所以子控制項越多,所消耗的時間越長(inflate,layout_weight,relative,多層嵌套等),減少不必要的子控制項或層級,是相當有必要的。你可以通過merge,viewstub這些標簽來減少層級嵌套。如果你的空間觀念沒那麼好,可以用HierarchyViewer工具來檢查。
對於Listview或者GridView這種多item的組件來說,復用item可以減少inflate次數,通過setTag,getTag的ViewHolder方式實現復用,這里要注意的是,holder中的控制項最好reset後再賦值,避免圖片,文字錯亂。
對於ViewPager第一次顯示時卡頓以及左右滑動卡頓,有以下幾種優化方式:

ViewPager同時緩存page數最好為最小值3,如果過多,那麼第一次顯示時,ViewPager所初始化的pager就會很多,這樣pager累積渲染耗時就會增多,看起來就卡。
每個pager應該只在顯示時才載入網路或資料庫(UserVisibleHint=true),最好不要預載入數據,以免造成浪費
圖片顯示不出來或者載入時間太長,怎麼辦?分兩部分,下載速度,載入速度。

對於下載,要控制好同時下載的最大任務數(平均速度慢),同時給InputStream再包一層緩沖流會更快(如BufferedInputStream)。
對於載入速度,我們要知道一點,雖然下載的圖片可能只有幾百K,但是decode成bitmap所佔用的內存可是成倍的,盡可能的減小圖片size是根本因素,讓服務端提供不同解析度的圖片才是最好的解決方案,內存總有耗盡的時刻,別老想著大解析度會更清晰,實際就只有150*150的空間,非給弄張1000*1000的圖片是不恰當的。另外論載入速度:內存>硬碟>網路,合理的使用內存緩存也是關鍵。假如自己寫不好,沒關系,有那麼多開源的圖片緩存框架,不用自己操心。
再說緩存
有很多種緩存方式,也不用Stay列舉了,我們要說的是搭配使用。

比方說,以前我們一直在用強引用,HashMap,後來我們發現占內存,我們就用軟引用,弱引用來及時回收,再後來因為回收機制不可控,所以又有了lrucache,disklrucache通過演算法來平衡內存與硬碟緩存。隨著android版本的推進與演化,我們也應該擁抱變化。如果你的App里還有軟引用,弱引用的地方,不妨再check下。
比方說網路+資料庫。網路我們一般都是去主動獲取,而非被動接受。那如果說數據是重復的或者未更改的呢?那我們去取一次網路數據有什麼意義呢?我的解決方案是給每個activity或fragment或每個組件設置一個最大請求間隔,比如一個listview,第一次請求數據時,保存一份到資料庫,並記下時間戳,當下次重新初始化時,判斷是否超過最大時間間隔(如5分鍾),如果沒有,只載入資料庫數據,不需要再做網路請求。當然,還有一些隱式的http請求框架會緩存伺服器數據,在一定時間內不再請求網路,或者當伺服器返回304時將之前緩存的數據直接返回。
反正也說到網路了,那我們也來說說

現在有很多現成HTTP框架供我們使用,我們幾乎只用寫配置就可以搞定一個url請求,但是這里有很多需要服務端配合的,比如:json數據格式,WebP代替jpg,支持斷點續傳,多個請求合並成一個,盡量不做重定向,伺服器緩存以及負載均衡等。
對客戶端本身,除了上述的實現,我們還需要合理的緩存,控制最大請求並發量,及時取消已失效的請求,過濾重復請求,timeout時間設置,請求優先順序設置等。
優化可不是一個人的事,實現一個功能簡單,但是想優化重構,那是很不容易的事。需要多方面的預判與聯調。合理的假設與實踐是優化最重要的手段。
說完這些具體的點,我們再來說說一些常識,或者稱之為代碼規范。

你要知道for loop中不要聲明臨時變數,不到萬不得已不要在裡面寫try catch。
明白垃圾回收機制,避免頻繁GC,內存泄漏,OOM(有機會專門說)
合理使用數據類型,比如StringBuilder代替String,(筆試題最常見的是str+="str"中有幾個對象) ,少用枚舉enum,少用父類聲明(List,Map)
如果你有頻繁的new線程,那最好通過線程池去execute它們,減少線程創建開銷。
你要知道單例的好處,並正確的使用它。
多用常量,少用顯式的"action_key",並維護一個常量類,別重復聲明這些常量。
如果可以,至少要弄懂設計模式中的策略模式,組合模式,裝飾模式,工廠模式,觀察者模式,這些能幫助你合理的解耦,即使需求頻繁變更,你也不用害怕牽一發而動全身。需求變更不可怕,可怕的是沒有在寫代碼之前做合理的設計。
當然還有很多很多,Stay所說的也只是一個大的輪廓,還是需要自己不斷的嘗試。會開發寫代碼跟會做產品的區別還是蠻大的,僅僅是態度就能刷死80%的碼農了。當你碰到一些需要優化的地方,耐心的去分析,時間的累積會讓你成為真正的工程師。
另外優化也沒有絕對的完美,每一次優化都是基於當前的環境來做的,要明白溝通是最好的優化,不盲從,不隨便,三思而後行。
Android上如何做性能優化的?大概寫三年代碼就能差不多知道了。

Ⅶ Android Studio和Eclipse有什麼區別和相同之處嗎

Android studio出版已經有一段時間了,經過這一段時間的實際應用,切身體會到android Studio和eclipse之間的優劣之處,現在將其總結如下:
1,工程管理:
a,新建工程時,Android Studio和eclipse新建工程的文件夾組織方式不同,開發環境之間的共容性較差,比如要將eclipse中的project導入到Android Studio中需費一定的周折,而要將Android Studio中的工程導入到eclipse中,卻沒有比較簡單的方法,只能一個文件一個文件的拷貝。
b,新建工程後,設置工程的屬性比較難,在eclipse中直接去properties設置就可以,但是在Android Studio中,0.1版提供了一個界面設置project structure,我設置過很多次,遇到各種問題,在Android Studio中新建的工程問題較少,但是從eclipse中導入的工程就比較容易出BUG,比如找不到Lib,找不到sdk,當升級到0.1.1版的時候直接沒有界面了,當點擊project structure的時候,提示:我們以後會提供一個界面來配置工程的設置,但是在這之前需要自己在gradle里去手動設置。
c,新建或導入工程後,要刪除工程,Android Studio只能去workspace文件夾去刪除,而不能在開發環境中刪除。
d,在eclipse中引用庫項目非常簡單,庫項目properties里android lib打鉤,然後就可以直接在項目中引用了,但是在Android Studio中,由於時間的關系,我到現在沒找到解決方法。
綜上所述,在管理工程這塊,可能是對Android Studio比較陌生,不習慣,總覺得android Studio遠不如eclipse.

2,IDE界面:
a,Android Studio提供的dock留邊停靠完勝eclipse,在eclipse中要是想用更大的視野來顯示一個view,而隱藏其他的view的一個方法就是點X,關閉後要打開就比較麻煩了,而Android Studio是將常用的view最小化dock到其邊界,更加人性化,已操作和靈活。
b,第二點,eclipse的啟動速度令人蛋碎呢,每次開機先啟eclipse,後啟動其他程序,其他程序都百米5s的速度,eclipse都還沒上起跑線。
c,還有eclipse的死機問題非常嚴重,我的ubuntu每天都要因為eclipse死機的問題來重啟,有的時候甚至一天五六次。

3,項目編碼:
a,Android studio中的圖標在每行最開始表示,使開發者更加可視化了自己的界面,程序等,這是Android Studio的最大亮點。
b,錯誤提示不比eclipse提示,eclipse放在錯誤上邊即可提示,android studio需要按快捷鍵command+1才能顯示。
c,拷貝一個方法或欄位到另一個地方時,eclipse中是連它的引入類一起拷貝,比如拷貝List<BluetoothDevice>時會連import java.util.List和import android.Bluetooth.BluetoothDevice一起拷貝過去,而android Studio會給用戶提供一個選擇,要拷什麼不要拷什麼會給用戶一個界面來勾選。
d,Android Studio 中 command+W可以直接快速定位到最近編輯的文件,不知道eclipse中有沒有,暫時沒有發現。
e,inspect code,利用android lit可以幫助開發者自動檢查代碼中的錯誤和有可能出現bug的地方。
f,在Android Studio中code assistance要遠遠強大於eclipse,比如你可以先調用方法,再寫方法時會有提示,而在eclipse中只能傻傻地自己寫,沒有提示。還有一個,拷貝string或color中的value前選擇value的時候,eclipse的反應速度慢到無法忍受。

4,res資源:
a,Android studio中的顏色等都在每行最開始表示,使開發者更加可視化了自己的界面,程序等,這是Android Studio的最大亮點。
b,在代碼中可以看到資源中不痛解析度下的drawable圖像,將游標放置圖像名字中間,點View-quick documation即可看到,由於是在本環境中打開,而不是像eclipse中重啟程序打開,所以打開圖像的速度遠遠小於eclipse。
c,生成res的values文件更簡單,感覺創建時更傾向於android開發,android專用,不像eclipse那麼復雜。
d,提示更加完善,比如如果將Button拼成Bitton,Android Studio會自動檢查出來,如果沒有layout_width或layout_height,會自動檢查出來並提供選項讓開發者選擇。
e,在android Studio中提供了一個Preview視圖,可以和layout.xml文件進行關聯,在xml文件中改屬性,或添加組件,會動態在Preview視圖中表現出來,而且可以添加不同語系,不痛屏幕尺寸的android設備。

5,編譯代碼:
a,在eclipse中編譯速度感覺要慢於Android Studio,但是在eclipse中有一個build automatically的功能,覺得挺好用,在android Studio中未找到,只能在每次安裝前手動編譯。
b,編譯後選擇運行的平台,eclipse中會自動打開軟體,而android Studio會安裝軟體,需要手動打開。

6,LOG查看:
a,log查看相比較而言,還是android Studio稍微先進於eclipse,在eclipse很多次,我刪掉的tag,第二次打開eclipse,它又存在於左邊的list當中,Adnroid studio看起來界面比較友好,使人更容易找出log。

以上幾點是我在這段時間來試用android studio和eclipse的真實體驗,優缺點介紹的不那麼完善,可能其中也存在一些問題,畢竟仁者見仁,智者見智,我覺得相對而言,總體還是Android studio 略勝eclipse一籌,由於android studio是新版本,還是不斷的完善當中,所以建議初學者可以直接學慣用android studio來開發,因為在我看來,android Studio代替eclipse來寫android程序已經是大趨勢,不可避免的了,誰先掌握了此工具的用法,誰就會比其他開發者更有優勢,編程優勢,面試優勢等,但是畢竟android studio才剛出現,還年輕,難免會出現一些比較難解的bug,所以建議有經驗的開發者暫時先用eclipse來開發,畢竟熟悉了那麼長時間了,不會像android Studio那樣,如果中獎碰上大的bug,那真是叫天不應,入地無門啊,整個項目的進度就得耽擱很久了 。

熱點內容
請稍作停留密碼是什麼意思 發布:2024-05-19 20:37:12 瀏覽:244
linux結束符 發布:2024-05-19 20:33:05 瀏覽:817
招標伺服器雲 發布:2024-05-19 20:04:19 瀏覽:584
搭建小米雲伺服器 發布:2024-05-19 19:43:17 瀏覽:131
蘋果手機備忘錄怎麼加密 發布:2024-05-19 18:57:57 瀏覽:16
光榮腳本 發布:2024-05-19 18:57:48 瀏覽:997
pythonjson字元串 發布:2024-05-19 18:51:43 瀏覽:253
什麼是伺服器廠商介紹 發布:2024-05-19 18:50:09 瀏覽:371
伺服器網卡硬體型號怎麼看 發布:2024-05-19 18:36:41 瀏覽:667
修改pve伺服器ip 發布:2024-05-19 18:31:52 瀏覽:470