西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)其它知識 → 學習Android 需要哪些工具 Android 2.2快速入門指南

學習Android 需要哪些工具 Android 2.2快速入門指南

相關軟件相關文章發(fā)表評論 來源:本站整理時間:2010/9/27 14:57:12字體大小:A-A+

作者:佚名點擊:2475次評論:1次標簽: Android

  • 類型:源碼相關大。23.6M語言:中文 評分:9.1
  • 標簽:
立即下載
這是前段時間用于公司Android入門培訓的資料,學習Android三周時間收集整理的,時間倉促,希望能對像我這樣還沒入門就直接上項目的人一點幫助  :)

 正文

  一、             環(huán)境配置和安裝(Android2.2)

  參考文章:這里

  1.1     JDK

  1.2     SDK

  下載地址:http://dl.google.com/android/android-sdk_r06-windows.zip

  1.3     Eclipse 3.5 (Galileo)

  下載地址:http://www.innovatechautomation.com/soft/3700.html

  1.4     ADT 0.9.7

  下載地址:http://dl.google.com/android/ADT-0.9.7.zip

  1.5     安裝

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

       

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

   二、             Android系統(tǒng)架構(gòu)

   

    2.1   Linux內(nèi)核(Linux Kernel)

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

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

    2.2中間件

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

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

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

  2.3   應用程序框架(Application Framework)

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

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

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

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

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

  2.4   應用程序 (Applications)

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

   三、             Android系統(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項目工程說明

  

  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ù)?梢匀我饷峭ǔC篶olor.xml、strings.xml、array.xml、styles.xml、dimens.xml(定義尺寸值:dimension value)

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

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

  六、             布局和容器

  6.1   幀布局(FrameLayout)

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

  6.2   線性布局(LinearLayout)

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

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

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

  6.3   絕對布局(AbsoluteLayout)

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

  6.4   相對布局(RelativeLayout)

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

  6.5   表格布局(TableLayout)

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

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

  6.6   選項卡(TabWidget)

         

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

 

  七、             常用代碼

  7.1   在當前Activity中啟動另外一個Activity

          startActivity(new Intent(this,目標Activity.class));

 

  7.2   從當前ContentView從查找控件

     (Button)findViewById(R.id.btnAbout)

    R.id.btnAbout指控件id。

   7.3   獲取屏幕寬高

    DisplayMetrics dm = new DisplayMetrics();

    //獲取窗口屬性

    getWindowManager().getDefaultDisplay().getMetrics(dm);

 

    int screenWidth = dm.widthPixels;//320

    int screenHeight = dm.heightPixels;//480

   7.4   無標題欄、全屏

    //無標題欄

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    //全屏模式

  getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   

      WindowManager.LayoutParams.FLAG_FULLSCREEN);

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

   7.5   注冊activity

         所有用到的Activity都必須在AndroidManifest.xml中注冊,否則會報空指針錯誤。如:<activity android:name="com.common.TestView">,注意是包名+類名。

 

  八、             Adb命令行

  8.1   DOS進入android-sdk-windows\tools目錄

  8.2   Linux

  登錄linux命令:adb shell

  列出當前文件:ls

  刪除文件:rm文件名

  8.3   Sqlite

  登錄sqlite命令:sqlite3

  8.4   Adb命令

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

  上傳文件:adb push

  安裝apk文件:adb install android123.apk

 

  九、             Apk文件破解

  9.1   獲取apk的資源圖片

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

   9.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進入該目錄,輸入:aapt d 91callinfo.apk 91callinfo,這里第四個參數(shù)為破解完存放的路徑。

 

  9.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文件中解壓出來。

   十、             小技巧

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

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

  <ImageView android:src="@android:drawable/ic_menu_call"

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

http://since2006.com/android/1.5-drawables.php

http://since2006.com/android/1.6-drawables.php

   10.2          讓控件透明,如ImageButton

         設置android:background="@null"

   10.3          在layout中直接指定onclick方法

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

   10.4          用PC鍵盤控制模擬器

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

         在AndroidManifest.xml中設置activity的

         android:windowSoftInputMode="stateHidden"

   10.6          界面可視化布局工具

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

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

 

  10.7          在Eclipse中看Android的源碼

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

   十一、      Q & A

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

                  Window(窗口) -> Show Views(顯示視圖) -> device -> view menu(視圖菜單)

-> Reset adb

   11.2          匿名類中如何使用this?

         classname(類名).this

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

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

   資料均來自網(wǎng)絡,感謝這些人的分享~~

    相關評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    第 1 樓 四川成都鐵通ADSL 網(wǎng)友 客人 發(fā)表于: 2010/9/30 19:19:39

    支持( 0 ) 蓋樓(回復)

    發(fā)表評論 查看所有評論(1)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)