自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android 2.2快速入門學習教程

移動開發(fā) Android
Android 2.2快速入門學習是本文要介紹的內(nèi)容,主要是來了解并學習Android 2.2入門學習的內(nèi)容,具體關于Android 2.2內(nèi)容的詳解來看本文。

Android 2.2快速入門學習是本文要介紹的內(nèi)容,主要是來了解并學習Android 2.2入門學習的內(nèi)容,具體關于Android 2.2內(nèi)容的詳解來看本文。

一、環(huán)境配置和安裝Android 2.2

參考文章:這里

1、JDK

2、SDK

下載地址:

  1. http://dl.google.com/android/android-sdk_r06-windows.zip 

3、Eclipse3.5(Galileo)

下載地址:

  1. http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-java-galileo-win32.zip 

4、ADT0.9.7

下載地址:

  1. http://dl.google.com/android/ADT-0.9.7.zip 

5、安裝

依次下載,按照文章步驟安裝即可,注意安裝SDK時,需要如下設置下:

不然更新不下來,那個鏈接地址被墻了。

二、Android 2.2系統(tǒng)架構

1、Linux內(nèi)核(LinuxKernel)

*Android 2.2運行在linuxkernel2.6之上,但是把linux內(nèi)受GNU協(xié)議約束的部分做了取代,這樣在Android的程序可以用于商業(yè)目的。

*Linux內(nèi)核是硬件和軟件層之間的抽象層。

2、中間件

*中間件包括兩部分:核心庫和運行時(libraries&Androidruntime)

*核心庫包括,SurfaceManager顯示系統(tǒng)管理庫,負責把2D或3D內(nèi)容顯示到屏幕;MediaFramework媒體庫,負責支持圖像,支持多種視頻和音頻的錄制和回放;SQlite數(shù)據(jù)庫,一個功能強大的輕量級嵌入式關系數(shù)據(jù)庫;WebKit瀏覽器引擎等。

*Dalvik虛擬機:區(qū)別于Java虛擬機的是,每一個Android應用程序都在它自己的進程中運行,都有一個屬于自己的Dalvik虛擬機,這一點可以讓系統(tǒng)在運行時可以達到優(yōu)化,程序間的影響大大降低。Dalvik虛擬機并非運行Java字節(jié)碼,而是運行自己的字節(jié)碼。

3、應用程序框架(ApplicationFramework)

*豐富而又可擴展性的視圖(Views),可以用來構建應用程序,它包括列表(lists),網(wǎng)格(grids),文本框(textboxes),按鈕(buttons),可嵌入的web瀏覽器。

*內(nèi)容提供者(ContentProviders)使得應用程序可以訪問另一個應用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫),或者共享它們自己的數(shù)據(jù)。

*資源管理器(ResourceManager)提供非代碼資源的訪問,如本地字符串,圖形,和布局文件(layoutfiles)。

*通知管理器(NotificationManager)使得應用程序可以在狀態(tài)欄中顯示自定義的提示信息。

*活動管理器(ActivityManager)用來管理應用程序生命周期并提供常用的導航回退功能。

4、應用程序(Applications)

*Android系統(tǒng)會內(nèi)置一些應用程序包包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應用程序都是使用JAVA語言編寫的。

#p#

三、Android 2.2系統(tǒng)包說明

android.app:提供高層的程序模型、提供基本的運行環(huán)境

android.content:包含各種的對設備上的數(shù)據(jù)進行訪問和發(fā)布的類

android.database:通過內(nèi)容提供者瀏覽和操作數(shù)據(jù)庫

android.graphics:底層的圖形庫,包含畫布,顏色過濾,點,矩形,可以將他們直接繪制到屏幕上.

android.location:定位和相關服務的類

android.media:提供一些類管理多種音頻、視頻的媒體接口

android.net:提供幫助網(wǎng)絡訪問的類,超過通常的Java.net.*接口

android.os:提供了系統(tǒng)服務、消息傳輸、IPC機制

android.opengl:提供OpenGL的工具

android.provider:提供類訪問Android的內(nèi)容提供者

android.telephony:提供與撥打電話相關的API交互

android.view:提供基礎的用戶界面接口框架

android.util:涉及工具性的方法,例如時間日期的操作

android.webkit:默認瀏覽器操作接口

android.widget:包含各種UI元素(大部分是可見的)在應用程序的屏幕中使用

四、Android 2.2項目工程說明

src:存放java源代碼。

gen:存放編譯器自動生成的java代碼,這個目錄下的文件是系統(tǒng)自動維護的。

assets:存放在這個目錄下的文件,無論是mp3還是圖片,都會被打包到發(fā)布包中。

res:資源文件目錄,添加到這個目錄下的文件都會在gen下的R.ava文件中顯示出來;如果res下存放的資源在應用中沒有使用到,那么在gen下的R.java的文件中就不會顯示,那么打包的時候就不會將這部分資源打包,減少了應用的發(fā)布文件大小。

