Android Studio 入門級教程(二):新建一個屬於本身的工程並安裝Genymotion模擬器

聲明

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

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

 

【系列】android

Android Studio 入門級教程(一)git

Android Studio 入門級教程(二):新建一個屬於本身的工程並安裝Genymotion模擬器github

Android Studio 入門級教程(三):gradle項目構建json

 

正文

都說了放假不休息,奏是這麼任性!!! 安全

【開發環境】app

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

Android Studio版本:1.1正式版工具


1、新建工程:

一、新建一個Project:

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

4669bc3c-159d-4446-9566-b77775287ace

ea17f64f-1254-491a-921f-4f8226f3d8f6

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

1918387e-7acf-44dc-99fd-d8153b2122a8

793ccdaf-40cb-4da5-8328-75237bab10cb

17a4e876-78ce-48d2-9eca-d66b7e705b4b

2、Android Studio使用方法;

一、修改項目結構視圖:

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

2b7c2408-bd00-4c3b-bfc2-c64fbe9045c3

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

固然了,若是想切換成和Eclipse中相似的視圖,點擊左上角進行切換視圖就好了:

40c14b16-30a6-45dc-9ccb-37abac1d48fa

切換以後,視圖以下:

90b8ed4d-417b-416f-8359-674384029a42

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

 

二、工具欄的經常使用功能:

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

3280fa4d-15bd-41ce-95cb-953bb7155992

解釋以下:

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

 

三、導入第三方jar包:

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

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

1ff80ab1-9b73-4500-8647-7554a4453317

導入以後,選中jar包,而後點擊下圖中箭頭處的按鈕:(synchronize:同步,能夠理解爲刷新)

462c6e87-5525-43eb-abfc-69165941bb66

搞定。

 

四、修改默認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包,以下圖紅框部分所示:

c8f74667-94a5-441c-b8fd-55c94ca9b723

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

15940687-b37f-4ba3-8762-f5d952b5373a

使用以前註冊的帳號進行鏈接:

a2d6a23f-9174-4146-a33e-92b8ace739d5

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

d864b044-1ef6-4e94-b41d-feb6cf93088a

b0d013d0-059d-4e23-93f0-2645f99588ff

84da4d97-8e49-400e-b5cd-fdc383fd7d2f

a9d7d5fc-4f45-42d8-95dd-e2090f6712a6

固然了,若是要在模擬器上運行程序,還要確保模擬器加載了Android SDK:

8a3e94e0-a2dc-42f2-ab47-9aee2050b6e8

備註:若是啓動模擬器時出現下面的錯誤:

cc6f7b70-b1cd-4c0e-84c1-be7def9f58b4

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

這樣,咱們的模擬器就建好了,而且能夠啓動起來。接下來要將模擬器和Android Studio相關聯。

 

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

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

144e6f92-12d4-49a4-a521-6643982e1720

插件安裝好以後,緊接着重啓軟件,讓新加載的插件生效。重啓軟件Android Studio後,選擇菜單欄「View--Toolbar」,讓工具欄顯示出來,能夠看到工具欄多了個Genymotion Device Manager的圖標:

3f2ea237-d046-4a21-8eed-e4207133e91f

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

d785708e-e314-4681-978b-57239b548210

上圖中,加載咱們以前安裝好的Genymotion文件夾便可。而後再點擊這個圖標,彈出以下界面:

9be4ab45-4598-4e70-878b-69720b90e6f5

大功告成。

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

dcbe5fb9-1a46-49c8-ab52-480904286158

運行效果以下:

3af8d4a3-04af-49be-bc8e-a3bbe5f9bdc4

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

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

再來看一下這張表:

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

49f439c8-0028-4166-9d6f-b25ae7726d0b

一、新建一個module做爲library:(以StickyScrollViewItems這個Library爲例

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

在AS中,咱們能夠新建一個module做爲library來使用,操做以下:

7daf1015-b963-4bff-802a-8dd4682c7b73

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

4ca54992-59b4-44f9-b10a-dcab70cce09b

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

f23cf745-177c-485c-81b5-00e3592d5d7c

b81ea313-0147-4ba0-9214-7fd2d4214690

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

aaa98067-911d-4f66-a016-ec3705540425

上圖中箭頭處的兩個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目錄下。

最終效果以下:

2b876886-112f-4a9c-9cbb-a53f92cebed6 

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

操做以下:

8ce1d4f7-7fd4-4ac5-aeee-f8887d4c7576

上圖中,右鍵選中app,選擇「Open Module Settings」,彈出以下界面:

5231ef7a-0f4b-4769-8e81-1aaae50f5f92

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

72599598-645a-49e0-b9e3-97cdce0e28dc

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

依賴成功,因而,咱們在佈局文件中是能夠看到它的代碼提示的:

79fefdb7-bfd8-4106-9b51-8ba4ce1ffb3a

下面來測試一下。

四、測試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:

f919a74d-44a6-4f4e-aef5-c374e559a6c3

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

c9ab4955-d395-491e-8bc0-09f41a4bd107

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

d99b2f1b-57e3-49fa-9d53-e713b59cf7b3

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

36245206-1846-4478-b328-1aad1a266b68

上圖中,如今右鍵它,就能夠delete掉了,並且是從硬盤上直接delete掉:

44652c52-829c-4e4e-9986-bfddf1b4b656

 

 

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

若是咱們想刪掉某個文件,能夠直接右鍵,而後delete,可是Android Studio有一個更人性化的體驗。好比我想刪掉佈局文件時:

76d579ef-2a53-44c9-b67f-8bea5180790f

上圖中,點擊delete進行刪除, 彈出以下界面:

c9f2dc29-d295-4c04-8585-87acbe9a984d

上圖中,若是將紅框部分打鉤,而後點擊OK,軟件則會提示你,有哪些地方用到了這個文件:

f3af32af-9e7b-4418-ba12-6f49a5c3947d

上圖顯示,有一個地方用到了這個文件,點擊上圖中的"View usages",就能夠看到詳細的狀況了:

dc5626ef-3d87-46c7-94f8-a87c9f91a46c

若是你執意要刪除,單擊上圖中的箭頭位置便可,怎麼樣?用戶體驗還不錯吧?

怎麼?還不滿意啊?那我明天繼續戰鬥,敬請期待~~~

 

備註:

本人的第四段中,經過新建一個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 }
相關文章
相關標籤/搜索