日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 环境配置和安装, Android系统包说明,基本控件,常用代码,ADB 命令行,APK文件确解,小技艺,...

發(fā)布時(shí)間:2023/12/19 Android 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 环境配置和安装, Android系统包说明,基本控件,常用代码,ADB 命令行,APK文件确解,小技艺,... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

  一、???????????? 環(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.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時(shí),需要如下設(shè)置下:

      ?

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

?

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

?  

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

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

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

    2.2中間件

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

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

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

  2.3?? 應(yīng)用程序框架(Application Framework)

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

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

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

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

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

  2.4?? 應(yīng)用程序 (Applications)

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

?

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

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

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

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

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

  android.location :定位和相關(guān)服務(wù)的類

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

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

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

  android.opengl :提供OpenGL 的工具

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

  android.telephony :提供與撥打電話相關(guān)的API 交互

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

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

  android.webkit :默認(rèn)瀏覽器操作接口

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

?

  四、???????????? Android項(xiàng)目工程說明

  

  src??????? 存放java源代碼。

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

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

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

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

  layout:存放與UI相關(guān)的布局文件,都是xml文件。

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

  values?存放字符串,顏色,數(shù)組等常量數(shù)據(jù)。可以任意命名,但是通常命名:color.xmlstrings.xmlarray.xmlstyles.xmldimens.xml(定義尺寸值:dimension value)

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

?

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

?

  五、???????????? 基本控件

5.1???? 文本框(TextView)、自動(dòng)完成(AutoCompleteTextView)

  自動(dòng)完成的效果和代碼:http://android.yaohuiji.com/archives/390

      AutoCompleteTextView :

     5.2???? 編輯框(EditText)

      

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

  5.3???? 下拉列表(Spinner)

      

  android:entries??????? 可以通過在strings.xml中指定string-array來設(shè)置選項(xiàng)。

  5.4???? 進(jìn)度條(ProgressBar)

      

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

  5.5???? 拖動(dòng)條(SeekBar)

      

  5.6???? 評(píng)分條(RatingBar)

      ?

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

      Button:

      ImageButton:

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

  ImageView

      Gallery

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

  5.9???? 日期和時(shí)間(DatePickerTimePicker)

      AnalogClock

      DigitalClock

      Chronometer(計(jì)時(shí)器)

      DatePicker

      DatePickerDialog

      TimePicker

      TimePickerDialog

  5.10?單項(xiàng)選擇(RadioGroupRadioButton)、多項(xiàng)選擇(CheckBox)

      CheckBox

      RadioButton

      ToggleButton

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

      GridView

      ListView

  GridViewhttp://blog.csdn.net/hellogv/archive/2009/09/18/4567095.aspx

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

  5.12?對(duì)話框(AlertDialog)、對(duì)話框中的進(jìn)度條(ProgressDialog)

      AlertDialog

  AlertDialoghttp://android.yaohuiji.com/archives/655

  ProgressDialoghttp://aina-hk55hk.javaeye.com/blog/679134

  5.13?菜單(Menu)

  5.14?提示(Toast)

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

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

  5.15?GestureOverLayView

      

      文章1、文章2

    5.16?HorizontalScrollView

      

    5.17?MapView

      

    5.18?VideoView

      

    5.19?WebView

      

    5.20?ZoomControls

      

?

  六、???????????? 布局和容器

  6.1?? 幀布局(FrameLayout)

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

  6.2?? 線性布局(LinearLayout)

      

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

    android:layout_gravity是本元素對(duì)父元素的重力方向。

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

  6.3?? 絕對(duì)布局(AbsoluteLayout)

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

  6.4?? 相對(duì)布局(RelativeLayout)

      

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

  6.5?? 表格布局(TableLayout)

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

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

  6.6?? 選項(xiàng)卡(TabWidget)

??????   

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

?

  七、???????????? 常用代碼

  7.1?? 在當(dāng)前Activity中啟動(dòng)另外一個(gè)Activity

????????  startActivity(new Intent(this,目標(biāo)Activity.class));

?

  7.2?? 從當(dāng)前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?? 無標(biāo)題欄、全屏

    //無標(biāo)題欄

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    //全屏模式

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

      WindowManager.LayoutParams.FLAG_FULLSCREEN);

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

