1. 程式人生 > >第一次使用Android Studio時你應該知道的一切配置(二):新建一個屬於自己的工程並安裝Genymotion模擬器

第一次使用Android Studio時你應該知道的一切配置(二):新建一個屬於自己的工程並安裝Genymotion模擬器

人性 pro net 參考 json irb 一個地方 vid 調試

【聲明】

歡迎轉載,但請保留文章原始出處→_→

生命壹號:http://www.cnblogs.com/smyhvae/

文章來源:http://www.cnblogs.com/smyhvae/p/4392611.html

【系列】

第一次使用Android Studio時你應該知道的一切配置

第一次使用Android Studio時你應該知道的一切配置(二):新建一個屬於自己的工程並安裝Genymotion模擬器

第一次使用Android Studio時你應該知道的一切配置(三):gradle項目構建

【正文】

都說了放假不休息,奏是這麽任性!!!

【開發環境】

物理機版本:Win7旗艦版(64位)

Android Studio版本:1.1正式版


一、新建工程:

1、新建一個Project:

打開Android Studio,新建一個Project,界面如下:

技術分享

技術分享

上圖中,設置好工程名和路徑之後,接下來可以一路next:

技術分享

技術分享

技術分享

二、Android Studio使用方法;

1、修改項目結構視圖:

Project新建完了以後,默認的結構如下:

技術分享

上圖可以看到,AS的目錄結構和Eclipse中有很大區別,我們看下面的這張表格就一目了然了:

技術分享

當然了,如果想切換成和Eclipse中類似的視圖,點擊左上角進行切換視圖就行了:

技術分享

切換之後,視圖如下:

技術分享

上圖中,箭頭處的app其實是一個module,關於module的概念,稍後會有解釋哦。

2、工具欄的常用功能:

在AS的工具欄有幾個常用的按鈕,分別是Gradle同步、AVD Manager、SDK Manager、DDMS,如下圖所示:

技術分享

解釋如下:

  • Gradle同步:在你項目運行或者更改Gradle配置的時候都要點擊下這個按鈕,會下載相應的依賴
  • AVD Manager:模擬器管理
  • SDK Manager:就是管理你的SDK版本
  • DDMS:即 Dalvik Debug Monitor Service,Dalvik調試監控服務。

3、導入第三方jar包:

eclipse中導入jar包是先將jar包復制到工程文件中,然後add to build path,但是在Android studio中可不是這樣的。在Android studio中導入jar包的方法是:(以谷歌的gjson.jar為例)

將gson-2.3.jar文件拷貝到工程文件的libs目錄下:

技術分享

導入之後,選中jar包,然後點擊下圖中箭頭處的按鈕:(synchronize:同步,可以理解為刷新)

技術分享

搞定。

4、修改默認Activity繼承AppCompatActivity:

在Android Studio 2.1中新建Activity默認繼承AppCompatActivity,感覺這點十分不爽(老版本的AS不會出現這種情況)。找了很久,終於發現在Android Studio安裝目錄下有個模板文件,修改其中的參數即可。

具體操作可以參考下面這篇博文:

Android Studio修改默認Activity繼承AppCompatActivity

三、安裝genymotion模擬器:

1、Genymotion的安裝:

Genymotion無疑是目前最快最好用的模擬器。官網下載地址:https://www.genymotion.com/

先註冊,然後下載,安裝VirtualBox最簡單的方式就是下載包含VirtualBox的Genymotion包,如下圖紅框部分所示:

技術分享

下載完成後,開始安裝。然後運行Genymotion軟件,會提示你需要創建虛擬設備,點擊yes按鈕開始創建虛擬設備:

技術分享

使用之前註冊的賬號進行連接:

技術分享

然後選擇其中一個版本的模擬器:

技術分享

技術分享

技術分享

技術分享

當然了,如果要在模擬器上運行程序,還要確保模擬器加載了Android SDK:

技術分享

備註:如果啟動模擬器時出現下面的錯誤:

技術分享

升級電腦顯卡驅動就行了。

這樣,我們的模擬器就建好了,並且可以啟動起來。接下來要將模擬器和Android Studio相關聯。

2、將模擬器Genymotion和Android Studio相關聯:

Genymotion官網提示有兩種方法(如下圖所示),一種是在線安裝,另一種是離線安裝。方法已經很清楚了,我就不截屏演示了哈。

技術分享

插件安裝好之後,緊接著重啟軟件,讓新加載的插件生效。重啟軟件Android Studio後,選擇菜單欄“View--Toolbar”,讓工具欄顯示出來,可以看到工具欄多了個Genymotion Device Manager的圖標:

技術分享

點擊這個圖標,彈出如下界面:

技術分享

上圖中,加載我們之前安裝好的Genymotion文件夾即可。然後再點擊這個圖標,彈出如下界面:

技術分享

大功告成。

緊接著,在模擬器上運行這個程序:

技術分享

運行效果如下:

技術分享

上圖中,可以看到,我編譯的版本是API 19,但模擬器的版本是API 16,但是程序依然可以運行,說明Android Studio在版本的兼容問題上做的很好。但是之前用IntelliJ IDEA,就必須要求編譯的版本和模擬器(真機)的版本要保持一致。

四、新建一個module形式的第三方library:(引入module的概念)

再來看一下這張表:

技術分享

看完圖,應該知道module的概念了吧。細心的小夥伴可以發現,application的module的有一個手機圖標:

技術分享

1、新建一個module作為library:(以StickyScrollViewItems這個Library為例

註:StickyScrollViewItems的作用是:子控件可懸停的ScrollView(當子控件滾動到頁面頂端的時候固定在頂部)。

在AS中,我們可以新建一個module作為library來使用,操作如下:

技術分享

上圖中,在當前的project中新建一個module,然後彈出如下界面:

技術分享

上圖中,選擇module的類型為Android Library,然後繼續:

技術分享

技術分享

上圖中,既然這個module是一個libray,就不需要Activity了。

技術分享

上圖中箭頭處的兩個module:第一個是application的module,第二個是lirary的module,可以看到,他們倆的icon圖標長得不一樣。

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目錄下。

最終效果如下:

技術分享

總結:新建一個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模塊

3、將application的module依賴上library的module:

操作如下:

技術分享

上圖中,右鍵選中app,選擇“Open Module Settings”,彈出如下界面:

技術分享

按照上圖的步驟,在Dependencies標簽中,添加"Module dependency",彈出如下界面:

技術分享

上圖中,將StickyScrollViewItems的module導入一下就行。

依賴成功,於是,我們在布局文件中是可以看到它的代碼提示的:

技術分享

下面來測試一下。

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.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

五、刪除某個module:

技術分享

上圖中,如果我想刪掉StickyScrollView這個module,該怎麽辦呢?辦法是:選中StickyScrollView這個module,並點擊右鍵,發現沒有delete選項,沒有關系,我們選擇上圖中紅框部分的"Open module Settings"選項,彈出如下界面:

技術分享

上圖中,點擊箭頭處的減號,就可以刪掉了。同時我們要去掉app這個module對它的依賴:

技術分享

然後會發現,StickyScrollView這個module的圖標消失了:

技術分享

上圖中,現在右鍵它,就可以delete掉了,而且是從硬盤上直接delete掉:

技術分享

六、刪除文件的小技巧:(安全刪除)

如果我們想刪掉某個文件,可以直接右鍵,然後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 }
技術分享

第一次使用Android Studio時你應該知道的一切配置(二):新建一個屬於自己的工程並安裝Genymotion模擬器