Android學習筆記一之第一個Android程式

來源:互聯網
上載者:User

標籤: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程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.