1.a.src文件夹:用来存放java源文件;
b.gen文件夹:开发工具自动创建的文件,有一个R文件,用来登陆资源id,在编译器编译的时 候自动生成的,可以通过资源id,引用资源
c.res是软件引用的文字,图片等等
d.res-->drawable-hdpi-->这个文件夹:专门用来放图片资源,当把图片放入这个文件夹
的时候,就会为这个图片在R文件中生成一个资源id;
e.由于手机屏幕有大小,所以提供了:drawable-hdpi,drawable-ldpi,drawable-mdpi
三个不同的大小图片,android操作系统会根据手机屏幕的分辨率,来选择不同的文件夹
f.laylout文件夹:中的main.xml指的是定义系统的界面
values文件夹:strings.xml放了应用中用到的文字,为了实现国际化
2.a.在strings.xml中添加:
<resources>
<string name="hello">Hello World, MainActity!</string>
<string name="app_name">HelloWorldTest</string>
<string name="credream">创梦网络</string>
</resources>
b.在R文件中可以看到多了:
public static final class string {
public static final int app_name=0x7f040001;
public static final int credream=0x7f040002;//多了这一行
public static final int hello=0x7f040000;
}
--------------------------------------------
3.a.当字体有很多的时候,为了不让string.xml过于大
那么可以新建一个Android xml文件credream.xml,创建的时候,要加上后缀.xml
b.在credream.xml添加了以下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="lidewei">李德伟</string>
</resources>
c.在R文件中会生成:
public static final int lidewei=0x7f040000;
----------------------------------------------------------
4.在layout中存放的界面文件main.xml
下面再创建一个界面文件:
右键新建android xml文件,adduser.xml,选择layout
a.res\layout\addUser.xml: Invalid file name: must contain only [a-z0-9_.]
1.res\layout\addUser.xml: Invalid file name: must contain only [a-z0-9_.]
出现这个的原因是,文件名不可以包含大写字母
b.res/anim/文件夹:动画定义的xml文件;
c.res/xml文件夹:在Actity中使用getResource().getXML()读取该目录下的XML
资源文件
c.res/raw/文件夹:该目录用于存放使用到的原始文件,如音效文件等,编译软件时,这些数 据不会被编译,他们被直接加入到程序安装包里,为了再程序中使用这些资源,你可以调用
getResources().openRawResource(ID),参数ID形式,R.raw.somefilename
----------------------------------------------------------------------
5.a.assets文件夹:用来存放资源文件;在这里放入文件,不会在R文件中生成资源ID,需要使用
文件路径来访问这里面的内容
b.default.properties文件:是eclipse用的文件,通过这个文件可以告诉eclipse,这个程序
适用于什么android版本
c.AndroidManifest.xml文件,清单文件,在清单文件中除了列出了应用的功能外
还列出了,自己应用使用了系统的什么服务,比如发短信服务,打电话服务;
d.以后开发的各种组件(Activity,ContentProvider,BroadcastReceiver,Service)需要在 该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务,互联网服务,短信服
务,GPS服务等等)还要在该文件中声明使用权限
-----------------------------------------------------------------------
6.AndroidManifest.xml文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.credream.app" //包名,唯一标示一个应用
android:versionCode="1" //开发的软件的版本号,和版本名称
android:versionName="1.0"> //版本名称
<application android:icon="@drawable/icon//指定应用的图标,drawable
指的是R文件中的drawable,指的是访问R文件中的drawable内部类中的icon常量
,更换图标可以把一个图片的资源id赋予="@drawable/的后面," android:label="@string/app_name">//这个属性用于指定应用的名称,指定应用strings.xml 中的
app_name指定的名称
<activity android:name=".MainActity"//.代表当前应用所在包,取得是类的名字,
如果这个类,在应用的包下,可以省略点.但是如果在应用包的子包下面需要加点,建议不管 在哪里都加点,避免出错
android:label="@string/app_name">//指的是窗口的标题
<intent-filter>//指意图过滤器,对数据进行过滤,用来匹配意图,意图代表了 一个想法
<action android:name="android.intent.action.MAIN//这个字符串已经被安卓系统赋予了一个功能,就是把应用添加到启动列表中,如果没有这两项的话,应用是不会出现在
程序的启动列表中的,这两个参数只能使用在一个activity中" />
//动作的名称
<category android:name="android.intent.category.LAUNCHER" />
//动作的类别
</intent-filter>
</activity>//activity可以指定多个,因为一个activity代表一个窗口,那么可以有多个窗口
</application>//</application>应用有关的
<uses-sdk android:minSdkVersion="8" />//指定应用最低支持的版本
</manifest>
-------------------------------------------------------------------
7.清单文件是在软件安装的时候易做图作系统读取的;安装的时候,操作系统读取这个文件,然后
注册,相当于在windows下,安装软件的时候,注册进注册表一样
---------------------------------------------------------
8.a.编译器工作原理--->.java-->.class-->android虚拟机格式-->.dex...在/项目/bin/下
--->把dex.打包(签名)-->使用默认的密钥签名,这个密钥在:windows -->perference- >android--->Build-->右侧Default debug keystone就是密钥的位置-->签完名之后就把 这
个文件 --->打包成apk格式的.
b.然后当运行的时候,eclipse adt插件会自动的调用adb.exe 执行 adb install
c:\xxx.apk
--------------------------------------------------------------------
9.a.当点击应用图标-->找到一个MainActivity-->然后创建一个进程,然后创建一个线程(主 线程),在这个,线程里面对MainActivity这个类进行实例化,在实例化的时候,会首先在配
置文件中读取这个类的名称:然后:使用反射MainActity .class.newInstance();来实例 化这个MainActivity这个类--操作系统会把应用有关的信息(context)放在Activity中,