Android應用基礎淺析 – Android移動開發技術文章_手機開發 Android移動開發教學課程

Android基礎知識歸納與小結(一)
1:為什麼說android是基於linux平臺的?
 android 是一個 linux 內核 + 功能函數庫 + 上層虛擬機 的一個系統。對於所有手機用戶來說,在要求手機能提供可靠的語言通信的同時,還想獲得與數據相關的炫酷特性, Linux可以滿足用戶的這些需求。另一方面,Linux作為Android平臺的棧基礎的另一個優勢是—它提供瞭一個硬件抽象層。能確保在底層硬件發生變化時,上層軟件保持不變.
所以說,android 基於 Linux 沒錯,但 android 並不是和 PC 上面的 Linux 發行版一樣的 GNU/Linux 設計。因為他有自己的各種功能庫,和服務程序和其他,並沒有使用多少 GNU 項目的程序。
2:android的理念是?
   隨時隨地為每個人提供信息
3:android的應用程序組成
  一般來說,android的程序主要由以下四部分組成

  Activity
  Broadcast Intent Receiver
  Service
  Content Provider
 
Q5:什麼是Intent
Intent是android中對於即將執行的操作的一種抽象。它是一種動作和內容的集合。Android中使用Intent來完成屏幕間的切換操作。

典型的android應用程序有兩部分構成:一是在前臺運行的Activity和View對象;二是在後臺運行的Intent和Service對象。而Activity基本上對應於用戶界面屏幕,而視圖對應於用戶界面組件。用戶屏幕交互時,屏幕通常表示一個任務,每一個屏幕完成自己的任務後,都會通過Intent將工作交給另一個組件,以執行一個任務。

Intent可以分為兩種:“默認的Intent”以及“自定義的Intent”。而一般開發者在程序中編寫的Intent,是通過自定義Intent,比如切換Activity和在其間傳遞各種數據。要完成Activity間的數據傳遞也可以分為“傳遞數據”和“接收數據”。
 
Q6:一個重要的Android文件AndroidMainfest.xml文件
AndroidMainfest.xml文件建立在應用程序的根目錄下,包含特定的應用程序和Intent的所有設計時的關系。充當Android應用程序的部署描述符
AndroidMainfest.xml文件是每一個android程序中都必須要有的文件,具體解析如下:
所有的內容都包含在<mainfest>標簽下,“package”表示該應用程序存儲在當前的命名空間/路徑中,“android:versionName=“1.0””是給用戶看的版號

“android:versionCode=“1””是應用程序的版本號

“application”標簽中定義瞭這個程序所用到的Activity,服務信息等

Q7:android的生命周期
 首先。Android的生命周期是由android的框架管理的,並非應用程序。

Android共有七個狀態,可分為三類

資源分配
Create   Destory
完整的生命周期是由create開始,destory結束。創建create時分配資源,destory時釋放資源
可見與不可見
Start  Restart  Stop
當activity運行到start狀態時,就可以在屏幕上看到當前的activity,當activity運行到stop時,activity會從屏幕上消失。隻要activity沒有被銷毀,再次調用activity時,就會先進入restart狀態,在進入正常的start狀態。
用戶能否直接訪問屏幕
Resume  Pause
當有“toast”,“alertdialog”,短信等消息闖入時,原來的activity會進入pause狀態,暫時放棄直接訪問屏幕的能力。但那些優先級較高的事件處理完後,activity進入resume狀態。
 
Activity 運行流程的歸納
一般啟動
oncreate—-onstart—-onresume
調用另一個activity
Onpause(1)—-oncreate(2)—-onstart(2—-onresume(2)—-onstop(1)
返回原activity
Onpause(2)—-onrestart(1)—-onstart(1)—-onresume(1)—-onstop(2)—–ondestory(2)
退出結束
Onpause()—-onstop()—-ondestory()
回收後啟動
Oncreate—onstart—onresume
 

 
本文出自 “HDDevTeam” 博客

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *