編輯:Android編程入門
今天總結下這段時間對於android studio的使用情況,也對剛使用的朋友一些參考,之前一直使用Eclipse覺得它不錯,開發也挺好的,但是看到群裡好多人都在使用android studio,為了跟上時代的腳步,下了個玩玩,剛從eclipse轉過的朋友可能不太習慣,不過用的一段時間你會發現,它真的比eclipse好?
那麼本片博客主要講解一下內容?
1、對as整個目錄結構的分析?
2、as與es項目之間的相互導入?
3、as 與es 的library 和jar包的導入方式?
4、as 刪除Module/project的方式?
5、as導入es項目導致的亂碼問題的解決方案?
6、as的log與debug的使用技巧?
7、as的背景、字體顏色改變,以及常用快捷鍵的使用?
8、as的一些常用插件?
9、對於git、maven來管理as項目?
對於as的一些其他的使用技巧將在
這是不同試圖下的目錄結構,一個android,一個project,project更像我們使用過的eclipse項目的目錄結構。
看這些圖大致可以把它分為:
gradle:編譯環境
module: 項目模塊
androidmainfest: 配置文件
as的目錄結構就簡單介紹這些,更詳細的需要我們自己在使用去了解。
2、 as與es項目的相互導入?
as導入es項目非常簡單在我們進入as試圖時所看到的,選中它然後選擇你選擇的es項目,當然你可以通過es生成一個gradle的編譯腳本,然後在通過as來進行導入,怎麼樣簡單吧。
es導入as的項目相對比較麻煩,但是仔細一點也是沒有問題的,首先就是java類,main-src才是真正的java類,然後就是res,androidmifest等等,其次需要關注這個as項目是否有支持包,怎麼看呢,通過setting gradle,中看是否include包含的module,其次有些as項目用到了android5.0的甚至android6.0的一些新特性,所以你需要關注一下build gradle中dependencies中的一些信息,看添加了那些jar包,然後從網上下載添加到es的lib下面即可。
3、as添加library與jar包?
導入library: file---imprort module--選擇library作為一個model, 然後module setting中把通過"+"把module添加進去即可。也可以通過setting gradle中的include ':xxx'的形式添加。
添加jar包:復制jar包到lib下面,這是的jar包還沒有引入進來需通過add as library把他添加到指定的module中(沒有引入成功的jar包是看不到jar中所包含的類的) 如圖所示:
4、as刪除module與刪除project的方式?
as刪除module: 刪除module與eclipse有點不同,首先你需要移除掉module的那個類似手機形狀的標識,通過選中module---open module setting 然後同過"-"移除標識,在選中module,選擇delete刪除即可.
as刪除project:刪除方式與es也有不同,close project,進入到我們之間剛進入的as的試圖,通過backspace,選擇ok即可刪除。
5、as導入es項目導致的亂碼問題?
亂碼問題的主要原因是因為es的編碼環境大都數是utf-8,而as的編碼環境是GBK,因此而導致的亂碼問題,解決方案是通過file -encoding,把編碼格式改為gbk,
有些時候可能需要一個個文件改編碼格式,我們也可以通as試圖右下角的那個編碼格式改為gbk即可。當然此類的亂碼很容易解決,還有一種亂碼就是我們的textview文本中的值得亂碼,如果上述操作不能解決文本亂碼的話,那麼我麼可以通過在build gradle的android中配置編譯時的編碼格式。compute.options="GBK"即可。
6、log打印與debug的使用技巧?
as的log打印與es的有些差異,所以我們需要管理好我們的打印工具,我們可以通過tag="xxx"來查找所打印的信息,tag可以以當前的類再加特殊字符即可,這樣我們可以改在打印的右邊哪裡很快搜索出來。
1、LogCat的處理
解決方案(待驗證):正則解決,不同級別的log設計為不同的顏色,加一串特殊的字符串進行處理別如類名等等.(然後在進行搜索)
方案一:在打印Tag時加入一串特殊字符串,可以以當前類為Tag在拼接一個字符串,然後在通過對應得Tag進行查詢Log打印的值
方案二: 給不同等級的Log打印設置不同的顏色處理,視覺上直接了當
方案三: Log可能在不同的機型中,肯能會瘋狂的刷新,那麼直接帶來的問題就是我們無法准確捕獲有用的Log信息,這可能是由於API17的一些原因
解決方案是:利用正則來對log進行過濾管理:http://blog.csdn.net/johnnycode/article/details/45208241
方法四:log Filter Config對某些log進行過濾
l ogCat中顯示信息的字體大小設置:
debug調試問題的處理
http://www.2cto.com/kf/201506/408358.html
debug的使用與es的沒有太大的區別所以就不講解了。(信息的的打印是可以用字體的顏色來區分的,每個級別可以設置不同的顏色)
7、as的一些常用快捷鍵的使用?
刪除: ctrl+y
查找類:ctrl+n
查看類源碼: ctrl+B(查找變量來源)
撤銷:ctrl+z
類屬性添加Get/Set: Alt+Insert(Cmd+N)
查找:Ctrl+Shift+A
上下移動: Alt+(up+down)
查找文件: Ctrl+Shift+N
查詢當前類在應用程序中的引用: Ctrl+ALt+F7
替換當前選中的文本: Ctrl+R()類似於重命名)
快速打開光標選中的類: Ctrl+Alt+B
彈出可重構菜單: Ctrl+Alt+Shift+T
重寫父類的方法:Ctrl+O
把選中的代碼封裝成方法: Ctrl+Alt+M
AS快捷鍵大全,基本上所有的快捷鍵都有,但有些可能不對,需要自己去試驗
# IDEA 快捷鍵
說明:斜體文字表示,測試時沒有效果或者沒有測試時沒有達到預先條件的情況下沒有效果。
## IDE
按鍵|說明
---|---
F1|幫助
Alt+F1|查找文件所在目錄位置
Alt+1|快速打開或隱藏工程面板
Ctrl+Alt+S|打開設置對話框
Alt+Home|跳轉到導航欄
Esc|光標返回編輯框
Shift+Esc|光標返回編輯框,關閉無用的窗口
Shift+Click|關閉標簽頁
F12|把焦點從編輯器移到最近使用的工具窗口
Ctrl+Alt+Y|同步
Ctrl+Alt+S|打開設置對話框
Alt+Shift+Inert|開啟/關閉列選擇模式
Ctrl+Alt+Shift+S|打開當前項目/模塊屬性
Alt+Shift+C|查看文件的變更歷史
Ctrl+Shift+F10|運行
Ctrl+Shift+F9|debug運行
Ctrl+Alt+F12|資源管理器打開文件夾
## 編輯
按鍵|說明
---|---
Ctrl+C|復制當前行或選中的內容
Ctrl+D|粘貼當前行或選中的內容
Ctrl+X|剪切當前行或選中的內容
Ctrl+Y|刪除行
Ctrl+Z|倒退
Ctrl+Shift+Z|向前
Alt+Enter|自動修正
Ctrl+Alt+L|格式化代碼
Ctrl+Alt+I|將選中的代碼進行自動縮進編排
Ctrl+Alt+O|優化導入的類和包
Alt+Insert|得到一些Intention Action,可以生成構造器、Getter、Setter、將 `==` 改為 `equals()` 等
Ctrl+Shift+V|選最近使用的剪貼板內容並插入
Ctrl+Alt+Shift+V|簡單粘貼
Ctrl+Shift+Insert|選最近使用的剪貼板內容並插入(同Ctrl+Shift+V)
Ctrl+Enter|在當前行的上面插入新行,並移動光標到新行(此功能光標在行首時有效)
Shift+Enter|在當前行的下面插入新行,並移動光標到新行
Ctrl+J|自動代碼
Ctrl+Alt+T|把選中的代碼放在 `try{}` 、`if{}` 、 `else{}` 裡
Shift+Alt+Insert|豎編輯模式
Ctrl+ `/ `|注釋 `//`
Ctrl+Shift+ `/` |注釋 `/*...*/`
Ctrl+Shift+J|合並成一行
F2/Shift+F2|跳轉到下/上一個錯誤語句處
Ctrl+Shift+Back|跳轉到上次編輯的地方
Ctrl+Alt+Space|類名自動完成
Shift+Alt+Up/Down|內容向上/下移動
Ctrl+Shift+Up/Down|語句向上/下移動
Ctrl+Shift+U|大小寫切換
Tab|代碼標簽輸入完成後,按 `Tab`,生成代碼
Ctrl+Backspace|按單詞刪除
Ctrl+Shift+Enter|語句完成
Ctrl+Alt+J|用動態模板環繞
## 文件
按鍵|說明
---|---
Ctrl+F12|顯示當前文件的結構
Ctrl+H|顯示類繼承結構圖
Ctrl+Q|顯示注釋文檔
Ctrl+P|方法參數提示
Ctrl+U|打開當前類的父類或者實現的接口
Alt+Left/Right|切換代碼視圖
Ctrl+Alt+Left/Right|返回上次編輯的位置
Alt+Up/Down|在方法間快速移動定位
Ctrl+B|快速打開光標處的類或方法
Ctrl+W|選中代碼,連續按會有其他效果
Ctrl+Shift+W|取消選擇光標所在詞
Ctrl+ `-` / `+`|折疊/展開代碼
Ctrl+Shift+ `-` / `+`|折疊/展開全部代碼
Ctrl+Shift+`.`|折疊/展開當前花括號中的代碼
Ctrl+ `]` / `[`|跳轉到代碼塊結束/開始處
F2 或 Shift+F2|高亮錯誤或警告快速定位
Ctrl+Shift+C|復制路徑
Ctrl+Alt+Shift+C|復制引用,必須選擇類名
Alt+Up/Down|在方法間快速移動定位
Shift+F1|要打開編輯器光標字符處使用的類或者方法 `Java` 文檔的浏覽器
Ctrl+G|定位行
## 查找
按鍵|說明
---|---
Ctrl+F|在當前窗口查找文本
Ctrl+Shift+F|在指定環境下查找文本
F3|向下查找關鍵字出現位置
Shift+F3|向上一個關鍵字出現位置
Ctrl+R|在當前窗口替換文本
Ctrl+Shift+R|在指定窗口替換文本
Ctrl+N|查找類
Ctrl+Shift+N|查找文件
Ctrl+Shift+Alt+N|查找項目中的方法或變量
Ctrl+B|查找變量的來源
Ctrl+Alt+B|快速打開光標處的類或方法
Ctrl+Shift+B|跳轉到類或方法實現處
Ctrl+E|最近打開的文件
Alt+F3|快速查找,效果和Ctrl+F相同
F4|跳轉至定義變量的位置
Alt+F7|查詢當前元素在工程中的引用
Ctrl+F7|查詢當前元素在當前文件中的引用,然後按 `F3` 可以選擇
Ctrl+Alt+F7|選中查詢當前元素在工程中的引用
Ctrl+Shift+F7|高亮顯示匹配的字符,按 `Esc` 高亮消失
*Ctrl+Shift+O*|*彈出顯示查找內容*
*Ctrl+Alt+Up/Down*|*快速跳轉搜索結果*
*Ctrl+Shift+S*|*高級搜索、搜索結構*
## 重構
按鍵|說明
---|---
F5|復制
F6|移動
Alt+Delete|安全刪除
Ctrl+U|轉到父類
Ctrl+O|重寫父類的方法
Ctrl+I|實現方法
Ctrl+Alt+N|內聯
Ctrl+Alt+Shift+T|彈出重構菜單
Shift+F6|重構-重命名
Ctrl+Alt+M|提取代碼組成方法
Ctrl+Alt+C|將變量更改為常量
Ctrl+Alt+V|定義變量引用當前對象或者方法的返回值
Ctrl+Alt+F|將局部變量更改為類的成員變量
Ctrl+Alt+P|將變量更改為方法的參數
## 調試
按鍵|說
---|---
F8|跳到下一步
Shift+F8|跳出函數、跳到下一個斷點
Alt+Shift+F8|強制跳出函數
F7|進入代碼
Shift+F7|智能進入代碼
Alt+Shift+F7|強制進入代碼
Alt+F9|運行至光標處
Ctrl+Alt+F9|強制運行至光標處
Ctrl+F2|停止運行
Alt+F8|計算變量值
## VCS
按鍵|說明
---|---
Alt+ `~` | `VCS` 操作菜單
Ctrl+K|提交更改
Ctrl+T|更新項目
Ctrl+Alt+Shift+D|顯示變化
8、as的常用插件使用?
1、注解生成器Butterknife zelezny
2、關於selector的插件SelectorChapek
3、json格式字符串轉換為java的bean? GsonFormat?
4、Android中的序列化有兩種方式,分別是實現Serializable接口和Parcelable接口,但在Android中是推薦使用Parcelable,只不過我們這種方式要比Serializable方式要繁瑣,那麼有了這個插件一切就ok了。
5、還有更多的插件比如:
自動新建ViewHolder以及initViews(findviewbyid)、Toast提示插件這些網址裡面提供了基本as的所有常用的插件,有興趣的朋友自己去了解下。
好了至此這篇博客已接近尾聲,在接下啦的時間裡我會繼續發表新的博客,謝謝大家的關注如果有講解的不對或者還有其他的一些知識點,可以留言。
由於安卓應用很廣泛,在工業中也常有一些應用,比如可以用安卓來去工業中的一些數據進行實現的監測,顯示,同時可以做一些自動化控制,當然在這裡,我不是做這些自動化控制方面的研究
我們常常會用到上傳頭像,或者發帖子的時候選擇本地圖片上傳的功能.這個很常見今天因為app的需求我研究了下.現在分享下.其實不論是通過拍照還是從相冊選取都會用到Intent
前面幾節,我們重點討論了自定義View的三板斧,這節我們來討論自定義ViewGroup,為什麼要自定義ViewGroup,其實就是為了更好的管理View。 自定義Vie
NDK的發布,使“Java+C”的開發方式終於轉正,成為官方支持的開發方式。NDK將是Android平台支持C開發的開端,今天我們開始ndk的學習