小豬的Android入門之路 day 1,androidday
小豬的Android入門之路 Day 1
Android相關背景與開發環境的搭建
------轉載請註明出處:coder-pig
本節引言:
隨著社會經濟的發展,移動互連網的越來越熱,手機APP開發顯得格外火爆,
作為一名快要畢業的IT屌絲,自然要趟一趟這一渾水啦,當前主流的手機系統
IOS(蘋果),Android(安卓),WinPhone(windows);WindPhone貌似沒什麼崛起的勢頭;
所以主流的就是前面的兩個;作為一名屌絲學生狗,買不起Mac,只有一台雙核的破電腦;
只能去搞android啦...不過都是說笑而已,對於兩個的優劣並不過多的比較!
本系列是記錄博主在安卓學習中學到的一些東西以及遇到問題的記錄;
可作為學習參考或者教程查看,如果文中有什麼寫得不好的以及有什麼好的建議;
歡迎指出,萬分感激!
本文:
本章學習路線圖:
學習路線解析:
①對安卓相關背景知識的瞭解,以及安卓的平台架構
②搭建安卓開發環境,會使用Eclipse與android sudio其中一個即可
③熟悉對應IDE的開發APP流程
④對一些術語的瞭解
⑤一些android流程細節的瞭解
Android的誕生與發展:
android系統由是Andy Rubin建立的,後來被Google收購了;最早的版本是android 1.1,
而現在最新的版本是Android L,也就是我們常說的Android 5.0,系統的命名都是以點心命名的
,比如4.4 KitKat(奇巧巧克力)
Android系統特性與平台結構:系統特性:
1.應用程式架構支援組建的重用與替換(app發布時遵守了架構的約定,其他app也可以使用該模組)
2.Dalvik虛擬機器:專門為行動裝置最佳化
3.整合的瀏覽器:開源的WebKit引擎
4.SQLite結構化的資料存放區
5.最佳化的圖形庫,多媒體支援,GSM電話技術,藍芽等
6.採用軟體疊層方式構建
Android平台結構圖:
架構的簡單解析:
①應用程式和應用程式架構部分使用的是Java語言
②android運行時:Android核心庫集 + Dalvik虛擬機器
每個app都單獨地運行在單獨的Dalvik虛擬機器內(每個app對於一條Dalvik進程)
③運行流程:
④Dalvik虛擬機器的特點:不需要很快的CPU計算速度和大量的記憶體空間;
而運行專有的.dex檔案是基於寄存器實現的,依賴於linux的核心功能
開發環境的搭建:
2個中隨意選擇一個就可以了!進入傳送門學習建立一個自己的app
①Eclpise + ADT + SDK : 傳送門
②Android Studio : 傳送門
熟悉IDE開發APP的流程
相關術語的解析:
Dalvik:android特有的虛擬機器,和JVM不同,Dalvik虛擬機器非常適合在移動終端上使用!
AVD"(android virtual machine):安卓虛擬設備,就是安卓的模擬器
ADT:(android development tools)安卓開發工具
SDK:(software development kit)軟體開發套件,就是安卓系統,平台架構等的工具集合,如adb.exe
DDMS:(dalvik debug monitor service)安卓調試工具
adb:安卓調試橋,在sdk的platform-tools目錄下,功能很多,等下會慢慢介紹
DX工具:將.class轉換成.dex檔案
AAPT:(android asset packing tool),安卓資源打包工具,
R.java檔案:由aapt工具根據App中的資源檔自動產生,可以理解為資源字典
AndroidManifest.xml:app包名 + 組件聲明 + 程式相容的最低版本 + 要求的權限等程式的設定檔
*其他雜項
①adb相關指令:
ps:以下指令需要在命令列下輸入,而且要來到sdk的目錄下的platform-tools
當然你也可以配置PATH,就直接可以用下面的adb指令了
②安卓APP程式帶包&安裝流程:
③android app的軟體安裝過程:
初學Android開發一個完整的詳細的Android小程式源碼參考
媒體播放器源碼Audio.java
package org.example.audio;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.KeyEvent;
public class Audio extends Activity {
private MediaPlayer up, down, left, right, enter;
private MediaPlayer a, s, d, f;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Native rate is 44.1kHz 16 bit stereo, but
// to save space we just use MPEG-3 22kHz mono
up = MediaPlayer.create(this, R.raw.up);
down = MediaPlayer.create(this, R.raw.down);
left = MediaPlayer.create(this, R.raw.left);
right = MediaPlayer.create(this, R.raw.right);
enter = MediaPlayer.create(this, R.raw.enter);
a = MediaPlayer.create(this, R.raw.a);
s = MediaPlayer.create(this, R.raw.s);
d = MediaPlayer.create(this, R.raw.d);
f = MediaPlayer.create(this, R.raw.f);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
MediaPlayer mp;
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_UP:
mp = up;
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
mp = down;
break;
case KeyEvent.KEYCODE_DPAD_LEFT:
mp = left;
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
mp = right;
break;
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
mp = enter......餘下全文>>
Android應用開發入門教程(經典版) 配套的原始碼
此書的原始碼,採用google發布的Apidemos為原始碼。
在Eclpise匯入android SDK內建的API demos很簡單:
1.建立項目:File- New-Project- 選擇Android Project. 選擇 create project from existing source
2.選擇APIdemos 路徑. \android-sdk_安裝路徑\android-sdk-windows\samples\android-7\ApiDemos
3.選擇版本.android-15對應的是4.0
4.點擊 finish.
例如:原始碼:com/example/android/apis/app/ReceiveResult.java,那麼在src中就可以找到。