首頁(yè) 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場(chǎng)

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評(píng)測(cè) / 活動(dòng)區(qū)

交流區(qū) | 測(cè)硬件 | 網(wǎng)站活動(dòng) | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問(wèn)我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 13662|回復(fù): 0
上一主題 下一主題
[教程]

Android開(kāi)發(fā)筆記第七篇(源代碼的各個(gè)文件及ADB 工具使用)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-8-28 16:30 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 meigui 于 2011-8-30 22:28 編輯       第四部分: 源代碼的各個(gè)文件   
   
   
Android.mk 是整個(gè)工程的“Makefile”,其內(nèi)容如下所示:   
   
   
LOCAL_PATH:= $(call my-dir)   
include $(CLEAR_VARS)   
LOCAL_MODULE_TAGS := samples   
# Only compile source java files in this apk.   
LOCAL_SRC_FILES := $(call all-java-files-under, src)   
LOCAL_PACKAGE_NAME := HelloActivity   
LOCAL_SDK_VERSION := current   
include $(BUILD_PACKAGE)   
# Use the following include to make our test apk.   
include $(call all-makefiles-under,$(LOCAL_PATH))   
   
   
   
   
這個(gè)文件在各個(gè) Android 的工程中都是類似的,其中 LOCAL_PACKAGE_NAME 表示了這個(gè)包的名字。LOCAL_MODULE_TAGS 表示了模塊的標(biāo),在這里使用的是samples,正式的應(yīng)用程序(packages 目錄中的應(yīng)用)中多使用 eng development。   
   
AndroidManifest.xml 是這個(gè) HelloActivity 工程的描述文件,其內(nèi)容如下所示:   
  1. <?xml version="1.0" encoding="utf-8"?>   
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"   
    package="com.example.android.helloactivity">   
    <application android:label="He llo, Activity!">   
    <activity android:name="He lloActivity">   
    <intent-filter>   
    <action android:name="android.intent.action.MAIN"/>   
    <category android:name="android.intent.category.LAUNCHER"/>   
    </intent-filter>   
    </activity>   
    </application>   
    </manifest>
復(fù)制代碼
其中 package 用于說(shuō)明這個(gè)包的名稱,android:labeapplication 中的內(nèi)容是表示這個(gè)應(yīng)用程序在界面上顯示的標(biāo)題,activity 中的 android:name 表示這個(gè) Android 的活動(dòng)的名稱。   
文件 src/com/example/android/helloactivity/HelloActivity.java 是程序主要文件,由 JAVA 語(yǔ)言   
寫成   
  1. package com.example.android.helloactivity;   
    import android.app.Activity;   
    import android.os.Bundle;   
    public class HelloActivity extends Activity {   
    public HelloActivity() {   
    }   
    @Override   
    public void onCreate(Bundle savedInstanceState) {   
    super.onCreate(savedInstanceState);   
    setContentView(R.layout.hello_activity);   
    }   
    }
復(fù)制代碼
com.example.android.helloactivity 表示的是這個(gè)包的名稱, 在文件的頭部引入了兩個(gè)包android.app.Activity 是一個(gè) Android 活動(dòng)( Activity)包,每一個(gè) Android 活動(dòng)都需要繼承Activity 類。包 android.os.Bundle 用于映射字符串的值。onCreate()是一個(gè)重載的函數(shù),在這個(gè)函數(shù)中實(shí)現(xiàn)應(yīng)用程序創(chuàng)建的所執(zhí)行的過(guò)程。其中setContentView()設(shè)置當(dāng)前的視圖(View)。設(shè)置的方法是使用一個(gè)文件,這個(gè)文件因此決定了視圖中包含的內(nèi)容。這里使用的是R.layout.hello_activity,表示從 res/layout/目錄中使用 hello_activity.xml 文件。   
res/layout/hello_activity.xml 文件的內(nèi)容如下所示:   
  1. <?xml version="1.0" encoding="utf-8"?>   
    <EditText xmlns:android="http://schemas.android.com/apk/res/android"   
    android:id="@+id/text"   
    android:layout_width="fill_parent"   
    android:layout_height="fill_parent"   
    android:textSize="18sp"   
    android:autoText="true"   
    android:capitalize="sentences"   
    android:text="@string/hello_activity_text_text" />