drawable:存放圖片文件,注意圖片名稱必須是[a-z0-9_.]組成;drawable目錄下不能分子級目錄,只能通過命名方法來加以區(qū)分。

layout:存放與UI相關的布局文件,都是xml文件。

raw:直接復制到設備中的任意文件,不會被編譯,可以放數(shù)據(jù)庫文件。

values:存放字符串,顏色,數(shù)組等常量數(shù)據(jù)。可以任意命名,但是通常命名:color.xml、strings.xml、array.xml、styles.xml、dimens.xml(定義尺寸值:dimensionvalue)

xml:任意的XML文件,在運行時可以通過調(diào)用Resources.getXML()讀取。

參見

  1. http://www.inandroid.cn/bbs/thread-1401-1-1.html 

五、基本控件

1、文本框(TextView)、自動完成(AutoCompleteTextView)

自動完成的效果和代碼:http://android.yaohuiji.com/archives/390

AutoCompleteTextView:

2、編輯框(EditText)

android:hint內(nèi)容為空時提醒的信息,如“請輸入”

3、下拉列表(Spinner)

android:entries可以通過在strings.xml中指定string-array來設置選項。

4、進度條(ProgressBar)

效果和代碼:

  1. http://www.eoeandroid.com/viewthread.php?tid=1081 

#p#

5、拖動條(SeekBar)

6、評分條(RatingBar)

7、按鈕(Button)、圖片按鈕(ImageButton)

Button:

ImageButton:

8、圖片框(ImageView)、畫廊(Gallery)

ImageView

Gallery

畫廊效果:http://android.yaohuiji.com/archives/565

9、日期和時間(DatePicker、TimePicker)

AnalogClock

DigitalClock

Chronometer(計時器)

DatePicker

DatePickerDialog

TimePicker

TimePickerDialog

10、單項選擇(RadioGroup、RadioButton)、多項選擇(CheckBox)

CheckBox

RadioButton

ToggleButton

11、表格(GridView)、列表(ListView)

GridView

ListView

  1. GridView:http://blog.csdn.net/hellogv/archive/2009/09/18/4567095.aspx  
  2. ListView:http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html 

12、對話框(AlertDialog)、對話框中的進度條(ProgressDialog)

AlertDialog

AlertDialog:http://android.yaohuiji.com/archives/655

ProgressDialog:http://aina-hk55hk.javaeye.com/blog/679134

13、菜單(Menu)

14、提示(Toast)

類似于MessageBox,非模式窗口。如:

Toast.makeText(this,"信息",Toast.LENGTH_SHORT).show();

15、GestureOverLayView

文章1、文章2

16、HorizontalScrollView

17、MapView

18、VideoView

19、WebView

20、ZoomControls

 

 

#p#

六、布局和容器

1、幀布局(FrameLayout)

放入其中的所有元素都被放置最左上的區(qū)域,無法為這些元素指定一個確切的位置。如果有多個子元素,那么后邊的子元素的顯示會重疊在前一個元素上。

2、線性布局(LinearLayout)

常用布局,子元素按行或列依次排列。

Android 2.2:layout_gravity是本元素對父元素的重力方向。

Android 2.2:gravity是本元素所有子元素的重力方向。

3、絕對布局(AbsoluteLayout)

可以讓子元素指定準確的x/y坐標值,(0,0)為左上角,沒有頁邊框,允許元素之間互相重疊。

4、相對布局(RelativeLayout)

允許子元素指定他們相對于其它元素或父元素的位置(通過ID指定)

5、表格布局(TableLayout)

將子元素的位置分配到行(TableRow)中,注意不會顯示邊框線也不能夠跨行合并單元格。

例子:

  1. http://hi.baidu.com/hoyah/blog/item/d9db34275d6f361a8b82a171.html 

6、選項卡(TabWidget)

例子:

  1. http://fatkun.com/2010/06/android-tabwidget.html 

七、常用代碼

1、在當前Activity中啟動另外一個Activity

  1. startActivity(newIntent(this,目標Activity.class)); 

2、從當前ContentView從查找控件

  1. (Button)findViewById(R.id.btnAbout)  
  2. R.id.btnAbout指控件id。 

3、獲取屏幕寬高

  1. DisplayMetricsdm=newDisplayMetrics();  
  2. //獲取窗口屬性  
  3. getWindowManager().getDefaultDisplay().getMetrics(dm);  
  4. intscreenWidth=dm.widthPixels;//320  
  5. intscreenHeight=dm.heightPixels;//480 

4、無標題欄、全屏

  1. //無標題欄  
  2. requestWindowFeature(Window.FEATURE_NO_TITLE);  
  3. //全屏模式  
  4. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,  
  5. WindowManager.LayoutParams.FLAG_FULLSCREEN); 

注意在setContentView()之前調(diào)用,否則無效。

5、注冊activity

所有用到的Activity都必須在AndroidManifest.xml中注冊,否則會報空指針錯誤。如:,注意是包名+類名。

八、Adb命令行

1、DOS進入android-sdk-windows\tools目錄

2、Linux

登錄linux命令:adbshell

