標籤:android開發 androi world over uil 筆記一 lan 設定 activity
/***Title:總結昨天下午至今天上午的學習成果*Author:zsg*Date:2017-8-13/
一、瞭解Android
1、Android架構
Android大致可分為四層架構:Linux核心層、系統運行庫層、應用程式框架層、應用程式層。
Linux核心層:各種底層驅動:如藍牙堆疊、WiFi驅動等。
系統運行庫層:為Android系統提供主要的特性支援。如SQLite提供資料庫支援。
應用程式框架層:各種API。
應用程式層:手機上所有應用程式。
2、Android開發特色
a、四大組件:
活動Activity: 看的見的都放在活動
服務Service: 退出應用依然可以運行
廣播接收器Broadcast Receiver: 接受發送廣播訊息,比如電話簡訊
內容提供器Content Provider: 程式間資料共用
b、豐富系統組件
c、SQLite資料庫
d、強大的多媒體
e、地理位置定位
。。。。。。
二、開發環境配置
1、jdk安裝(這個我就不說了,網址在右側 ,下一步下一步即可,環境變數請敲度娘)
2、開發工具(我用的Android Studio,連結上篇博文底有,自取)
Android Studio安裝:
Next By Next!
三、建立一個Android項目
啟動AS,第一次會下載SDK(開發包)等一些東西
啟動後,介面大致如,左側是博主已經建好的項目,各條目解釋如上
選擇Start ......,建立一個新的Android項目
選擇應用運行平台
選擇Activity活動風格
設定活動相關資訊
Finish!!!!!
四、運行第一個Android項目
建立模擬器,我這裡已經有一個了,沒有我們可以點擊左下角建立一個
這裡有很多裝置供我們選擇
點擊Next,這裡可以選擇應用的作業系統,這裡選擇android 7.0
這裡對模擬器的配置進行確認,例如名字、解析度、橫豎屏等,我們保持預設,Finish完成建立。
接下來,可以看到模擬器列表中多了一個模擬器
點擊右邊的三角按鈕啟動模擬器
模擬器啟動了,我們可以隨意作。。。。。。
下面我們在模擬器上運行我們的第一個Android程式,在AS工具列有如標,左邊的鎚子用來編譯項目,
中間的選擇啟動並執行項目,右邊的三角按鈕運行項目,我們點擊三角按鈕,彈出如下的選擇框:
可以看到我們剛才建立的模擬器線上,我們選擇點擊OK,過一會項目就運行到模擬器上了。
五、項目工程目錄解析
將項目模式切換成Project
1、.gradel和.idea
AS自動產生,不用手動編輯
2、app
代碼、資源放在這個目錄,開發也是基於這個目錄
3、build
主要包含編譯產生的檔案
4、gradle
包含gradle設定檔
5、.gitignore
指定排除在版本控制之外的目錄或檔案
6、build.gradle
項目全域的gradle構建指令碼
7、gradle.properties
項目全域的gradle設定檔
8、gradlew和gradlew.bat
命令列介面執行gradle命令,gradlew.bat在Windows系統中使用
9、*.iml
項目自動產生,不用修改其中任何內容
10、local.properties
制定本機中的SDK路徑
11、settings.gradle
指定項目中所有引用的模組,通常自動完成
app展開目錄結構如下:
1、build
和外層的build類似,包含編譯時間自動產生的檔案
2、libs
第三方jar包,此目錄下的jar包會被自動添加到構建路徑裡
3、androidTest
編寫Android Test測試案例
4、java
存放所有Java代碼的地方
5、res
資來源目錄
圖片放在drawable目錄下
布局放在layout目錄下
字串放在values目錄下
沒有的目錄我們可以自行建立
6、AndroidManifest.xml
整個項目的設定檔,程式中定義的所有四大組件都要在這個檔案裡註冊
7、test
用來編寫Unit Test測試案例
8、.gitignore
和外層的.gitignore作用類似
9、app.iml
項目自動產生,不用關心
10、build.gradle
app模組的gradle構建指令碼
11、proguard-rules.pro
指定項目代碼的混淆規則
六、項目怎麼運行起來的
開啟AndroidManifest.xml,其中存在如下
1 <activity android:name=".MainActivity">2 <intent-filter>3 <action android:name="android.intent.action.MAIN" />4 5 <category android:name="android.intent.category.LAUNCHER" />6 </intent-filter>7 </activity>
這段代碼錶示對MainActivity這個活動進行註冊,沒有在AndroidManifest.xml裡註冊的活動是不能使用的。其中的<action android:name="android.intent.action.MAIN" />和<category android:name="android.intent.category.LAUNCHER" />表示MainActivity是這個項目的主活動,在手機上點擊應用表徵圖,首先啟動這個活動。
下面開啟MainActivity這個活動,代碼如下:
1 public class MainActivity extends AppCompatActivity {2 3 @Override4 protected void onCreate(Bundle savedInstanceState) {5 super.onCreate(savedInstanceState);6 setContentView(R.layout.activity_main);7 }8 }
首先,MainActivity繼承自AppCompatActivity,這是一種向下相容的Activity.Activity是Android提供的一個活動基類,所有繼承它或它子類的活動才能擁有活動的特性,所以我能就知道AppCompatActivity是Activity的子類了。然後可以看到MainActivity中有一個重寫的onCreate()方法,這是一個活動被建立必須要執行的方法。其中有兩行代碼,第一行代表調用父類的onCreate()方法;第二行調用了setContentView()方法,表示給當前活動引入一個叫activity_main的布局。
Android程式的設計講究邏輯和視圖分離,因此不推薦在活動中直接編寫介面,接著我們開啟布局檔案,代碼如下:
1 <?xml version="1.0" encoding="utf-8"?> <!--指定檔案的版本和編碼方式--> 2 <android.support.constraint.ConstraintLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:app="http://schemas.android.com/apk/res-auto" 5 xmlns:tools="http://schemas.android.com/tools" <!--這兩行可理解為文法檔案,有提示功能--> 6 android:layout_width="match_parent" 7 android:layout_height="match_parent" <!--活動的寬度、高度 match_parent fill_parent填充父類 warp_content 適應內容--> 8 tools:context="com.example.zhangshuaige.myapplication.MainActivity"> <!--指定渲染的上下文--> 9 10 <TextView <!--顯示文字的控制項-->11 android:layout_width="wrap_content"12 android:layout_height="wrap_content" <!--寬度高度-->13 android:text="Hello World!" <!--顯示的文本-->14 app:layout_constraintBottom_toBottomOf="parent"15 app:layout_constraintLeft_toLeftOf="parent"16 app:layout_constraintRight_toRightOf="parent"17 app:layout_constraintTop_toTopOf="parent" 18 />19 20 </android.support.constraint.ConstraintLayout>21
好了,第一個Android程式就到這裡了,加油。
以上知識主要來自閱讀《第一行代碼》(上篇博文中有連結)以及菜鳥教程學習。感謝所有分享知識的人!!
Android學習筆記一之第一個Android程式