復(fù)制代碼
其中定義了一個(gè)可編輯的文本( EditText),下面的各項(xiàng)其實(shí)是它的各種屬性, android:text 表示這個(gè)文本的內(nèi) 容 ,string/hello_activity_text_text 表 示 找 到 相 應(yīng) 的 文 件 , 也 就 是 res/value/string.xml 文 件 中 的hello_activity_text_text 文本。   
res/value/string.xml 的內(nèi)容如下所示:   
  1. <?xml version="1.0" encoding="utf-8"?>   
    <resources>   
    <string name="hello_activity_text_text">He llo, World!</string>   
    </resources>
復(fù)制代碼
hello_activity_text_text 文本被 res/layout/hello_activity.xml 文件引用,正是應(yīng)用程序運(yùn)行時(shí)在   
屏幕顯示的文本。   
   
Android ADB 工具使用   
   
   
adb(Android Debug Bridge)是 Android 提供的一個(gè)通用調(diào)試工具,借助這個(gè)工具,我媽可以管理設(shè)備或手機(jī)模   
擬器的狀態(tài)。   
   
   
adb 功能操作:   
   
   
快速更新設(shè)備或手機(jī)模擬器中的代碼,如應(yīng)用或 Android 系統(tǒng)升級(jí)   
在設(shè)備上運(yùn)行 shell 命令   
管理設(shè)備或手機(jī)模擬器上預(yù)定端口   
在設(shè)備或手機(jī)模擬器上復(fù)制、粘貼文件   
   
   
   
adb 常用操作:   
   
   
安裝應(yīng)用到模擬器   
   
   
adb install app.apk   
   
   
Android 沒(méi)有提供一個(gè)卸載應(yīng)用的命令,只能手動(dòng)刪除:   
adb shell   
cd data/app   
rm app.apk   
   
   
進(jìn)入設(shè)備或模擬器的 Shell   
   
   
adb shell   
通過(guò)以上命令,可以進(jìn)入設(shè)備或模擬器的 shell 環(huán)境中,在這個(gè) Linux Shell 中,你可以執(zhí)行各種 Linux 的命令 ,   
另外如果只想執(zhí)行一條 shell 命令,可以采用以下方式:   
adb shell [command]   
如:   
adb shell dmesg   
會(huì)打印出內(nèi)核的調(diào)試信息   
   
   
發(fā)布端口   
   
   
可以設(shè)置任意的端口號(hào),做為主機(jī)向模擬器或設(shè)備的請(qǐng)求端口。如:   
adb forward tcp:5555 tcp:8000   
   
復(fù)制文件   
   
   
可向一個(gè)設(shè)備或從一個(gè)設(shè)備中復(fù)制文件   
   
   
復(fù)制一個(gè)文件或目錄到設(shè)備或模擬器上:   
   
adb push   
如:   
adb push test.txt /tmp/test.txt   
   
   
從設(shè)備或模擬器上復(fù)制一個(gè)文件或目錄   
   
adb pull   
如:   
adb pull /android/lib/libwebcore.os   
   
   
搜索/等待模擬器、設(shè)備實(shí)例   
   
   
   
取得當(dāng)前運(yùn)行的模擬器、設(shè)備的實(shí)例列表及每個(gè)實(shí)例的狀態(tài) |   
   
   
   
等待正在運(yùn)行的設(shè)備   
   
adb devices   
adb wait-for-device   
   
   
查看 Bug 報(bào)告   
   
   
adb bugreport   
   
   
記錄無(wú)線通訊日志   
   
   
無(wú)線通訊記錄日志非常多,在運(yùn)行時(shí)沒(méi)必要記錄,可以通過(guò)命令設(shè)置記錄   
adb shell   
logcat -b radio   
   
   
獲取設(shè)備 ID 和序列號(hào)   
   
   
adb get-product   
adb get-serialno   
   
   
   
訪問(wèn)數(shù)據(jù)庫(kù) SQLite3   
   
   
adb shell   
sqlite3   

上一篇:Android入門教程(四)之------Android工程目錄結(jié)構(gòu)介紹
下一篇:Android開(kāi)發(fā)筆記第一篇(開(kāi)放手機(jī)聯(lián)盟--Open Handset Alliance)

相關(guān)帖子

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號(hào) )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號(hào)

GMT+8, 2024-11-20 19:35 , Processed in 0.061043 second(s), 17 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報(bào):report#znds.com (請(qǐng)將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表