列出當前文件:ls

刪除文件:rm文件名

3、Sqlite

登錄sqlite命令:sqlite3

4、Adb命令

列出當前有哪些活動的模擬器:adbdevices

上傳文件:adbpush

安裝apk文件:adbinstallandroid123.apk

#p#

九、Apk文件破解

1、獲取apk的資源圖片

直接用WinRAR打開,res/drawable直接拖拽出來即可。

2、獲取xml文件信息

雖然能用WinRAR看到里面的xml文件,但是xml是經(jīng)過優(yōu)化的,無法直接查看,需要使用apktool工具,下載地址:https://code.google.com/p/android-apktool/。

下載apktool-1.3.1.tar.bz2和apktool-install-windows-2.2_r01-2.tar.bz2解壓到同一個目錄,然后把待破解的apk文件拷貝到同一目錄,DOS進入該目錄,輸入:aaptd91callinfo.apk91callinfo,這里第四個參數(shù)為破解完存放的路徑。

3、反編譯dex獲取Java源代碼

Apktool工具只能反編譯成smali的中間代碼文件,這里需要借助另外一個開源工具:dex2jar,下載地址:http://code.google.com/p/dex2jar/。這個工具不能直接翻譯成java文件,但是可以把dex文件轉(zhuǎn)換成jar文件,然后可以通過jad工具把jar文件反編譯成Java源文件,如果只是看看源碼的話可以用jd-gui,下載地址:

http://java.decompiler.free.fr/jd-gui/downloads/jd-gui-0.3.3.windows.zip。

dex文件(classes.dex)可以用WinRAR從apk文件中解壓出來。

十、小技巧

1、使用系統(tǒng)的圖標

例如調(diào)用系統(tǒng)打電話的圖標:

圖標名稱和效果(Android1.5和1.6):

  1. http://since2006.com/android/1.5-drawables.php  
  2. http://since2006.com/android/1.6-drawables.php 

2、讓控件透明,如ImageButton

設置android:background="@null"

3、在layout中直接指定onclick方法

不用手動綁定,在layout中設置android:onClick=”methodName”,methodName為對應Activity中的方法,如下格式:publicvoidmethodName(Viewview){}(適應1.6以上版本)

4、用PC鍵盤控制模擬器

PC鍵盤模擬器按鍵說明

HomeHome主頁

F2Menu菜單

EscBack后退

F3Call打電話

F4Hangup掛斷

F5Search搜索

Ctrl+F12橫豎屏切換

5、進入界面就顯示/隱藏軟鍵盤

在AndroidManifest.xml中設置activity的

  1. android:windowSoftInputMode="stateHidden" 

6、界面可視化布局工具

系統(tǒng)提供可視化布局并不好用,這里推薦一款,布局完后點生成代碼即可:

DroidDraw:http://www.droiddraw.org/

7、在Eclipse中看Android的源碼

將源代碼拷貝至android-sdk-windows\platforms\android-4\sources下即可。注意源碼版本對應android-4文件夾,這里指Android1.6的源碼。

十一、Q&A

1、用模擬器調(diào)試頻繁連不上,或者報emulator-5554disconnected的錯誤?

  1. Window(窗口)->ShowViews(顯示視圖)->device->viewmenu(視圖菜單)->Resetadb 

2、匿名類中如何使用this?

classname(類名).this

3、程序出錯后模擬器上僅顯示應用程序遇到問題將關閉怎么辦?

可以從LogCat中檢查錯誤,默認LogCat在DDMS視圖中,可以通過以下方法調(diào)整到Java視圖與控制臺并列顯示:點擊Eclipse左下角,點開后在其他里面找到Android 2.2目錄下的LogCat拖拽出來即可。

小結(jié):

Android 2.2 快速入門學習教程的內(nèi)容介紹完了,希望通過Android 2.2 內(nèi)容的學習能對你有所幫助!

責任編輯:zhaolei 來源: 博客園
相關推薦

2010-09-27 14:39:22

Android

2011-09-14 10:52:39

Android 2.2

2009-09-25 10:24:40

Androind入門教OPhone

2010-05-21 12:50:45

Subversion快

2009-07-21 14:24:46

iBATIS教程

2010-05-12 17:41:11

Subversion教

2009-06-10 20:03:54

netbeans6.0模塊

2010-05-27 17:27:45

Subversion快

2016-12-27 14:06:36

Python代碼基礎

2011-09-05 16:43:00

jQuery Mobi

2020-02-21 08:18:58

JavaScala編程語言

2016-12-02 19:19:35

大數(shù)據(jù)Hadoop

2010-12-08 09:03:40

SQLiteAndroid

2011-09-06 16:16:48

jQuery Mobi

2011-09-02 10:59:10

jQuery Mobi

2016-11-21 16:23:24

Android StGoogle

2014-06-04 10:42:34

Swift蘋果iOS

2017-09-30 16:06:28

代碼注解分析

2011-04-12 14:09:55

XML

2011-04-12 14:43:08

XML
點贊
收藏

51CTO技術棧公眾號