生命壹號:http://www.cnblogs.com/smyhvae/html
文章來源:http://www.cnblogs.com/smyhvae/p/4392611.htmljava
【系列】android
Android Studio 入門級教程(二):新建一個屬於本身的工程並安裝Genymotion模擬器github
Android Studio 入門級教程(三):gradle項目構建json
都說了放假不休息,奏是這麼任性!!! 安全
【開發環境】app
物理機版本:Win7旗艦版(64位)eclipse
Android Studio版本:1.1正式版工具
1、新建工程:
一、新建一個Project:
打開Android Studio,新建一個Project,界面以下:
上圖中,設置好工程名和路徑以後,接下來能夠一路next:
2、Android Studio使用方法;
一、修改項目結構視圖:
Project新建完了之後,默認的結構以下:
上圖能夠看到,AS的目錄結構和Eclipse中有很大區別,咱們看下面的這張表格就一目瞭然了:
固然了,若是想切換成和Eclipse中相似的視圖,點擊左上角進行切換視圖就好了:
切換以後,視圖以下:
上圖中,箭頭處的app實際上是一個module,關於module的概念,稍後會有解釋哦。
二、工具欄的經常使用功能:
在AS的工具欄有幾個經常使用的按鈕,分別是Gradle同步、AVD Manager、SDK Manager、DDMS,以下圖所示:
解釋以下:
三、導入第三方jar包:
eclipse中導入jar包是先將jar包複製到工程文件中,而後add to build path,可是在Android studio中可不是這樣的。在Android studio中導入jar包的方法是:(以谷歌的gjson.jar爲例)
將gson-2.3.jar文件拷貝到工程文件的libs目錄下:
導入以後,選中jar包,而後點擊下圖中箭頭處的按鈕:(synchronize:同步,能夠理解爲刷新)
搞定。
四、修改默認Activity繼承AppCompatActivity:
在Android Studio 2.1中新建Activity默認繼承AppCompatActivity,感受這點十分不爽(老版本的AS不會出現這種狀況)。找了好久,終於發如今Android Studio安裝目錄下有個模板文件,修改其中的參數便可。
具體操做能夠參考下面這篇博文:
Android Studio修改默認Activity繼承AppCompatActivity
3、安裝genymotion模擬器:
一、Genymotion的安裝:
Genymotion無疑是目前最快最好用的模擬器。官網下載地址:https://www.genymotion.com/
先註冊,而後下載,安裝VirtualBox最簡單的方式就是下載包含VirtualBox的Genymotion包,以下圖紅框部分所示:
下載完成後,開始安裝。而後運行Genymotion軟件,會提示你須要建立虛擬設備,點擊yes按鈕開始建立虛擬設備:
使用以前註冊的帳號進行鏈接:
而後選擇其中一個版本的模擬器:
固然了,若是要在模擬器上運行程序,還要確保模擬器加載了Android SDK:
備註:若是啓動模擬器時出現下面的錯誤:
升級電腦顯卡驅動就好了。
這樣,咱們的模擬器就建好了,而且能夠啓動起來。接下來要將模擬器和Android Studio相關聯。
二、將模擬器Genymotion和Android Studio相關聯:
Genymotion官網提示有兩種方法(以下圖所示),一種是在線安裝,另外一種是離線安裝。方法已經很清楚了,我就不截屏演示了哈。
插件安裝好以後,緊接着重啓軟件,讓新加載的插件生效。重啓軟件Android Studio後,選擇菜單欄「View--Toolbar」,讓工具欄顯示出來,能夠看到工具欄多了個Genymotion Device Manager的圖標:
點擊這個圖標,彈出以下界面:
上圖中,加載咱們以前安裝好的Genymotion文件夾便可。而後再點擊這個圖標,彈出以下界面:
大功告成。
緊接着,在模擬器上運行這個程序:
運行效果以下:
上圖中,能夠看到,我編譯的版本是API 19,但模擬器的版本是API 16,可是程序依然能夠運行,說明Android Studio在版本的兼容問題上作的很好。可是以前用IntelliJ IDEA,就必需要求編譯的版本和模擬器(真機)的版本要保持一致。
4、新建一個module形式的第三方library:(引入module的概念)
再來看一下這張表:
看完圖,應該知道module的概念了吧。細心的小夥伴能夠發現,application的module的有一個手機圖標:
一、新建一個module做爲library:(以StickyScrollViewItems這個Library爲例)
注:StickyScrollViewItems的做用是:子控件可懸停的ScrollView(當子控件滾動到頁面頂端的時候固定在頂部)。
在AS中,咱們能夠新建一個module做爲library來使用,操做以下:
上圖中,在當前的project中新建一個module,而後彈出以下界面:
上圖中,選擇module的類型爲Android Library,而後繼續:
上圖中,既然這個module是一個libray,就不須要Activity了。
上圖中箭頭處的兩個module:第一個是application的module,第二個是lirary的module,能夠看到,他們倆的icon圖標長得不同。
二、將GitHub上下載好的StickyScrollViewItems-master壓縮包中的部分文件拷貝到lirary的module中:
操做以下:
(1)將StickyScrollViewItems-master\StickyScrollViewItems-master\library\res\values目錄下的attrs.xml文件拷貝到lirary的module中的values目錄下。
(2)將StickyScrollViewItems-master\StickyScrollViewItems-master\library\src\com\emilsjolander\components\StickyScrollViewItems目錄下的StickyScrollView.java文件拷貝到lirary的module中的java目錄下。
最終效果以下:
總結:新建一個module形式的第三方library的通用作法是:
(1)新建一個library形式的module,刪掉這個module中src/main目錄裏面的全部文件(包括刪掉java、res、AndroidManifest.xml)
(2)複製第三方庫的AndroidMainfest.xml、res、src文件(夾)到庫目錄的src/main目錄中
(3)將src/main目錄下的src目錄重命名(Shift+F6)爲java
(4)刪除庫module中的build.gradle文件(注意不要修改錯了地方)中的dependencies和release模塊
三、將application的module依賴上library的module:
操做以下:
上圖中,右鍵選中app,選擇「Open Module Settings」,彈出以下界面:
按照上圖的步驟,在Dependencies標籤中,添加"Module dependency",彈出以下界面:
上圖中,將StickyScrollViewItems的module導入一下就行。
依賴成功,因而,咱們在佈局文件中是能夠看到它的代碼提示的:
下面來測試一下。
四、測試library這個module的可用性:
將activity_main.xml修改成以下代碼:
1 <com.smyhvae.stickyscrollview.StickyScrollView 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 android:fadingEdge="none" 5 android:overScrollMode="never" 6 android:fillViewport="true" 7 xmlns:android="http://schemas.android.com/apk/res/android"> 8 9 <LinearLayout 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:orientation="vertical"> 13 14 <View 15 android:layout_width="match_parent" 16 android:layout_height="200dp" 17 android:background="@color/blue"/> 18 19 <View 20 android:layout_width="match_parent" 21 android:layout_height="100dp" 22 android:background="@color/red" 23 android:tag="sticky"/> 24 25 <View 26 android:layout_width="match_parent" 27 android:layout_height="100dp" 28 android:background="@color/green"/> 29 <View 30 android:layout_width="match_parent" 31 android:layout_height="100dp" 32 android:background="@color/white"/> 33 34 <View 35 android:layout_width="match_parent" 36 android:layout_height="300dp" 37 android:background="@color/purple"/> 38 39 <View 40 android:layout_width="match_parent" 41 android:layout_height="100dp" 42 android:background="@color/yellow"/> 43 44 </LinearLayout> 45 </com.smyhvae.stickyscrollview.StickyScrollView>
上方代碼中,咱們引入了StickyScrollView這個module做爲library,核心代碼是第23行,咱們爲紅色的View添加了android:tag="sticky"這個標籤,因而它將具備懸停的屬性。而後直接運行程序就好了。
這一段的整個工程文件以下:(你們能夠導入到本身的AS中運行看一下效果)
連接:http://pan.baidu.com/s/1eQ8epsY
密碼:k9i1
5、刪除某個module:
上圖中,若是我想刪掉StickyScrollView這個module,該怎麼辦呢?辦法是:選中StickyScrollView這個module,並點擊右鍵,發現沒有delete選項,沒有關係,咱們選擇上圖中紅框部分的"Open module Settings"選項,彈出以下界面:
上圖中,點擊箭頭處的減號,就能夠刪掉了。同時咱們要去掉app這個module對它的依賴:
而後會發現,StickyScrollView這個module的圖標消失了:
上圖中,如今右鍵它,就能夠delete掉了,並且是從硬盤上直接delete掉:
6、刪除文件的小技巧:(安全刪除)
若是咱們想刪掉某個文件,能夠直接右鍵,而後delete,可是Android Studio有一個更人性化的體驗。好比我想刪掉佈局文件時:
上圖中,點擊delete進行刪除, 彈出以下界面:
上圖中,若是將紅框部分打鉤,而後點擊OK,軟件則會提示你,有哪些地方用到了這個文件:
上圖顯示,有一個地方用到了這個文件,點擊上圖中的"View usages",就能夠看到詳細的狀況了:
若是你執意要刪除,單擊上圖中的箭頭位置便可,怎麼樣?用戶體驗還不錯吧?
怎麼?還不滿意啊?那我明天繼續戰鬥,敬請期待~~~
備註:
本人的第四段中,經過新建一個module做爲library,將StickyScrollViewItems這個Library引用進來了。整個工程文件在第四段的末尾也給出了下載連接,其中的gradle文件代碼以下:(gradle將在下一篇文章中講到)
application的build.gradle:
1 // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 3 buildscript { 4 repositories { 5 jcenter() 6 } 7 dependencies { 8 classpath 'com.android.tools.build:gradle:1.1.0' 9 10 // NOTE: Do not place your application dependencies here; they belong 11 // in the individual module build.gradle files 12 } 13 } 14 15 allprojects { 16 repositories { 17 jcenter() 18 } 19 }
app的build.gradle:
1 apply plugin: 'com.android.application' 2 3 android { 4 compileSdkVersion 19 5 buildToolsVersion "21.1.1" 6 7 defaultConfig { 8 applicationId "com.smyhvae.helloworld" 9 minSdkVersion 14 10 targetSdkVersion 19 11 versionCode 1 12 versionName "1.0" 13 } 14 buildTypes { 15 release { 16 minifyEnabled false 17 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 } 19 } 20 } 21 22 dependencies { 23 compile fileTree(dir: 'libs', include: ['*.jar']) 24 compile project(':stickyscrollview') 25 }
library這個module的build.gradle:
1 apply plugin: 'com.android.library' 2 3 android { 4 compileSdkVersion 19 5 buildToolsVersion "21.1.1" 6 7 defaultConfig { 8 minSdkVersion 14 9 targetSdkVersion 19 10 versionCode 1 11 versionName "1.0" 12 } 13 buildTypes { 14 release { 15 minifyEnabled false 16 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 } 18 } 19 } 20 21 dependencies { 22 compile fileTree(dir: 'libs', include: ['*.jar']) 23 }