聲明生命壹號:http://www.cnblogs.com/smyhvae/ 文章來源:http://www.cnblogs.com/smyhvae/p/4392611.html
【系列】 Android Studio 入門級教程(二):新建一個屬于自己的工程并安裝Genymotion模擬器 Android Studio 入門級教程(三):gradle項目構(gòu)建
正文都說了放假不休息,奏是這么任性?。?! 【開發(fā)環(huán)境】 物理機(jī)版本:Win7旗艦版(64位) Android Studio版本:1.1正式版
1、新建一個Project: 打開Android Studio,新建一個Project,界面如下: 上圖中,設(shè)置好工程名和路徑之后,接下來可以一路next: 二、Android Studio使用方法; 1、修改項目結(jié)構(gòu)視圖: Project新建完了以后,默認(rèn)的結(jié)構(gòu)如下: 上圖可以看到,AS的目錄結(jié)構(gòu)和Eclipse中有很大區(qū)別,我們看下面的這張表格就一目了然了:
當(dāng)然了,如果想切換成和Eclipse中類似的視圖,點擊左上角進(jìn)行切換視圖就行了: 切換之后,視圖如下: 上圖中,箭頭處的app其實是一個module,關(guān)于module的概念,稍后會有解釋哦。
2、工具欄的常用功能: 在AS的工具欄有幾個常用的按鈕,分別是Gradle同步、AVD Manager、SDK Manager、DDMS,如下圖所示: 解釋如下:
3、導(dǎo)入第三方j(luò)ar包: eclipse中導(dǎo)入jar包是先將jar包復(fù)制到工程文件中,然后add to build path,但是在Android studio中可不是這樣的。在Android studio中導(dǎo)入jar包的方法是:(以谷歌的gjson.jar為例) 將gson-2.3.jar文件拷貝到工程文件的libs目錄下: 導(dǎo)入之后,選中jar包,然后點擊下圖中箭頭處的按鈕:(synchronize:同步,可以理解為刷新) 搞定。
4、修改默認(rèn)Activity繼承AppCompatActivity: 在Android Studio 2.1中新建Activity默認(rèn)繼承AppCompatActivity,感覺這點十分不爽(老版本的AS不會出現(xiàn)這種情況)。找了很久,終于發(fā)現(xiàn)在Android Studio安裝目錄下有個模板文件,修改其中的參數(shù)即可。 具體操作可以參考下面這篇博文: Android Studio修改默認(rèn)Activity繼承AppCompatActivity
三、安裝genymotion模擬器: 1、Genymotion的安裝: Genymotion無疑是目前最快最好用的模擬器。官網(wǎng)下載地址:https://www./ 先注冊,然后下載,安裝VirtualBox最簡單的方式就是下載包含VirtualBox的Genymotion包,如下圖紅框部分所示: 下載完成后,開始安裝。然后運(yùn)行Genymotion軟件,會提示你需要創(chuàng)建虛擬設(shè)備,點擊yes按鈕開始創(chuàng)建虛擬設(shè)備: 使用之前注冊的賬號進(jìn)行連接: 然后選擇其中一個版本的模擬器: 當(dāng)然了,如果要在模擬器上運(yùn)行程序,還要確保模擬器加載了Android SDK: 備注:如果啟動模擬器時出現(xiàn)下面的錯誤: 升級電腦顯卡驅(qū)動就行了。 這樣,我們的模擬器就建好了,并且可以啟動起來。接下來要將模擬器和Android Studio相關(guān)聯(lián)。
2、將模擬器Genymotion和Android Studio相關(guān)聯(lián): Genymotion官網(wǎng)提示有兩種方法(如下圖所示),一種是在線安裝,另一種是離線安裝。方法已經(jīng)很清楚了,我就不截屏演示了哈。 插件安裝好之后,緊接著重啟軟件,讓新加載的插件生效。重啟軟件Android Studio后,選擇菜單欄“View--Toolbar”,讓工具欄顯示出來,可以看到工具欄多了個Genymotion Device Manager的圖標(biāo): 點擊這個圖標(biāo),彈出如下界面: 上圖中,加載我們之前安裝好的Genymotion文件夾即可。然后再點擊這個圖標(biāo),彈出如下界面: 大功告成。 緊接著,在模擬器上運(yùn)行這個程序: 運(yùn)行效果如下: 上圖中,可以看到,我編譯的版本是API 19,但模擬器的版本是API 16,但是程序依然可以運(yùn)行,說明Android Studio在版本的兼容問題上做的很好。但是之前用IntelliJ IDEA,就必須要求編譯的版本和模擬器(真機(jī))的版本要保持一致。 四、新建一個module形式的第三方library:(引入module的概念) 再來看一下這張表:
看完圖,應(yīng)該知道m(xù)odule的概念了吧。細(xì)心的小伙伴可以發(fā)現(xiàn),application的module的有一個手機(jī)圖標(biāo): 1、新建一個module作為library:(以StickyScrollViewItems這個Library為例) 注:StickyScrollViewItems的作用是:子控件可懸停的ScrollView(當(dāng)子控件滾動到頁面頂端的時候固定在頂部)。 在AS中,我們可以新建一個module作為library來使用,操作如下: 上圖中,在當(dāng)前的project中新建一個module,然后彈出如下界面: 上圖中,選擇module的類型為Android Library,然后繼續(xù): 上圖中,既然這個module是一個libray,就不需要Activity了。 上圖中箭頭處的兩個module:第一個是application的module,第二個是lirary的module,可以看到,他們倆的icon圖標(biāo)長得不一樣。
2、將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目錄下。 最終效果如下: 總結(jié):新建一個module形式的第三方library的通用做法是: (1)新建一個library形式的module,刪掉這個module中src/main目錄里面的所有文件(包括刪掉java、res、AndroidManifest.xml) (2)復(fù)制第三方庫的AndroidMainfest.xml、res、src文件(夾)到庫目錄的src/main目錄中 (3)將src/main目錄下的src目錄重命名(Shift+F6)為java (4)刪除庫module中的build.gradle文件(注意不要修改錯了地方)中的dependencies和release模塊
3、將application的module依賴上library的module: 操作如下: 上圖中,右鍵選中app,選擇“Open Module Settings”,彈出如下界面: 按照上圖的步驟,在Dependencies標(biāo)簽中,添加"Module dependency",彈出如下界面: 上圖中,將StickyScrollViewItems的module導(dǎo)入一下就行。 依賴成功,于是,我們在布局文件中是可以看到它的代碼提示的: 下面來測試一下。 4、測試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./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行,我們?yōu)榧t色的View添加了android:tag="sticky"這個標(biāo)簽,于是它將具有懸停的屬性。然后直接運(yùn)行程序就行了。 這一段的整個工程文件如下:(大家可以導(dǎo)入到自己的AS中運(yùn)行看一下效果) 鏈接:http://pan.baidu.com/s/1eQ8epsY 密碼:k9i1
五、刪除某個module: 上圖中,如果我想刪掉StickyScrollView這個module,該怎么辦呢?辦法是:選中StickyScrollView這個module,并點擊右鍵,發(fā)現(xiàn)沒有delete選項,沒有關(guān)系,我們選擇上圖中紅框部分的"Open module Settings"選項,彈出如下界面: 上圖中,點擊箭頭處的減號,就可以刪掉了。同時我們要去掉app這個module對它的依賴: 然后會發(fā)現(xiàn),StickyScrollView這個module的圖標(biāo)消失了: 上圖中,現(xiàn)在右鍵它,就可以delete掉了,而且是從硬盤上直接delete掉:
六、刪除文件的小技巧:(安全刪除) 如果我們想刪掉某個文件,可以直接右鍵,然后delete,但是Android Studio有一個更人性化的體驗。比如我想刪掉布局文件時: 上圖中,點擊delete進(jìn)行刪除, 彈出如下界面: 上圖中,如果將紅框部分打鉤,然后點擊OK,軟件則會提示你,有哪些地方用到了這個文件: 上圖顯示,有一個地方用到了這個文件,點擊上圖中的"View usages",就可以看到詳細(xì)的情況了: 如果你執(zhí)意要刪除,單擊上圖中的箭頭位置即可,怎么樣?用戶體驗還不錯吧? 怎么?還不滿意???那我明天繼續(xù)戰(zhàn)斗,敬請期待~~~
備注: 本人的第四段中,通過新建一個module作為library,將StickyScrollViewItems這個Library引用進(jìn)來了。整個工程文件在第四段的末尾也給出了下載鏈接,其中的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 }
|
|
|