一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Android2.2快速入門

  一、 環境配置和安裝(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.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-Java-galileo-win32.zip

  1.4     ADT 0.9.7

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

  1.5     安裝

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

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

  二、Android系統架構

  2.1   Linux內核(Linux Kernel)

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

  * Linux 內核是硬件和軟件層之間的抽象層。  

  2.2中間件

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

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

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

  2.3   應用程序框架(Application Framework)

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

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

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

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

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

  2.4   應用程序 (Applications)

  * Android 系統會內置一些應用程序包包括email 客戶端,SMS 短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。所有的應用程序都是使用Java 語言編寫的。

  三、Android系統包說明

  Android.app :提供高層的程序模型、提供基本的運行環境

  Android.content :包含各種的對設備上的數據進行訪問和發布的類

  Android.database :通過內容提供者瀏覽和操作數據庫

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

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

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

  Android.NET :提供幫助網絡訪問的類,超過通常的Java.NET.* 接口

  Android.os :提供了系統服務、消息傳輸、IPC 機制

  Android.opengl :提供OpenGL 的工具

  Android.provider :提供類訪問Android 的內容提供者

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

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

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

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

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

  四、Android項目工程說明

  src:存放Java源代碼。

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

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

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

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

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

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

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

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

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

  五、 基本控件

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

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

  5.2     編輯框(EditText)

  Android:hint 內容為空時提醒的信息,如“請輸入”

  5.3     下拉列表(Spinner)

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

  5.4     進度條(ProgressBar)

  效果和代碼:http://www.eoeAndroid.com/viewthread.php?tid=1081

  5.5     拖動條(SeekBar)

  5.6     評分條(RatingBar)

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

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

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

  5.9     日期和時間(DatePicker、TimePicker)

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

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

  GridView:http://blog.csdn.NET/hellogv/archive/2009/09/18/4567095.ASPx

  ListView:http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html

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

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

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

  5.13 菜單(Menu)

  5.14 提示(Toast)

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

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

  六、布局和容器

  6.1   幀布局(FrameLayout)

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

  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()之前調用,否則無效。

  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是經過優化的,無法直接查看,需要使用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,這里第四個參數為破解完存放的路徑。

  9.3   反編譯dex獲取Java源代碼

  Apktool工具只能反編譯成smali的中間代碼文件,這里需要借助另外一個開源工具:dex2jar,下載地址:http://code.google.com/p/dex2jar/。這個工具不能直接翻譯成Java文件,但是可以把dex文件轉換成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   使用系統的圖標

  例如調用系統打電話的圖標:<ImageView Android:src="@Android:drawable/ic_menu_call"

  圖標名稱和效果(Android1.5和1.6):http://since2006.com/Android/1.5-drawables.phphttp://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 methodName(View view){} (適應1.6以上版本)

  10.4   用PC鍵盤控制模擬器

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

  在AndroidManifest.xml中設置activity的

  Android:windowSoftInputMode="stateHidden"

  10.6   界面可視化布局工具

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

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

  10.7   在Eclipse中看Android的源碼

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

  十一、Q & A

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

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

  11.2   匿名類中如何使用this?

  classname(類名).this

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

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

  結束:資料均來自網絡,感謝這些人的分享。

  參考文章:這里

it知識庫Android2.2快速入門,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 日本波多野结衣在线 | 成人午夜免费视频免费看 | 亚州va | 一起射福利 | 一级做性色a爰片久久毛片 一级做性色a爰片久久毛片免费 | 国产久爱青草视频在线观看 | 亚洲精品国产精品乱码不97 | 999影院成 人在线影院 | 色综合久久综合欧美综合图片 | 五月天色婷婷综合 | 9丨精品国产高清自在线看 aⅴ一区二区三区 | 久久大胆人体 | 欧美国产亚洲精品a第一页 欧美国产一区二区二区 | se成人国产精品 | 国产区精品福利在线观看精品 | 美女一级ba大片免色野外 | 国产一区二区三区视频 | 亚洲国产精品久久网午夜 | 亚洲欧美一区二区三区国产精品 | 伊人亚洲综合 | 97一区二区三区 | 久久久久久久久久久大尺度免费视频 | 亚洲人成一区二区三区 | 国产一区二区三区在线免费 | avtt亚洲一区中文字幕 | 国产一级特黄a大片99 | 9797在线看片亚洲精品 | 精品久久久久久久久免费影院 | 国产亚洲欧美另类专区 | 一本之道一区三区 | 美女久久 | 国产网红在线观看 | 黄色视屏在线免费观看 | 最近最新中文字幕在线第一页 | 激情综合网五月激情 | 国产精品综合视频 | 亚洲网站在线 | 日本xxxⅹ色视频在线观看网站 | 免费一级做a爰片性色毛片 免费一看一级毛片人 | 成人福利| 欧美亚洲国产成人不卡 |