标签:
在创建一个Android程序时,ADT会自动创建一些目录和文件。这些目录和文件有固定的作用。我们的项目一般是在这些文件中进行修改和添加。因此,了解这些文件和目录,对Android开发有着非常重要的作用。
这些目录和文件有其固定的作用,有的允许修改,有的不能修改。
5个较为重要的文件夹src、gen、assets、bin和res。
在这里,HelloAndroid工程建立初期,ADT根据工程向导中的“Create Activity”选项,自动建立了一个MainActivity.java文件。
assets目录用来存放原始格式的文件
例如音频文件、视频文件等二进制格式文件。
此目录中的资源不能够被R.java文件索引,因此只能以字节流的形式进行读取。缺省为空目录。
通常,Android应用程序下的背景音乐等文件,将放置在该文件夹。
bin目录保存了编译过程中的所产生的文件,以及最终生产的apk文件。
apk文件可直接在Android系统中安装。
本程序几个重要的文件:
1. AndroidManifest.xml文件
2. ItemDetailActivity.java ItemListActivity.java ItemDetailFragment.java ItemListFragment.java文件
3. activity_item_detail.xml activity_item_list.xml activity_item_twopane.xml fragment_item_detail.xml 文件
4. strings.xml文件
5. R.java文件
AndroidManifest.xml文件
该文件在项目的根目录下。此文件为Android项目的配置文件。Android项目中所使用的各种组件均需要在此文件中进行注册。本项目所需的各种权限需要在此文件中申明,并且指定了程序最低兼容版本和目标版本。
manifest元素包含一个application元素,application元素中能够声明Android程序中最重要的四种组件,包括Activity、Service、BroadcastReceiver和ContentProvider。
由图可见这个项目中有两个Activity,即ItemlistActivity和ItemDetailActivity,只有按照此方式注册的标签才能被Android项目使用。
Activity标签<intent-filter>用于指定该activity启动的方式。
1 <intent-filter> 2 <action android:name="android.intent.action.MAIN" /> 4 <category android:name="android.intent.category.LAUNCHER" /> 5 </intent-filter>
表明ItemListActivity是项目的主入口,项目启动时该Activity将被调用。
ItemDetailActivity.java ItemListActivity.java ItemDetailFragment.java ItemListFragment.java 文件
这些文件是本项目中所有的组件所对应的Java源代码。在src文件夹目录下。
以 ItemListActivity.java 为例,
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_item_list); }
表明onCreate()方法会在Activity首次启动时会被调用,调用父类的onCreate()函数,并将savedInstanceState传递给父类,savedInstanceState是Activity的状态信息;
setContentView 声明了需要显示的用户界面,此界面是用XML语言描述的界面布局,保存在scr/layout/activity_item_list.xml资源文件中。
activity_item_detail.xml activity_item_list.xml activity_item_twopane.xml fragment_item_detail.xml 文件
在Android程序设计中,Activity的逻辑和视图是分离的。某个组件的java代码使用xml文件作为其布局文件,利用XML语言描述的用户界面。
strings.xml文件
res/values/strings.xml文件,Android应用中,界面显示的所有的字符串,应该都在该文件中定义。
<resources> <string name="app_name">KIWI</string> <string name="title_item_detail">Item Detail</string> </resources>
引用资源
资源引用有两种情况:一种是在代码中引用资源;另一种是在资源中引用资源。
代码中引用资源,需要使用资源的ID,可以通过[R.resource_type.resource_name]或[android.R.resource_type.resource_name]获取资源ID
resource_type代表资源类型,也就是R类中的内部类名称
resource_name代表资源名称,对应资源的文件名或在XML文件中定义的资源名称属性
资源中引用资源,引用格式:@ [package:]type:name
@表示对资源的引用
package是包名称,如果在相同的包,package则可以省略。
位于gen文件夹中。
ADT自动生成的文件
包含对drawable、layout和values目录内的资源的引用指针,Android程序能够直接通过R类引用目录中的资源。
因此,我们可以认为R.java为res中的资源进行了编号。
需要注意的是,R.java文件不要尝试手工修改,应有系统自动生成。否则有可能产生更新问题。
标签:
原文地址:http://www.cnblogs.com/kiwibird/p/4811725.html