• Android开发新手HelloWorld解析


      首先看这个 HelloWorld 类。

    Java代码
    public class HelloWorld extends Activity {   
        /** Called when the activity is first created. */  
        @Override  
        public void onCreate(Bundle savedInstanceState) {   
            super.onCreate(savedInstanceState);   
            setContentView(R.layout.main);   
        }   
    }  


      他继承了 Activity ,前面讲了,一个 Activity 可以想象成一个手机的屏幕,用于展示一屏的内容,所以所有要展示内容的屏幕都要继承 Activity 才能实现,接着覆盖了 onCreate() 方法对该 Activity 进行初始化 setContentView(R.layout. main ); 设置了使用 main.xml 这个布局文件作为当前 Activity 的内容展示 .main.xml 就是放在 res 下, layout 下面的文件 xml 布局文件 , 我们可以直接使用 R.layout.main 进行直接的引用他,这也是 Android 亮点的地方,省得我们为了引用一个 xml 文件再使用 File 类去读取,我们要做的只是把这个 xml 文件的索引给 Android ,他会自动的帮我们找到它并使用 .

    2. main.xml 布局文件

    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"  
        >  
    <TextView     
        android:layout_width="fill_parent"    
        android:layout_height="wrap_content"    
        android:text="@string/hello"  
        />  
    </LinearLayout>  


      布局文件的内容不多 , 开始就是一个 LinearLayout 组件的定义,然后在这个 LinearLayout 放了一个用于显示文字的 TextView 。现在来看一下几个参数 :

    .      LinearLayout 一个线性布局面板,只能垂直和水平布局, android:orientation="vertical" 代表里面的子元素只能垂直排列,而使用 android:orientation="horizontal" 就标识里面的子元素水平排列 ..
    .      android:layout_width 定义当前视图占的宽度,这里是 fill_parent 即为充满整个屏幕。而设置成 wrap_content 会根据当前视图的大小只能的改变宽度
    .      android:layout_height 是定义视图的高度,这里也是填充整个屏幕。而设置成 wrap_content 会根据当前视图的大小只能的改变高度。
    .      android:text 是这是 TextView 要显示的文本,可以是字符串,也可以是一个字符串的引用,这里是一个引用,引用的是 strings.xml 定义好的名字为 hello 的字符串
    3.      string.xml 介绍。

    Xml代码
    <?xml version="1.0" encoding="utf-8"?>  
    <resources>  
        <string name="hello">Hello World, HelloWorld!</string>  
        <string name="app_name">HelloWorld</string>  
    </resources>  


      这里我们看看就明白了,只要是定义一个个的 K-V 的键值对,供其他地方使用。比如上面的 main 中对 hello 的引用。这对字符的统一管理和国际化有很大的意义。



    4.      AndroidManifest.xml 的介绍

    Xml代码
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
          package="com.flysnow"  
          android:versionCode="1"  
          android:versionName="1.0">  
        <application android:icon="@drawable/icon" android:label="@string/app_name">  
            <activity android:name=".HelloWorld"  
                      android:label="@string/app_name">  
                <intent-filter>  
                    <action android:name="android.intent.action.MAIN" />  
                    <category android:name="android.intent.category.LAUNCHER" />  
                </intent-filter>  
            </activity>  

        </application>  
        <uses-sdk android:minSdkVersion="8" />  

    </manifest>  


      这是项目的重要配置文件,诸如 Activity ,权限, Intent 等都在这里配置

    Package: 定义了该应用的包。
    android:versioCode 定义了应用的版本号
    android:versionName 定义了应用的版本名字
    application 标签定义了一个应用,一个项目最多有一个 Application 标签。
    android:icon="@drawable/icon" 定义了应用的图标 引用资源文件中的 icon 图片
    android:label="@string/app_name" 定义了应用的名称
    activity 标签定义了一个 Activity ,你的每一个 Activity 必须在这里定义,否则不能运行 .
    Android:name 定义了 Activity 的类名 , 这里的 .HelloWorld 是以上面的 Package 定义为基础的,也就是 Package(com.flysnow) 加上这个 android:name(.HelloWorld) 要能定位到这个 Activity(com.flysnow.HelloWorld) ,否则就是找不到 .
    android:label 定义了该 Activity 的标题  
    intent-filter 定义一个 Intent 过滤器,用于标记对应的 Activity ,以便 Android 系统能找到该 Activity ,定义的是隐性的 Intent ,主要使用两个子标签 action 和 category 来区分每个 Intent 。



      最后的 <uses-sdk android:minSdkVersion="8" /> 就是定义应用的最低 SDK 的级别,

  • 相关阅读:
    4-9 路由 URL 和参数(1)
    pycharm开发时bug提示设置
    【Camera】Camera中光圈系数概念以及光圈的作用
    Android功耗(9)---MTK功耗问题分析1
    【知识普及】摄像机常用专业术语(上)
    Android 功耗(8)---如何找到阻止进入deep idle SODI的元凶
    Android功耗优化(7)---如何分析wakelock(wakeup source)持锁问题
    Linux内核虚拟内存管理之匿名映射缺页异常分析
    Android 功耗(6)---整机功耗测试
    Android 功耗(5)----功耗调试
  • 原文地址:https://www.cnblogs.com/cainiaoaixuexi/p/3409038.html
Copyright © 2020-2023  润新知