android注釋規范
A. android eclipse 什麼快捷鍵切換代碼
Eclipse快捷鍵-方便查找,呵呵,記性不好
行注釋/銷注釋 Ctrl+/ 塊注釋/銷注釋/XML注釋 Ctrl+Shift+/ Ctrl+Shift+\
查找 查找替換 Ctrl+H Ctrl+F
查找下一個/往回找 Ctrl+K Ctrl+Shift+K
跳到某行 Ctrl+L,哈用慣了Editplus,不時會敲下Ctrl+G,
查找當前元素的聲明 Ctrl+G
查找當前元素的所有引用 Ctrl+Shift+G
重新組織Import Ctrl+Shift+O,能幫你一次去掉所有未使用的Import聲明!
快速修正 Ctrl+1
引入某個類(介面)ctrl + shift + m
加頭注釋 shift + alt + j
更改啟動頁 在AndroidManifest.xml第一個activity標簽項中 android:name=".ResultDemoActivity"
ResultDemoActivity改為你想要第一啟動的activity
取消對「塊注釋的格式化」:
Windows->Preferences->java->Code Style->Formatter->Edit->Comments,然後取消對「Enable block comment formatting"的勾選。
編輯相關快捷鍵
Eclipse的編輯功能非常強大,掌握了Eclipse快捷鍵功能,能夠大大提高開發效率。Eclipse中有如下一些和編輯相關的快捷鍵。
1. 【ALT+/】 自動提示方法
此快捷鍵為用戶編輯的好幫手,能為用戶提供內容的輔助,不要為記不全方法和屬性名稱犯愁,當記不全類、方法和屬性的名字時,多體驗一下【ALT+/】快捷鍵帶來的好處吧。
2. 【Ctrl+O】
顯示類中方法和屬性的大綱,能快速定位類的方法和屬性,在查找Bug時非常有用。
3. 【Ctrl+/】再按一次恢復
快速添加註釋,能為游標所在行或所選定行快速添加註釋或取消注釋,在調試的時候可能總會需要注釋一些東西或取消注釋,現在好了,不需要每行進行重復的注釋。
4. 【Ctrl+D】
刪除當前行,這也是筆者的最愛之一,不用為刪除一行而按那麼多次的刪除鍵。
5. 【Ctrl+M】
窗口最大化和還原,用戶在窗口中進行操作時,總會覺得當前窗口小(尤其在編寫代碼時),現在好了,試試【Ctrl+M】快捷鍵。
查看和定位快捷鍵
在程序中,迅速定位代碼的位置,快速找到Bug的所在,是非常不容易的事,Eclipse提供了強大的查找功能,可以利用如下的快捷鍵幫助完成查找定位的工作。
1. 【Ctrl+K】、【Ctrl++Shift+K】
快速向下和向上查找選定的內容,從此不再需要用滑鼠單擊查找對話框了。
2. 【Ctrl+Shift+T】
查找工作空間(Workspace)構建路徑中的可找到Java類文件,不要為找不到類而痛苦,而且可以使用「*」、「?」等通配符。
3. 【Ctrl+Shift+R】
和【Ctrl+Shift+T】對應,查找工作空間(Workspace)中的所有文件(包括Java文件),也可以使用通配符。
4. 【Ctrl+Shift+G】
查找類、方法和屬性的引用。這是一個非常實用的快捷鍵,例如要修改引用某個方法的代碼,可以通過【Ctrl+Shift+G】快捷鍵迅速定位所有引用此方法的位置。
5. 【Ctrl+Shift+O】
快速生成import,當從網上拷貝一段程序後,不知道如何import進所調用的類,試試【Ctrl+Shift+O】快捷鍵,一定會有驚喜。
6. 【Ctrl+Shift+F】 規范代碼
格式化代碼,書寫格式規范的代碼是每一個程序員的必修之課,當看見某段代碼極不順眼時,選定後按【Ctrl+Shift+F】快捷鍵可以格式化這段代碼,如果不選定代碼則默認格式化當前文件(Java文件)。
7. 【ALT+Shift+W】
查找當前文件所在項目中的路徑,可以快速定位瀏覽器視圖的位置,如果想查找某個文件所在的包時,此快捷鍵非常有用(特別在比較大的項目中)。
8. 【Ctrl+L】
定位到當前編輯器的某一行,對非Java文件也有效。
9. 【Alt+←】、【Alt+→】
後退歷史記錄和前進歷史記錄,在跟蹤代碼時非常有用,用戶可能查找了幾個有關聯的地方,但可能記不清楚了,可以通過這兩個快捷鍵定位查找的順序。
10. 【F3】
快速定位游標位置的某個類、方法和屬性。
11. 【F4】
顯示類的繼承關系,並打開類繼承視圖。
12.【先敲「/」在敲兩個**,然後回車或在方法名之前按Alt+Shift+J可以添加Javadoc 注釋】
方法注釋
調試快捷鍵
Eclipse中有如下一些和運行調試相關的快捷鍵。
1. 【Ctrl+Shift+B】:在當前行設置斷點或取消設置的斷點。
2. 【F11】:調試最後一次執行的程序。
3. 【Ctrl+F11】:運行最後一次執行的程序。
4. 【F5】:跟蹤到方法中,當程序執行到某方法時,可以按【F5】鍵跟蹤到方法中。
5. 【F6】:單步執行程序。
6. 【F7】:執行完方法,返回到調用此方法的後一條語句。
7. 【F8】:繼續執行,到下一個斷點或程序結束。
常用編輯器快捷鍵
通常文本編輯器都提供了一些和編輯相關的快捷鍵,在Eclipse中也可以通過這些快捷鍵進行文本編輯。
1. 【Ctrl+C】:復制。
2. 【Ctrl+X】:剪切。
3. 【Ctrl+V】:粘貼。
4. 【Ctrl+S】:保存文件。
5. 【Ctrl+Z】:撤銷。
6. 【Ctrl+Y】:重復。
7. 【Ctrl+F】:查找。
其他快捷鍵
Eclipse中還有很多快捷鍵,無法一一列舉,用戶可以通過幫助文檔找到它們的使用方式,另外還有幾個常用的快捷鍵如下。
1. 【Ctrl+F6】:切換到下一個編輯器。
2. 【Ctrl+Shift+F6】:切換到上一個編輯器。
3. 【Ctrl+F7】:切換到下一個視圖。
4. 【Ctrl+Shift+F7】:切換到上一個視圖。
5. 【Ctrl+F8】:切換到下一個透視圖。
6. 【Ctrl+Shift+F8】:切換到上一個透視圖。
B. UI設計,安卓標注,是不是每一個dp值都得是偶數
dp是屏幕適配型的,奇數沒任何問題,還可以是小數
C. xml文件的注釋
xml文件的注釋格式:<--被注釋的內容-- >,注釋不能嵌套定義。
XML可以從HTML中分離數據。即能夠在HTML文件之外將數據存儲在XML文檔中,這樣可以使開發者集中精力使用HTML做好數據的顯示和布局,並確保數據改動時不會導致HTML文件也需要改動,從而方便維護頁面。XML也能夠將數據以「數據島」的形式存儲在HTML頁面中,開發者依然可以把精力集中到使用HTML格式化和顯示數據上。
(3)android注釋規范擴展閱讀:
XML可用於交換數據。基於XML可以在不兼容的系統之間交換數據,計算機系統和資料庫系統所存儲的數據有多種形式,對於開發者來說,最耗時間的工作就是在遍布網路的系統之間交換數據。把數據轉換為XML格式存儲將大大減少交換數據時的復雜性,還可以使這些數據能被不同的程序讀取。
利用XML可以共享數據。XML數據以純文本格式存儲,這使得XML更易讀、更便於記錄、更便於調試,使不同系統、不同程序之間的數據共享變得更加簡單。
D. Android studio注釋亂碼UTF-8和GBK設置都沒用,怎麼辦
情況一:編輯器內的中文注釋亂碼。
解決辦法:在界面的右下角找到 UTF-8 ,單擊之,在彈出的列表中選中GBK 在彈出框內選中Reload
總結:導致這樣的原因是你這個.java文件本身是GBK編碼的,你當然可以用GBK方式可以讀,可是最好把從根本上把這個文件編碼成UTF-8的!而且很多人出現這種情況是因為從eclipse復制,或導入文件到了android studio中。Eclipse的時候它可以自動識別,到了as就不可以了故出現這些錯誤。
情況二:用虛擬機運行應用時APP界面文字亂碼。
解決辦法:在Gradle Scripts -> build.gradle中的如下下圖位置添加:
android{compileOptions.encoding="GBK"}
或者
compileOptions.encoding="GBK"
情況三:Gradle Build 中出現如下亂碼,且編輯器的中文注釋有亂碼
需要工具:SublimeText 或者 Notepad++ 或者 EidtPlus 總之是那些能把你的文件改成UTF-8 without DOM 編碼的編輯器,本人用的是Sublime Text2
①雙擊如下亂碼提示的任意一行,它將會彈出一個.java文件給你,比如:我彈出的了AbInnerViewPager.java這個文件的編輯窗口,其中的中文注釋都是亂碼
/**其實下面亂碼的每一行代表一處你某個類或其他文件中的中文亂碼,一個類可能產生好幾行下面那種亂碼*/
②在左邊的目錄框右鍵那個類->點擊show in explorer(就是找到這個文件在電腦中的位置)
③以sublimeText的格式打開這個.java文件,點擊File->Save with Encoding->UTF-8
④返回android studio等一下(不用rebuild什麼的,文中的亂碼自己會變成了正常的中文)
⑤rebuild一下,重復以上步驟,知道把那些GBK格式的文件都改為UTF-8為止
總結:
1、Sublime Text2有個缺點,不能一次全選再改格式!!!雖然可以用ctrl全選然後在Save with Encoding,但最終你會發現只有一個文件改了編碼方式而已,而且你可以從sublime界面最下那個提示橫欄看到是哪一個,不知為何,可能是我打開的方式有問題吧==!,或者是一個Bug,請後來試過的同學跟我說下你們可以不。。。
2、千萬不要用微軟自帶的記事本來另存為,然後再編碼那裡改成UTF-8就以為萬事大吉,血的教訓告訴你!這個UTF-8實際上是UTF-8 with DOM,然後你rebuild後會有如下錯誤提示,然後你最後還是要改成UTF-8 without DOM
3、最好把以後的文件都以UTF-8保存,查看
File->Setting->File->Editor->File Encodings如下設置
E. xml文件的注釋是什麼
xml文件的注釋是:
<!-- 設置右對齊 -->,android:layout_gravity="right"。
xml文件:
可擴展標記語言,標准通用標記語言的子集,是一種用於標記電子文件使其具有結構性的標記語言。
在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息比如文章等。
它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。
它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立於應用程序或供應商的結構化數據。
是Internet環境中跨平台的、依賴於內容的技術,也是當今處理分布式結構信息的有效工具。早在1998年,W3C就發布了XML1.0規范,使用它來簡化Internet的文檔信息傳輸。
F. 設計安卓APP,成品圖標模糊,是切圖問題嗎,切圖需要注意什麼
一.android版
在做android版本設計的時候,尺寸有很多種,這時我們要以一種尺寸為基準,那這個基準尺寸是480px*800px,設計圖完成之後就開始切圖了,我拿我之前設計的一張圖為例子講解下:
當看到上邊這張設計圖的時候,我們首先分析下應該給技術切哪些圖(為了避免以後少改動,建議切圖之前最好和技術先溝通下,怎麼切);
1、底部欄目的icon和背景:
這個一般有2種切法:(有默認和選中之後的效果)
2、頂部欄目的背景切圖:
由於頂部導航欄的是漸變樣式,所以切圖只需要切一小條,技術來平鋪拉伸就可以~(PS:如果是花紋背景,就必須切整條了,因為花紋切一小條就會被拉伸了~)
3、標注文字大小和行間距:(以這張圖為例子,我標注好了,請看下圖)
需要注意的:
A:android主要有3種屏,即:
QVGA和WQVGA屏density=120;
HVGA屏density=160;
WVGA屏density=240;
B:apk的資源包中,
當屏幕density=240時使用hdpi標簽的資源
當屏幕density=160時使用mdpi標簽的資源
當屏幕density=120時使用ldpi標簽的資源;
C:我們標注的是PX,但是技術的演算法是DP,所以需要PX和DP進行轉化,PX和DP的轉化主要跟密度有關系,當密度density=160即(屏幕尺寸:320*480)時,1PX=1DP;當密度density=240即(屏幕尺寸:480*800)時,1PX=0.75DP;當屏幕的尺寸大於480*800的時候,密度都按照240計算即可;當密度density=120即(屏幕尺寸:240*320)時,這個現在幾乎沒有人用了,所以我也不知道轉化公式,如果您知道,可以留言告訴我啊~
注意:因為我們做的是基於480*800尺寸的,大家都知道android的尺寸太多了,要想適配現在流行的尺寸,比如:640*960;720*1280等,唯一的解決辦法就是圖標可以根據不同尺寸各做一套,也就是圖標需要做480、640和720共3套圖標,不過如果你們的產品的要求不嚴格,做一套就可以,只不過是在大於480尺寸的屏幕上有些圖標被拉大變虛而已~
二.ios版
在做ios版本設計的時候,尺寸有3種,分別是:320*480、640*960、640*1136;這時我們要以一種尺寸為基準,那這個基準尺寸是640px*960px,設計圖完成之後就開始切圖了,我拿我之前設計的一張圖為例子講解下:
當看到上邊這張設計圖的時候,我們首先分析下應該給技術切哪些圖(為了避免以後少改動,建議切圖之前最好和技術先溝通下,怎麼切);
1、底部欄目的icon和背景:
這個一般有2種切法:(有默認和選中之後的效果)
2、頂部欄目的背景切圖:
由於頂部導航欄的是多顏色的,所以只能切一整條給技術,商圈的圖標要單獨切出來
3、二級標題欄目的切圖:
4、主體欄目的切圖:
5、標注文字大小和行間距:(以這張圖為例子,我標注好了,請看下圖)
需要注意的:
A:我們標注的尺寸是像素px,技術那邊的實際運用到技術中的是像素的一半,即像素的一半=技術的尺寸;例如:「分類」2個字,我標準的是36px,技術那邊的尺寸就是18px;
B:所有文字,行間距的標注的尺寸都是偶數;因為技術那邊都是根據我們的尺寸除以2;
C:顏色的標注有的技術要求16進制,有的技術要求RGB,由於頁面的限制所以我只標注了16進制的,按16進制和RGB都標注的是最好的~
注意:因為我們做的基於640*960尺寸的,ios共有3套尺寸,因為640*960和640*1136的寬度是不變的,所以圖標沒有變化重新切,只是行間距需要調整下;320*480尺寸的是640*960的一半,所以技術完全可以根據你標注的640的尺寸做就可以~
三.android和ios的轉化關系
因為ios的尺寸是640*960,android當密度等於120即(320*480)時,1PX=1DP,所以android和ios的標注像素之間的換算關:即ios像素尺寸*1/2=android dp尺寸;
2.如果你們的產品同時做android和ios,你只想標注一套尺寸的時候,就可以標注ios版的標注去計算即可。
G. 安卓編程遇到的syntax error
你的代碼有毛病。jumpToLayout1()里完全可以不用設置那個監聽的。因為你在onCreate()方法里已經給這個按鍵設置過單擊監聽了。
H. 如何學習安卓軟體開發
一、前言
不知不覺自己已經做了幾年開發了,由記得剛出來工作的時候感覺自己能牛逼,現在回想起來感覺好無知。懂的越多的時候你才會發現懂的越少。
如果你的知識是一個圓,當你的圓越大時,圓外面的世界也就越大。
最近看到很多Android新手問Android學習路線,學習方法啊,如何入門啊,所以我從網上找了一些資料,然後以我的工作經驗給大家總結一下,讓你們少走彎路,提取一些工作中經常用到的技術。
二、學習知識匯總1、Java se基礎
1).Java基本數據類型與表達式,分支循環。
2).String和StringBuffer的使用、正則表達式。
3).面向對象的抽象,封裝,繼承,多態,類與對象,對象初始化和回收;構造函數、this關鍵字、方法和方法的參數傳遞過程、static關鍵字、內部類。
4).對象實例化過程、方法的覆蓋、final關鍵字、抽象類、介面、繼承的優點和缺點剖析;對象的多態性:子類和父類之間的轉換、抽象類和介面在多態中的應用、多態帶來的好處。
5).Java異常處理,異常的機制原理。
6).常用的設計模式:Singleton、Template、Strategy模式。
7).JavaAPI介紹:種基本數據類型包裝類,System和Runtime類,Date和DateFomat類等。
8).Java集合介紹:Collection、Set、List、ArrayList、LinkedList、Hashset、Map、HashMap、Iterator等常用集合類API。
9).JavaI/O輸入輸出流:File和FileRandomAccess類,位元組流InputStream和OutputStream,字元流Reader和Writer,以及相應實現類,IO性能分析,位元組和字元的轉化流,包裝流的概念,以及常用包裝類,計算機編碼。
10).Java高級特性:反射和泛型。
11).多線程原理:如何在程序中創建多線程(Thread、Runnable),線程安全問題,線程的同步,線程之間的通訊、死鎖。
2、android UI編程
1)、Android開發環境搭建:Android介紹,Android開發環境搭建,第一個Android應用程序,Android應用程序目錄結構。
2)、Android初級控制項的使用:
TextView控制項的使用
Button控制項的使用方法
EditText控制項的使用方法
ImageView的使用方法
RadioButton的使用方法
Checkbox的使用方法
Menu的使用方法
3)、Android高級控制項的使用:
ListView的使用方法
GridView的使用方法
Adapter的使用方法
Spinner的使用方法
Gallary的使用方法
ScrollView的使用方法
RecyclerView
4、對話框與菜單的使用:
Dialog的基本概念
BlockquoteAlertDialog的使用方法
DatePickerDialog的使用方法
Menu的使用方法
自定義Menu的實現方法
5.控制項的布局方法:
線性布局的使用方法
相對布局的使用方法
6.多Acitivity管理:
AndroidManifest.xml文件的作用
Intent的使用方法
使用Intent傳遞數據的方法
啟動Activity的方法
IntentFilter的使用方法
Activity Group的使用方法
7、自定義控制項實現方法:
自定義ListView的實現方法
可折疊ListView的使用方法
自定義Adapter的實現方法
自定義View的實現方法
動態控制項布局的上實現方法
上拉刷新下拉載入更多
3、android網路編程與數據存儲
1).基於Android平台的HTTP通訊:
Http協議回顧
使用Get方法向伺服器提交數據的方法
使用POST方法向伺服器提交數據的實現方法
使用Http協議實現多線程下載
使用Http協議實現斷點續傳
2).Android數據存儲技術:
SQLite3資料庫簡介
SQL語句回顧
SQLite3編程介面介紹
SQLite3事務管理
SQLite3游標使用方法
SQLite3性能分析
訪問SDCard的方法
訪問SharedPreferences的方法
參考自:Android學習路線
三、進階之路(初級->中級->高級)1、初級工程師
小明之前完全沒接觸過Android開發,是個應屆生,他的待遇是13k,然後小明以校招的身份進入了網路,然後小明需要怎麼學習才能成為初級工程師呢?這個時候,小明對編程基礎、數據結構、C語言都有一定基礎,Java語法什麼的也都掌握的比較好,Android才有java語言,無奈的是小明並不會搞Android。
小明首先需要購買一本Android入門的書籍,為了更快地學習Android,小明業余時間也都用來一邊看書一邊照著書中的例子敲代碼,結果2周時間小明就把這本書學了一遍。看完這本書後,小明對Android的歷史、結構、代碼規范等都有了一個大概的了解,並且,小明已經可以寫出一些簡單的Activity了。這個時候在小明眼裡,Android開發很簡單很好玩,通過在xml中擺放一些按鈕文本框什麼的就可以做一些界面了。
小明開始跟著他的技術導師做需求,一些簡單的小需求小明自然是不在話下了。突然有一天來了一個需求,該需求要求小明在Activity中為一個button加一個動畫效果,小明慌了:「完全沒接觸過,書上也沒有講,怎麼辦呢?」小明冷靜了下,打開了網路搜索,輸入「Android 動畫」,打開前幾個鏈接,小明恍然大悟,照著網上的例子把需求給實現了。後來導師告訴他:「學好Android,官方文檔是必須看的,既全面又權威」。然後小明如獲至寶,花了一年時間把上面的guide和training都看了一遍,並且他還動手抄了幾個小例子。
有一天,小明又需要做一個動畫相關的需求,這可難不倒小明,它熟練地打開了網路一下,你就知道,輸入「Android 動畫」,突然他楞了一下:」總不能每次寫動畫都要網路一下吧!「,於是他在CSDN開了一個博客,把動畫相關的知識點都寫上去,為的是後面再寫動畫相關的代碼就不用網路去搜了,事實如何呢?後面再寫動畫相關的代碼,小明的確不用再去網路搜了,因為通過寫一篇動畫博客,他把動畫相關的細節都已經記住了,這樣他就可以不用再去參考任何文檔了,後來小明還學會了把一些瑣碎的不方便放在博客上的東西寫到了印象筆記上面,什麼時候忘了10秒鍾以內都可以快速找回來,而不是花10分鍾去再次搜索一遍。
這里總結一下,Android入門的時候,需要有一本入門書,好好學習書中的內容,同時花一年時間把Android官方文檔中的training和guide看一遍,同時通過寫博客和記筆記的方式來做總結,建議讓自己的每篇博客都有價值些。通過一年時間的學習,相信每個人都可以達到中級工程師的水平。
技術要求:
基本知識點
比如四大組件如何使用、如何創建Service、如何進行布局、簡單的自定義View、動畫等常見技術
書籍推薦
《第一行代碼 Android》、《瘋狂Android》
2、中級工程師
小明經過一年的努力學習終於成為Android中級工程師了,月薪變成了17k。到了中級工程師,已經可以在公司里干很多體力活了,但是一些很重要的任務小明還不能一個人承擔起來,這個時候小明需要學習的內容就很多了,如下所示:
AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的區別;
Binder:從Java層大概理解Binder的工作原理,懂Parcel對象的使用;
多進程:熟練掌握多進程的運行機制,懂Messenger、Socket等;
事件分發:彈性滑動、滑動沖突等;
玩轉View:View的繪制原理、各種自定義View;
動畫系列:熟悉View動畫和屬性動畫的不同點,懂屬性動畫的工作原理;
懂性能優化、熟悉mat等工具
懂點常見的設計模式
學習方法
閱讀進階書籍,閱讀Android源碼,閱讀官方文檔並嘗試自己寫相關的技術文章,需要有一定技術深度和自我思考。在這個階段的學習過程中,有2個點是比較困擾大家的,一個是閱讀源碼,另一個是自定義View以及滑動沖突。
如何閱讀源碼呢?這是個頭疼的問題,但是源碼必須要讀。閱讀源碼的時候不要深入代碼細節不可自拔,要關注代碼的流程並盡量挖掘出對應用層開發有用的結論。另外仔細閱讀源碼中對一個類或者方法的注釋,在看不懂源碼時,源碼中的注釋可以幫你更好地了解源碼中的工作原理,這個過程雖然艱苦,但是別無他法。
如何玩轉自定義View呢?我的建議是不要通過學習自定義view而學習自定義view。為什麼這么說呢?因為自定義view的種類太多了,各式各樣的絢麗的自定義效果,如何學的玩呢!我們要透過現象看本質,更多地去關注自定義view所需的知識點,這里做如下總結:
搞懂view的滑動原理
搞懂如何實現彈性滑動
搞懂view的滑動沖突
搞懂view的measure、layout和draw
然後再學習幾個已有的自定義view的例子
最後就可以搞定自定義view了,所謂萬變不離其宗
大概再需要1-2年時間,即可達到高級工程師的技術水平。我個人認為通過《Android開發藝術探索》和《Android群英傳》可以縮短這個過程為0.5-1年。注意,達到高級工程師的技術水平不代表就可以立刻成為高級工程師(受機遇、是否跳槽的影響),但是技術達到了,成為高級工程師只是很簡單的事。
技術要求:
稍微深入的知識點
AIDL、Messenger、Binder、多進程、動畫、滑動沖突、自定義View、消息隊列等
書籍推薦
《Android開發藝術探索》、《Android群英傳》
3、高級工程師
小明成為了夢寐以求的高級工程師,月薪達到了20k,還拿到了一丟丟股票。這個時候小明的Android水平已經不錯了,但是小明的目標是資深工程師,小明聽說資深工程師月薪可以達到30k+。
為了成為Android資深工程師,需要學習的東西就更多了,並且有些並不是那麼具體了,如下所示:
繼續加深理解」稍微深入的知識點「中所定義的內容
了解系統核心機制:
了解SystemServer的啟動過程
了解主線程的消息循環模型
了解AMS和PMS的工作原理
能夠回答問題」一個應用存在多少個Window?「
了解四大組件的大概工作流程
…
基本知識點的細節
Activity的啟動模式以及異常情況下不同Activity的表現
Service的onBind和onReBind的關聯
onServiceDisconnected(ComponentName className)和binderDied()的區別
AsyncTask在不同版本上的表現細節
線程池的細節和參數配置
…
熟悉設計模式,有架構意識學習方法
這個時候已經沒有太具體的學習方法了,無非就是看書、看源碼和做項目,平時多種總結,盡量將知識融會貫通從而形成一種體系化的感覺。同時這個階段對架構是有一定要求的,架構是抽象的,但是設計模式是具體的,所以一定要加強下設計模式的學習。關於設計模式的學習,最近一本新書推薦給大家《Android 源碼設計模式解析與實戰》,既可以學習設計模式,又可能體會到Android源碼中的設計思想,我最近也在閱讀此書。
技術要求:
稍微深入的知識點
系統核心機制
基本知識點的細節
設計模式和架構
書籍推薦
《Android開發藝術探索》、《Android 源碼設計模式解析與實戰》、《Android內核剖析》
參考自:Android學習路線指南
四、學習視頻跟書籍
當你有了學習線路,學習哪些內容,也知道以後的路怎麼走了,理論看多了總要實踐的,我這里給你們整理了大概80G的學習視頻跟書籍,趕快點我點我點我。。。下載。。
附上出處鏈接:https://www.hu.com/question/21112875/answer/97586938
I. android ui給的標注都是px怎麼轉換
android開發的單位基本上都使用pd,而pd是2px,如10px=5dp
J. 設計師如何為Android應用標注尺寸
設計 Android 應用的最佳實踐:
1. 畫布大小定位 720 x 1280,72 dpi
2. 只使用偶數單位的尺寸,比如 96 px 的列表項高度,16 px 的邊距,64 px 的圖標邊長
3. 只使用 24 pt,28 pt,36 pt 和 44 pt 的字體
4. 設計完成以後,所有尺寸的 px 值除以 2 作為 dp 數值交給工程師
5. 所有字體的 pt 值除以 2 作為 sp 數值交給工程師
6. 所有切圖變成三份,分別是原始大小、縮小 1.5 倍,縮小 2 倍,分別作為 xhdpi,hdpi,mdpi 的資源交給工程師
如果你還有好奇心,可以繼續往下看這個結論是怎麼來的。
相信你已經看過這篇文檔中關於 Android 中各種尺寸單位的介紹,沒看過的最好看一下
http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
在 Android 應用設計中涉及到的單位都是密度無關像素(Density-independent Pixels),這個說法太拗口了,通俗點講,Android 應用設計中只用物理尺寸,類似厘米,英寸這種單位,不用像素。之所以這樣,是由於像素在手機領域說不清楚問題,比方說規定列表項高度是 48 px,在 HTC C510e 上看起來就不錯,但在三星 Galaxy SIII 上看起來就會非常矮,導致很難看,這是因為這兩個機器的屏幕的 dpi 相差很大,前一個大約 160 dpi,後一個大約 320 dpi。這就是手機屏幕不同帶來的問題,如果不考慮平板,不同主要是密度不同,而不是尺寸不同,也不是解析度不同,給設計帶來困擾的根本是屏幕密度不同。不幸的是,很少人對這個有概念,通常介紹手機,會說屏幕尺寸,3.5
寸還是 4 寸,會說解析度,480 x 800 還是 720 x 1280,但通常不會介紹屏幕密度是多少。其實通過尺寸和解析度可以算出密度來,dpi 的 定義是 dot per inch,即每英寸的像素點,把解析度和尺寸除一除就能得到。一個不確切的分法是,720 x 1280 的手機很可能接近 320 dpi (Android 里的 xhdpi),480 x 800 的手機很可能接近 240 dpi (Android 里的 hdpi)。
Android 選擇的單位是 dp 和 sp,dp 的定義是「在 160 dpi 的屏幕上,1 dp 大約等於 1 px」。這個說法也很拗口,簡單點說,1 dp ≈ 1 / 160 inch,他就是物理界的一長度單位。用這個單位設計就統一了,比方說規定列表項高度是 48 dp,在所有手機上看起來都差不多是 48 / 160 inch 那麼高,雖然在不同手機上它對應了不一樣多的像素點,但這個轉換是 Android 手機完成的,每個 Android 手機都得知道在我這 1 dp 對應多少像素。sp 也是同樣解釋,18
sp 的字在所有手機上看起來應該都差不多大(自己改了字體大小設置的除外)。看到這里,可能有人會想,那豈不是不同手機顯示的內容不同。確實是這樣,同樣一個列表,在 A 手機上只能顯示五行,但在 B 個手機上就能顯示六行;還是這個列表,在 A 手機上文字左邊的留白就顯得沒有 B 手機多。
鋪陳完了,逐條解釋開始的最佳實踐。
設計師在設計的時候是用不了 dp 的,他不可能拖一個 48 x 48 dp 的框,不可能設置一個 8 dp 的邊距,Photoshop 里全是 px。於是我們就只有挑一個特定密度的屏幕,在這個特定密度的屏幕上,dp 和 px 的關系是確定,把設計做了,再把 px 轉換成 dp 給工程師。另外有一點是,長度可以乘除一下就解決,圖片是不能除的,圖片必須手動縮放。
我們挑哪一個密度好呢?答案是挑密度最大的,因為圖片縮小比放大好,放大會失真,選 320 dpi 作為目標屏幕,為其他屏幕提供圖片時,只需要縮小。而 320 dpi 屏幕的解析度最常見的是 720 x 1280,以這個尺寸作為畫布尺寸,是最帶感的,這樣的設計稿就和應用在最多數的 320 dpi 的機器上運行起來的樣子一樣。當然你可以選其他畫布大小,但再大也不見得方便,這個大小也夠施展了。72 dpi 是 Photoshop 的默認設置,不要改就好,這個數字和後面的換算有關系。
字體的問題,Android 4.0 以後的設計規范中建議只使用四種字型大小,分別是 12 sp,14 sp,18 sp 和 22 sp,這也是 Android framework 用到的全部字型大小。我們需要找到在這個畫布上,這些字型大小和 pt 的對應關系,以及,px 和 dp 的對應關系。有兩種演算法:
演算法一
根據 dp 的定義「在 160 dpi 的屏幕上,1 dp 大約等於 1 px」,那麼在 320 dpi 的屏幕上,1 dp 約等於 2 px,我們就是為 320 dpi 做的設計,所有 px 值除以 2 就是 dp 值。字體略復雜一點,1 pt = 1 / 72 inch,即在 72 dpi 的畫布上,1 pt = 1 px,我們的畫布就是 72 dpi,又有 1 sp 約等於 2 px(同 dp 的定義),所以 1 sp = 2 pt,所有 pt 值除以 2 就是 sp 值。演算法二
可以想像是把一個 320 dpi 的手機屏幕放大到了 Photoshop 里,放大倍數是 320 / 72,即手機上的 1 dp,在畫布上就是 320 / 72 dp,而 1 dp = 1 / 160 inch,所以在畫布上就是 2 / 72 inch,而畫布是 72 dpi,所以在畫布上就是 2 px,即手機上的 1 dp 對應畫布上的 2 px。字體的計算一樣,只是多一個在 72 dpi 上,1 pt = 1 px 的轉換。
至此,都算清楚了,在這個畫布上,px 到 dp,pt 到 sp 都是除以 2 的關系。
最後,給 320 dpi 做的圖片,到 240 dpi,160 dpi 上就要分別縮小 1.5 倍和縮小 2 倍。120 dpi 的機器已經很罕見,可以不考慮了