Hello Android例子的內部細節含代碼

    Hello Android例子的內部細節

    在這里,我們將學習Hello Android例子的內部細節或工作原理。愛掏網 - it200.com

    Android應用程序包含不同的組件,如Java源代碼,字符串資源,圖像,清單文件,APK文件等。愛掏網 - it200.com讓我們來了解一下Android應用程序的項目結構。愛掏網 - it200.com

    Java源代碼

    讓我們來看看由Eclipse IDE創建的Java源文件:

    package com.example.helloandroid;
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.widget.TextView;
    public class MainActivity extends Activity {//(1)
        @Override
        protected void onCreate(Bundle savedInstanceState) {//(2)
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.activity_main);//(3)
        }
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {//(4)
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.activity_main, menu);
            return true;
        }
    }
    

    (1) Activity 是一個Java類,它在屏幕上創建并顯示一個默認窗口,我們可以在窗口中放置不同的組件,例如按鈕、編輯框、文本視圖、下拉菜單等。愛掏網 - it200.com它類似于Java AWT的框架。愛掏網 - it200.com

    它為Activity提供了生命周期方法,例如onCreate、onStop、onResume等。愛掏網 - it200.com

    (2) onCreate方法 在Activity類被首次創建時調用。愛掏網 - it200.com

    (3) setContentView(R.layout.activity_main) 提供了關于我們布局資源的信息。愛掏網 - it200.com在這里,我們的布局資源是在activity_main.xml文件中定義的。愛掏網 - it200.com

    <RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity" >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:text="@string/hello_world" />
    </RelativeLayout>
    

    如您所見,一個TextView是由框架自動創建的。愛掏網 - it200.com但是這個字符串的消息是在strings.xml文件中定義的。愛掏網 - it200.com @string/hello_world 提供有關TextView消息的信息。愛掏網 - it200.comhello_world屬性的值是在strings.xml文件中定義的。愛掏網 - it200.com

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="app_name">helloandroid</string>
        <string name="hello_world">Hello world!</string>
        <string name="menu_settings">Settings</string>
    </resources>
    

    您可以從此文件更改hello_world屬性的值。愛掏網 - it200.com

    生成的R.java文件

    這是一個自動生成的文件,包含了res目錄中所有資源的ID。愛掏網 - it200.com它是由aapt(Android資源打包工具)生成的。愛掏網 - it200.com每當您在activity_main上創建任何組件時,R.java文件中會創建相應的ID,稍后可以在Java源文件中使用它。愛掏網 - it200.com

    /* AUTO-GENERATED FILE.  DO NOT MODIFY.
     *
     * This class was automatically generated by the
     * aapt tool from the resource data it found.  It
     * should not be modified by hand.
     */
    package com.example.helloandroid;
    public final class R {
        public static final class attr {
        }
        public static final class drawable {
            public static final int ic_launcher=0x7f020000;
        }
        public static final class id {
            public static final int menu_settings=0x7f070000;
        }
        public static final class layout {
            public static final int activity_main=0x7f030000;
        }
        public static final class menu {
            public static final int activity_main=0x7f060000;
        }
        public static final class string {
            public static final int app_name=0x7f040000;
            public static final int hello_world=0x7f040001;
            public static final int menu_settings=0x7f040002;
        }
        public static final class style {
            /** 
            Base application theme, dependent on API level. This theme is replaced
            by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
                Theme customizations available in newer API levels can go in
                res/values-vXX/styles.xml, while customizations related to
                backward-compatibility can go here.
             Base application theme for API 11+. This theme completely replaces
            AppBaseTheme from res/values/styles.xml on API 11+ devices.
      API 11 theme customizations can go here. 
            Base application theme for API 14+. This theme completely replaces
            AppBaseTheme from BOTH res/values/styles.xml and
            res/values-v11/styles.xml on API 14+ devices.
     API 14 theme customizations can go here. 
             */
            public static final int AppBaseTheme=0x7f050000;
            /**  Application theme. 
     All customizations that are NOT specific to a particular API-level can go here. 
             */
            public static final int AppTheme=0x7f050001;
        }
    }
    

    APK文件

    APK文件是由框架自動創建的。愛掏網 - it200.com如果你想在移動設備上運行Android應用程序,需要將其傳輸并安裝。愛掏網 - it200.com

    資源

    它包含包括activity_main、strings、styles等資源文件。愛掏網 - it200.com

    清單文件

    它包含有關包的信息,包括活動、服務、內容提供器等組件。愛掏網 - it200.com

    有關清單文件更多信息,請訪問這里: AndroidManifest.xml文件 。愛掏網 - it200.com

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 亚洲一区在线视频观看| 国产aⅴ一区二区| 日韩经典精品无码一区| 国产亚洲一区二区在线观看| 精品国产一区二区二三区在线观看 | 午夜视频久久久久一区| 久久精品无码一区二区WWW| 免费一区二区三区| 久久国产高清一区二区三区| 国产成人一区二区动漫精品| 加勒比无码一区二区三区| 久久无码人妻一区二区三区| 久久久无码精品国产一区| 伊人色综合一区二区三区 | 精品无人区一区二区三区在线| 一本AV高清一区二区三区| 成人精品一区二区三区中文字幕 | 国偷自产Av一区二区三区吞精| 福利一区福利二区| 一区二区三区中文字幕| 亚洲AV永久无码精品一区二区国产 | 一区二区三区人妻无码 | 精品一区二区高清在线观看| 国内精品视频一区二区八戒| 夜夜精品视频一区二区| 日韩色视频一区二区三区亚洲| 国产福利一区二区| 福利一区国产原创多挂探花| 在线观看国产区亚洲一区成人| 手机看片福利一区二区三区| 国产在线无码一区二区三区视频| 午夜福利一区二区三区高清视频| 久久精品一区二区三区资源网| 人妻少妇精品视频一区二区三区 | 区三区激情福利综合中文字幕在线一区亚洲视频1 | 午夜视频久久久久一区 | 亚洲精品色播一区二区| 免费看无码自慰一区二区| 日韩一区二区三区免费播放| 精品国产毛片一区二区无码 | 日韩精品无码Av一区二区|