<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                在分析Android系統源代碼的過程中,常常會對系統的一些實現原理或者執行邏輯有不確定的地方,這時候就有必要親自寫一個應用程序來驗證系統的行為,從而證實系統的實現原理或者執行邏輯。在本書后面的章節中,我們也會經常結合具體的應用程序實例來分析Android系統的源代碼,本節就介紹如何在Android源代碼工程環境中開發Android應用程序。 本節不打算詳細介紹Android應用程序的開發方法,并假設讀者已經熟悉如何使用Android SDK來開發Android應用程序,具體可以參考前面在1.2小節中所介紹的《Professional Android 2 Application Development》和《Google Android SDK開發范例大全》兩本書。 在Android源代碼工程環境中,我們通常把實驗性質的Android應用程序放在packages/experimental目錄下。本書將要開發的應用程序名稱為HelloAndroid,它的目錄結構如下: ~~~ ~/Android/packages/experimental/HelloAndroid ----AndroidManifest.xml ----Android.mk ----src ----shy/luo/hello ----HelloAndroid.java ----res ----layout ----main.xml ----values ----strings.xml ----drawable ----icon.png ~~~ Android應用程序工程一般包含有一個源代碼目錄src、一個資源目錄res、一個配置文件AndroidManifest.xml和一個編譯腳本文件Android.mk。接下來,我們就分別介紹這些文件的實現。 HelloAndroid.java ~~~ package shy.luo.hello; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class HelloAndroid extends Activity { private final static String LOG_TAG = "shy.luo.hello.HelloAndroid"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.i(LOG_TAG, "HelloAndroid Activity Created."); } } ~~~ 這是應用程序HelloAndroid的源代碼文件,定義了一個Activity組件HelloAndroid,用作應用程序的主界面。 main.xml ~~~ <!--?xml version="1.0" encoding="utf-8"?--> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center"> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="@string/hello_android"> </textview> </linearlayout> ~~~ 這是應用程序HelloAndroid的主界面配置文件,在屏幕中間用一個TextView控件來顯示一段“Hello Android”文本。 strings.xml ~~~ <!--?xml version="1.0" encoding="utf-8"?--> <resources> <string name="app_name">HelloAndroid</string> <string name="hello_android">Hello Android</string> </resources> ~~~ 這是應用程序HelloAndroid的字符串資源文件,定義了在應用程序中用到的各個字符串。 icon.png 這是應用程序HelloAndroid的圖標,可以根據需要來放置不同的圖片文件。 AndroidManifest.xml ~~~ <!--?xml version="1.0" encoding="utf-8"?--> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="shy.luo.hello" android:versioncode="1" android:versionname="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".HelloAndroid" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"></action> <category android:name="android.intent.category.LAUNCHER"></category> </intent-filter> </activity> </application> </manifest> ~~~ 這是應用程序HelloAndroid的配置文件,應用程序HelloAndroid中所用到的Activity組件HelloAndroid需要在這里配置之后才能使用。 Android.mk ~~~ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-subdir-java-files) LOCAL_PACKAGE_NAME := HelloAndroid include $(BUILD_PACKAGE) ~~~ 這是應用程序HelloAndroid的編譯腳本文件,指定應用程序的名字為“HelloAndroid”。 應用程序HelloAndroid的各個文件都準備好以后,我們就可以對它們進行編譯了。在Android源代碼工程環境中開發Android應用程序不需要使用make命令來重新編譯整個Android源代碼工程,因為這將是一個漫長的過程。我們只需要單獨編譯新增的Android應用程序模塊就可以了。在接下來的1.6小節中,我們將詳細介紹如何單獨編譯Android源代碼工程中的Android應用程序模塊。 應用程序HelloAndroid經過編譯,以及重新打包Android系統文件system.img之后,我們就可以使用這個新的system.img文件來啟動Android模擬器了。Android模擬器啟動起來之后,我們就可以在應用程序啟動器中看到應用程序HelloAndroid的快捷圖標了。點擊應用程序HelloAndroid的快捷圖標,就可以將它啟動起來,如圖1-2所示。 ![](https://box.kancloud.cn/581d446f43ad3752d35d10f8a99e83d5_794x564.png =794x564)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看