Android
簡介:
手機或者平板電腦的作業系統
常用手機作業系統:
Ios 蘋果
Android 小米,華為,三星等
塞班(曾經) 黑莓
Android系統架構
1. 應用程式層(Application)
后期所有安裝在此設備中的應用都會被存盤在此層中
2. 應用框架層 (FrameWork)
給開發應用時,即給應用程式層提供一些常用的系統類
如:
TelephonyManager 通過此系統類,可以 到當前設備的某些資訊(可以監控該手機時通過還是響鈴等狀態)
PackageManager 通過此系統類可獲取當前設備上安裝的所用程式的包名資訊
注意:
對于安裝到手機上的應用程式來說,判斷多個程式之間是否是同一程式,依賴于程式包名進行判斷,而不是靠程式名稱判斷
如:要安裝2個程式,微信,微辣,這兩個程式包名一致了,此時只能有1個程式被安裝到手機上
3. 類別庫和運行時 (Libraries,Runtime)
此層被分為了2部分:
1) 類別庫
用于提供系統類,
如: WebKit 負責瀏覽器中相關功能的實作
SQLite 負責提供資料庫的相關功能
2) 運行時
負責提供應用程式運行的虛擬機
4. Linux 核心層 (Linux kernel)
提供支持系統運行的各種驅動程式
常見的面試題:
1. 各層的名字(盡量寫英文)
2. Android 系統是基于Linux開發的,因此如果所做的作業是寫底層代碼作業,那么電腦系統需要使用Linux系統
開發個Android的應用程式或者游戲程式,開發完成后均是安裝在應用程式層中,因此開發者的電腦系統不需要使用Linux系統,可選用的電腦系統:
1. Windows
2. Mac os
環境搭建:
相關工具的下載網站:
官網:www.developer.android.com (連不上)
http://www.androiddevtools.cn/
開發工具的安裝
1. 下載:
打開http://www.androiddevtools.cn/ ,選擇ADT Bundle 部分進行下載
2.安裝
將壓縮包解壓即可
注意:解壓后檔案夾所在的路徑中絕對不能有中文和空格
解壓后目錄如下:
sdk 提供各個版本的安卓系統以及安卓系統類
作用類似于java中的jdk
SDK Manager 管理sdk的工具 ,提供sdk的更新和下載功能
Ecplise 開發工具
注意:此ecplise中自帶adt 插件
Adt (Android develop tools)插件的作用:沒有此插件無法進行android開發
即提供android程式的創建功能以及運行環境
如果想要使用原有的ecplise進行android開發,可考慮手動安裝adt插件:
1. 打開http://www.androiddevtools.cn/,下載adt插件
2. 打開原有的ecplise,選擇Help----- Install New Software,彈出視窗如下:
3. 在視窗中選擇add按鈕,選擇local ,選中下載好的adt 插件壓縮包,點擊ok確認即可
創建Android工程:
1. New---Android Application Project
2. 在彈出的視窗中填寫資訊:
a. Application Name 應用名稱
b. Project Name 工程名稱
通常情況下兩個名稱相同,兩者的區別在于:
應用名稱控制的是程式安裝到設備上之后,在設備上顯示的名字
工程名稱 控制的是該Android工程在開發工具中顯示的名字
c. Package Name 程式包名
在起名字時要盡可能的保持包名的唯一性
常見的命名規則:
com.公司名.應用名.具體分包的功能名
注意:包名中決定不能中文,空格等
只能選取:a到z,0到9,_和. 并且,決定不能數字開頭
d. Minimum Required SDK 指定所需最小sdk
如:指定的是4.0(14)版本,那么此程式開發完成后無法被安裝在4.0以下的手機上
e. Target SDK 目標sdk ,即指定改程式最好是安裝在哪個版本的手機上
f. Complie With 當前工程系結的sdk版本
g. Theme 指定應用的主題,主要負責設定頁面背景色等、
h. 一直Next ,最后Finish即可
模擬器的安裝,真機的連接
1. 模擬器
a. 官方原生模擬器
優點: 穩定
缺點:有些卡(電腦配置高無此缺陷)
創建方式:
1. 點擊Android Vitrul Device Manager圖示
2. 選擇Device Definitions 標簽,挑選任意模擬器后選擇Create AVD 按鈕,添加相應資料后,確認即可,
AVD Name 給創建的模擬器起一個任意的名字
Device: 設定創建的模擬器的螢屏尺寸和解析度是多少
Target : 指定模擬器中運行的Android系統版本(如,4.0,7.0等)
CPU/ABI: 設定模擬器cpu硬體型別
Keyboard:控制在輸入內容時是否要顯示虛擬鍵盤
Skin: 通常選擇前兩項中的任意一項,用于控制模擬器上是否要顯示Home鍵,音量上下鍵等物理按鍵
Memory options: 設定運行記憶體的大小
Internal Storage: 設定模擬器機身記憶體的大小
SD card: 設定外置存盤卡的大小
3. 相應配置設定后,選擇ok即可
啟動方式:
選中相應模擬器后,選擇Start—Launch 即可,啟動后自動連接ecplise的
B和c優點:
速度比較快,夜神還可以實作定位功能
缺點:不夠穩定,容易與ecplise斷開連接
b. 夜神模擬器(逍遙模擬器)
1)運行安裝,一直下一步,最后Finish即可
2)安裝完成后啟動即可,自動完成與ecplise的連接作業
c. Genymotion
國外產的模擬器,服務器也在國外
1. 下載模擬器安裝包:
打開官網下載安裝包 ,https://www.genymotion.com/
選擇Buy Now
選擇BASIC中的Get started按鈕
選擇Download 按鈕
選擇With VirtualBox中的Download按鈕進行下載即可
2. 安裝模擬器
a. 運行下載過后的安裝包
安裝程序中注意: 如果彈出warning警告視窗,選擇Yes,繼續安裝
Genymotion和VirtualBox都需要安裝模擬器才能夠運行
b. 安裝完成后打開VirtualBox ,選擇管理---匯入虛擬電腦----選擇本地的模擬器匯入
(如沒有本地模擬器,則可省略此步驟)
c. 打開Genymotion,選擇已匯入的模擬器,選擇start即可啟動模擬器
d. 如果需要下載更多的模擬器,那么可以點擊Add按鈕,登錄后即可看到n多版本的模擬器,選擇想要的版本后點擊Download按鈕下載即可
3. 運行模擬器
雙擊運行Genymotion,選擇要啟動的模擬器后,選擇start按鈕即可
2. 真機的連接
解決方式:
1. 找個手機助手軟體(如騰訊手機助手)在電腦上安裝一下
2. 通過資料線將手機和電腦連接
3. 手機—設定---開發者選項--- 將Usb除錯功能打開
4. 手機助手軟體會自動將手機和ecplise連接起來
判斷是否連接成功:
通過Window—Show View—Other—Android---Devices選項顯示Devices標簽,
此標簽中可顯示所有已連接到ecplise的設備
易發生的問題:
模擬器和ecplise斷開連接,即Devices標簽中沒有顯示已打開的模擬器,
解決方式如下:
1. 在Devices標簽右上角位置,點擊三角形圖示,選擇Reset adb選項
2. 打開cmd視窗,執行命令:
通過 cd 路徑,進入sdk\platform-tools檔案夾
adb kill-server 關閉adb連接服務
adb start-server啟動adb連接服務
adb connect 127.0.0.1:62001 直接連接夜神模擬器
如果需要通過命令連接Genymotion模擬器:
adb connect 192.168.56.101:5555
3. 關閉ecplise,模擬器,任務管理器中的所有adb.exe行程,然后重新啟動ecplise以及模擬器
4. 重啟電腦
Sdk檔案夾內常用子檔案的功能
Sdk檔案夾整體功能: 提供各種版本android系統,以及系統類等
常見子檔案夾:
Platforms 用于存盤android系統,
即,當新建工程指定Complie With,以及創建原生模擬器指定Target時,能夠提供的選擇版本有哪些
Platform-tools 只要用于存盤管理模擬器和ecplise連接的adb命令
System-images 系統鏡像,用于存盤提供原生創建時所選擇的cpu\ABI的型別
Sources 用于存盤各版本的系統原始碼
extras 用于存盤一些額外系統類(如v4包中系統類)的原始碼以及使用樣例
docs 用于提供本地版的官方檔案
build-tools 用于存盤提供編譯功能的相關工具
tools 提供一些工具,
如draw9patch.bat, 用于繪制9patch圖片工具
Android Application Project 工程結構:
Src 用于存盤開發者撰寫的.java檔案
Android 4.4.2 壓縮檔案 提供系統類
Android Private Libraries 壓縮檔案 ,提供一些額外的系統類
ic_launcher-web.png 系統提供的默認圖示
project.properties 用于描述當前工程 Complie With 系結的android系統版本
proguard-project.txt 用于配置混淆檔案
AndroidManifest.xml 清單檔案,主組態檔,用于注冊一些程式的需要資訊
如:程式啟動時,要運行哪個類中的方法
bin 此檔案夾中的內容由系統自動生成,存盤編譯后的檔案
libs 添加一些第三方的jar包
assets 資產檔案夾,用于存盤一些圖片,mp3,html等檔案
res 資源檔案夾,用于存盤一些圖片,文字等資料
注意:后期在向res中添加資源檔案時,千萬要注意檔案命名
命名原則: 必須是a-z,0-9,_和. 其余均不行,并且不能以數字開頭
gen 此檔案夾中的所有內容也是由系統自動生成,無法手動改變
此檔案夾中有一個比較重要的檔案----R.java ,稱為R檔案
在R檔案中,給res中的每一個資源檔案配置一個16進制的唯一id
Assets檔案夾中的檔案與res中的檔案有什么區別?? 或者說,有一張圖片,放在res中好還是放在assets中比較好??
區別:
1. res中的所有資源都會在R檔案中有一個對應的16進制的數字id值,而assets中的檔案是沒有的
2. res中的資源在會被編譯,而assets中的檔案,則生成安裝包后會保持原樣
3. 大部分情況下, 工程中所需使用的所有資料均是放置在res中
AndroidManifest.xml檔案功能:
res檔案夾作用:用于存盤當前工程所需要使用的所有圖片,文字等資源檔案
其中子檔案夾的具體作用:
以上所有所有檔案夾都是用于存盤圖片的
values 此檔案中存盤xml檔案,這些xml檔案的作用:用于存盤各種文字,顏色,等資料
menu 存盤xml檔案,這些xml檔案的作用:用于設定后期選單的顯示內容
layout 存盤xml檔案,此xml檔案的作用:用于存盤布局檔案
補充:
Sdk更新問題:
解決方式一:
打開http://androiddevtools.cn/
下載相應內容后,放置到相應位置
如: 需要啟動一個5.0的模擬器,為確保能夠創建此模擬器,
那么需要下載5.0的sdk 以及5.0 System images
下載完成后分別將內容放入platforms檔案夾以及system-images檔案夾即可
解決方式二:
直接運行SDK Manager 或者點擊SDK Manager圖示,選中要下載內容后,點擊Install按鈕即可
公司的組成:
寫服務器的
美工 做圖片的
專案經理 解決技術難點,整體統籌的
產品經理 跟客戶打交道
程式員 1到3個人
測驗人員 1個
撰寫工程時:
1. 創建工程
2. 創建(區分)檔案夾 (初學時可省略此步驟)
3. 確認整個工程有幾個頁面
4. 依次完成相應頁面
完成時:需要實作兩大方面的作用:
1) 處理頁面的顯示,如:設定每個按鈕,圖片,文字等的顯示位置
2) 處理頁面與用戶的互動 , 如:處理當用戶手指點擊按鈕后,應該做出什么樣的反饋
res---layout檔案中布局檔案的作用:控制頁面的顯示
程式的啟動流程:
1. 安裝此程式對應的apk檔案
2. 在apk檔案中找到AndroidManifest.xml檔案,讀取該檔案中的代碼
主要要讀取的是:
含有以上4行代碼的activity標簽,讀取該標簽name屬性的值,用于確認啟動類的路徑,即要去運行哪個類中的代碼
3. 運行此類中的onCreate方法
附送內容:
推薦網站:
www.csdn.net
http://www.xueandroid.com/
http://www.javaapk.com/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/1299.html
標籤:其他