?

  7.5?? 注冊(cè)activity

???????? 所有用到的Activity都必須在AndroidManifest.xml中注冊(cè),否則會(huì)報(bào)空指針錯(cuò)誤。如:<activity android:name="com.common.TestView"> ,注意是包名+類名。

?

  八、???????????? Adb命令行

  8.1?? DOS進(jìn)入android-sdk-windows\tools目錄

  8.2?? Linux

  登錄linux命令:adb shell

  列出當(dāng)前文件ls

  刪除文件rm 文件名

  8.3?? Sqlite

  登錄sqlite命令:sqlite3

  8.4?? Adb命令

  列出當(dāng)前有哪些活動(dòng)的模擬器: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.bz2apktool-install-windows-2.2_r01-2.tar.bz2解壓到同一個(gè)目錄,然后把待破解的apk文件拷貝到同一目錄,DOS進(jìn)入該目錄,輸入:aapt d 91callinfo.apk 91callinfo,這里第四個(gè)參數(shù)為破解完存放的路徑。

?

  9.3?? 反編譯dex獲取Java源代碼

???????? Apktool工具只能反編譯成smali的中間代碼文件,這里需要借助另外一個(gè)開源工具:dex2jar,下載地址:http://code.google.com/p/dex2jar/。這個(gè)工具不能直接翻譯成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)可以用WinRARapk文件中解壓出來。

?

  十、???????????? 小技巧

  10.1 ???????? 使用系統(tǒng)的圖標(biāo)

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

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

  圖標(biāo)名稱和效果(Android1.51.6)

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

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

?

  10.2 ???????? 讓控件透明,如ImageButton

???????? 設(shè)置android:background="@null"

?

  10.3 ???????? layout中直接指定onclick方法

???????? 不用手動(dòng)綁定,在layout中設(shè)置android:onClick=”methodName”methodName為對(duì)應(yīng)Activity中的方法,如下格式:public void methodName(View view){} (適應(yīng)1.6以上版本)

?

  10.4 ???????? PC鍵盤控制模擬器

PC鍵盤

模擬器按鍵

說明

Home

Home

主頁

F2

Menu

菜單

Esc

Back

后退

F3

Call

打電話

F4

Hangup

掛斷

F5

Search

搜索

Ctrl+F12

?

橫豎屏切換

?


  10.5 ???????? 進(jìn)入界面就顯示/隱藏軟鍵盤

???????? AndroidManifest.xml中設(shè)置activity

???????? android:windowSoftInputMode="stateHidden"

?

  10.6 ???????? 界面可視化布局工具

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

???????? DroidDrawhttp://www.droiddraw.org/

?

  10.7????????? Eclipse中看Android的源碼

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

?

  十一、????? Q & A

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

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

-> Reset adb

?

  11.2????????? 匿名類中如何使用this

???????? classname(類名).this

?

  11.3????????? 程序出錯(cuò)后模擬器上僅顯示應(yīng)用程序遇到問題將關(guān)閉怎么辦?

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

?

  十二、后期維護(hù)

    12.1  2010-10-1  

      補(bǔ)充了許多控件的截圖,導(dǎo)出PDF下載: http://download.csdn.net/source/2729442

    12.2  2010-10-18

      補(bǔ)充了GestureOverLayView的文章鏈接,文章1是英語的,文章2為中文的。

?

轉(zhuǎn)載于:https://www.cnblogs.com/csj007523/archive/2011/01/08/1930811.html

總結(jié)

以上是生活随笔為你收集整理的android 环境配置和安装, Android系统包说明,基本控件,常用代码,ADB 命令行,APK文件确解,小技艺,...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。