创建工程或者说创建应用时几个选项的意义
一:创建一个工程
输入应用的名字 Application Name
工程的名字 Project Name
包的名字 建包路径
最低兼容版本 Miunimum Required SDK
目标版本 主要针对的sdk版本
Compile SDK,是你程序的编译SDK版本
theme 选择程序的风格
二、工程目录下各文件夹的作用
工程里各个相关文件包的作用
1、src ---放置的是源文件,即java代码
2、gen---里面的东西不要动,R.java是Eclipse自动生成的,
里面包含了一些类,全部是public staticfinal class
,其中类里面也都是public static finalint类型的变量,
变量名字通常和资源类别一样,比如图片名字,xml文件名,字符串变量名字,
它们的值都是一些地址值,所以是int类型的。
3、android.jar---引用的所有Android类都来自于它,里面全部是可执行文件,即.class文件
4、 assets---里面可以放任何资源文件
5、res---里面的所有东西在R.java里面都会生成相应的id,可以通过id来引用相关的资源文件。
1)drawable里面放置的都是图片,每一张图片需要三个版本,高分辨率,中档分辨率,低分辨率。
因为手机分辨率有差别,所以为了保证在各种分辨率的手机上都能正常显示,
设置了三个版本,通常来说不用管,到一定程度再说。
2)layout里面放置的是布局文件,
即xml文件,每个activity对应一个xml文件,
每个xml文件也会在R.java里面生成相应的id.
3)strings.xml 文件中放置的是一些键值对,存放一些字符串,
方便使用,里面的键值也会在R.java中生成相应的id。
6、 AndroidManifest.xml 文件是整个工程的配置文件。
三 重点分析
AndroidManifest.xml文件的分析
首先 这是个描述程序包全局变量的文件,
包括的应用组件和每个组件的实现类,
什么样的数据可以操作,以及在什么地方运行。
此处有一个重要概念
intent过滤器。这个过滤器描述了何时何种情况下让activity启动,
当一个activity需要执行一个动作,例如打开某个屏幕,就会创建一个intent对象。该对象包含了很多的描述信息,
描述了你想做什么操作,你想处理什么数据,数据的类型,
以及一些其它的重要信息然后用这些信息去寻找合适的activity
该文件详细标注见AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0">
<!--
mainfest是根节点
versionCode 是版本信息 值是int 不展示给客户,检测版本升级使用的东西
versionName 是版本编号,可以展示给客户
application 节点在AndroidManifest.xml文件里是唯一的
uses-sdk 使用的sdk版本 minSdkVersion支持的最低版本 targetSdkVersion目标版本
<uses-permission /> 请求一个安全权限,必须被授予该权限,您的程序包才能正确的操作 可包含零个或多个
<permission ></permission> 用来声明一个权限,用来限制哪些应用可以访问您程序包内的组件和特有机制 可包含零个或多个
android:allowBackup="true" 表示是 是否允许应用程序备份和恢复
android:icon="@drawable/ic_launcher"设置应用程序 图标
android:label="@string/app_name" 设置app的名字
android:theme="@style/AppTheme" > 设置app的风格
<application>
下边可以配置的东西有
<activity></activity>
<service></service> 这里同样可配置多个intent-filter
<provider></provider>是用来管理数据持久化及数据发布的 发布的数据可以被其他的应用访问
</application>
-->
<!-- <uses-permission />
<permission ></permission>
-->
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
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>
</manifest>