通过第一个android程序helloworld对各个文件的了解

src/

每个Android程序都包含资源目录(src)主要存放资源文件

packagecn.csdn.class3g;//声明包名称

importandroid.app.Activity;

importandroid.os.Bundle;

public classHelloWorldActivity extends Activity {//定义类  继承activity

    /** Called when the activity is firstcreated. */

    @Override

    public void onCreate(BundlesavedInstanceState) {//重写方法onCreate应用程序启动时调用

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);//设置画面显示时的视图(初始化后的helloView)

    }

}

gen/

gen/自动生成目录:gen 目录中最关键的程序就是 R.java 。R.java 自动生成的。会由 ADT 插件自动根据你放入 res 目录的 XML 中字符、视频/音频文件、图像等资源,自动更新添加'R.java' 这个文件中。只要修改XMLR.java会自动更新,所有的 Android 程序中都会有以R.java 为名的这个文件,你完全不需要,也应避免手工修改 R.java 这个文件。如果目录下没有R.java,也不用着急,可以右击工程->选择Properties->选择 Android->Apply就行  还有一种是右击工程->选择Android Tools->选择FixProject Properties

新建项目R.java会默认有四个内部类

R.java文件:默认有attr,drawable,layout,string这四个静态内部类,每个静态内部类对应一中资源,如layout静态内部类对应layout中的界面文件,string静态内部类对应string内部的string标签。如果在layout中在增加一个界面文件或者在string内增加一个string标签,R.java会自动在其对应的内部类增加所增加的内容。

R.java除了自动标识资源的索引功能外,还有另一个功能,就是当res文件中的某个资源在应用中没有被用到,在这个应用被编译时,系统不会把对应的资源编译到应用中的APR包中。

packagecn.csdn.class3g;

 

public final classR {

    public static final class attr {

    }

    public static final class drawable {

        public static final int ic_launcher=0x7f020000;

    }

    public static final class layout {

        public static final int main=0x7f030000;

    }

    public static final class string {

        public static final int app_name=0x7f040001;

        public static final int hello=0x7f040000;

    }

}

其中定义的变量名字都是XML文件中映射过来的

Assets

词义本事就是资产的意义,主要存放视频、音频、多媒体等文件;

访问的时候,则必须使用AssetManager以字节流的方式来读取,用起来非常的不方便

再下边是bin目录在bin目录下的res中

有三个目录drawable-hdpi  drawable-ldpi drawable-mdpi

drawable—hdpi看他的单词名肯定知道他是放置高分辨率的图片,drawable—mdpi放置中等分辨率的图片,drawable—ldpi放置低分辨率的图片

再下边有个res目录 其中那drawable-hdpi  drawable-ldpi drawable-mdpi跟上边一样

Values中的string.xml

<?xml version="1.0"encoding="utf-8"?>

    "hello">Hello World,HelloWorldActivity!

    "app_name">HelloWorld

这里定义一个个键值对 也就是赋值的  减少内存的浪费 也这对字符的统一管理和国际化有很大的意义

Main.xml

<?xml version="1.0"encoding="utf-8"?>

"http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical">

 

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

       android:text="@string/hello" />

布局文件的内容不多 , 开始就是一个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 的字符串

AndroidManifest.xml

<?xml version="1.0"encoding="utf-8"?>

"http://schemas.android.com/apk/res/android"

    package="cn.csdn.class3g":    该应用包

    android:versionCode="1"应用的版本号

    android:versionName="1.0" >应用的版本名字

 

    "10"/>

    "android.permission.SEND_SMS"/>

 

   

       android:icon="@drawable/ic_launcher"定义了应用的图标 引用资源文件中的 icon 图片

       android:label="@string/app_name" >定义了应用的名称

       

 

           android:label="@string/app_name"

            定义了 Activity 的类名 , 这里的 .HelloWorld 是以上面的Package 定义为基础的,也就是 Package(com.flysnow) 加上这个 android:name(.HelloWorld) 要能定位到这个 Activity(com.flysnow.HelloWorld) ,否则就是找不到 .

android:name=".HelloWorldActivity" >定义了该Activity 的标题 

 

           定义一个 Intent过滤器,用于标记对应的 Activity ,以便 Android系统能找到该 Activity ,定义的是隐性的Intent ,主要使用两个子标签 action 和 category 来区分每个 Intent 。

                "android.intent.action.MAIN"/>

                "android.intent.category.LAUNCHER"/>

           

       

   

 

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

就是定义应用的最低SDK 的级别,

元素是AndroidManifest.xml的根元素,”xmlns:android”是指该文件的命名空间,“package”属性是Android应用所在的包,“android:versionCode”指定应用的版本号,如果应用不断升级,则需要修改这个值,”android:versionName”是版本的名称,这个可以根据自己的喜爱改变

元素

元素是一个很重要的元素,开发组件都会在此下定义

元素的”icon”属性是用来设定应用的图标,其中“@drawable/ic_launcher”的意思是:在R.java文件中的drawable静态内部类下的icon,

元素的“label”属性用来设定应用的名称,其中“@string/app_name”和上述的一样,也是R.java文件中的string静态内部类下的app_name

元素

元素的作用是注册一个activity信息,当我们在创建“HelloWorldAndroid”这个项目时,指定了“CreatedActivity”属性为“HelloActivity”,然后ADT在生成项目时帮我们自动创建了一个Activity,就是“HelloWorldActivity.java”;

元素的“name“属性指定的是Activity的类名,其中“.HelloWorldActivity”中的“.”指的是元素中的“package”属性中指定的当前包,所以“.HelloWorldActivity”就相当于“cn.csdn.class3g.HelloWorldActivity.java”,如果Activity在应用的包中可以不写“.”,但是为了避免出错,还是写上这个点把

元素

如果直接翻译的话是“意图过滤器”,组件通过告诉它们所具备的功能,就是能响应意图类型,在intent中设置action, data, categroy之后在对应的intentfilter中设置相同的属性即可通过过滤被activity调用

应用要求运行的最低Android版本

    存放Android自身的jar包

 


更多相关文章

  1. android中使用arial字体
  2. Android(安卓)getResources的作用和需要注意点
  3. Android(安卓)Studio使用.so库的方式(科大飞讯为例)
  4. Android(安卓)Appliction 使用解析
  5. android GPS HAL 回调函数实现
  6. Android.mk简要说明
  7. Android(安卓)Kotlin 接口函数
  8. android 之 GridView
  9. 如何搭建android环境---windows系统环境里。

随机推荐

  1. 解决“Connection to https://dl-ssl.goo
  2. Android(安卓)ListView控件的基本用法
  3. 编译友善之背的mini210的android文件系统
  4. Android——控制UI界面
  5. 高斯模糊效果移植到android系统
  6. 使用 Android(安卓)Studio 进行测试 (二)
  7. AndroidWebView的使用
  8. Android官方入门文档[10]支持不同的屏幕
  9. Android问题总结
  10. 取消自动获得焦点和弹出对话框