Android项目结构和AndroidManifest.xml
创建项目
在开发一款Android应用的时候,第一步我们需要在Android的IDE开发工具中去创建一个项目。接下来会对创建项目和项目结构中各个步骤,路径功能做个梳理和讲解。
Application name:当前应用程序的名称,就是我们手机中看到的应用程序图标下面的那个名字。
Company domain:公司域名(会被转化为包名)。
Project location:项目存放路径。创建好的android项目会存在这个地址下。
Minimum Required SDK:需要的最小SDK版本。其中勾选项Phone and Tablet指的是手机和平板设备,Wear指的是只能手表等可穿戴设备,TV指的是Android的电视设备,我们根据开发应用使用的环境来选择合适的选项。选择完后点击Next进入到下一步。
上图的作用是为我们的应用选择合适的activity(界面样式)。根据我们需求我们会使用到不同的界面样式。如果我们想自己从头开始设计我们的界面,那么我们可以选择空白的Activity,也就是Empty Activity。
这一步是设置Activity Name(活动名)和Layout Name(活动对应的xml布局名称)。
Target SDK:目标SDK,也就是当前的SDK,就是开发所用到的SDK版本。
Compile With:是在编译android应用程序所用到的一个版本编译。
Android项目结构
注意:图片为Eclipse中查看Android项目的项目结构,因为无论使用AndroidStudio还是Eclipse去开发Android项目,其生成的项目结构是和各目录路径所负责的功能是一样的,所以拿这个图来对照讲解,便于大家理解。
src:存放java源代码的路径,我们可以在src目录下创建包和包中的源代码文件。在AndroidStudio中的android项目目录中src目录下有java和res两个目录,java目录存放java源代码,res目录下存放资源文件。
gen:gen目录中存放系统自动生成的配置文件,在我们的开发过程中我们是不会手动对它进行修改的。
android 4.4.2:该文件夹下包含android.jar文件,这是一个java归档文件,其中包含构建应用程序所需的所有Android SDK库和APIs。当前我们开发的这个应用程序用到的一些android的jar包以及一些类库,那么就通过这个包来提供我们一些android应用程序所需要的一些类库以及jar包。
assets:存放资源文件(资源、音频、xml),不会自动生成id且不会自动占用当前应用程序生成最终的apk的大小。当assets中的资源文件没有被用到的时候是不会占当前应用程序大小的。
bin:bin目录中存放应用被编译后生成的可执行文件(.apk),以及应用用到被打包到apk中的资源文件。
res:res顾名思义是资源文件,目录中存放应用用到的所有资源,如图片、布局等。该目录中的资源有多大,它就会占用我们最终生成的apk文件大小。res目录下还有很多不同的文件夹用于不同的功能,例如drawable、layout、values等。
(1)drawable:该目录用来存放不同密度的图片资源,有很多不同的尾缀(hdpi、ldpi、mdpi、xhdpi等),不同的尾缀用来代表不同的分辨率。android设备由于厂家和机型的不同,所以市面上有很多不同分辨率的android手机,我们在开发应用的时候会用到不同分辨率的图片,当运行在不同分辨率的设备上的时候当前应用程序会自动去寻找这个分辨率所对应的图片。
(2)layout:用来存放布局文件的,布局就是手机屏幕展示的应用的界面,我们可以在这个界面根据我们的需求来进行一些UI的操作和处理。android中布局文件是使用XML文件(.xml)来编辑的。
(3)values:存放字符串(strings.xml),主题(styles.xml),颜色(colors.xml)等资源文件。在程序开发过程中会用到很多字符串、宽高大小这些数字,还有一些颜色和一些样式风格这些内容,可以存放在我们的values文件夹中。(values-v11是对应3.0这个版本的values,values-v14代表的是4.0版本的values)
libs:该目录用来存放一些应用的第三方jar包。
AndroidManifest.xml:这个文件是整个项目的清单文件,用来配置一些类似于包名、权限、程序组件等重要信息。一个应用程序在运行的时候是先去运行它的清单文件,系统过滤清单文件以后就知道你当前应用程序有什么内容,该去怎么执行。
AndroidManifest.xml清单文件
AndroidManifest.xml是整个应用的主配置清单文件,其内部有包名、版本号、组件、权限等信息内容。清单文件是用来记录应用相关的配置信息的。
应用的包名以及版本信息的管理
package //包名
android:versionCode="1"; //版本号
android:versionName="1.0"; //版本名
android版本信息(可以支持的最低版本、期望的系统版本)
android:minSdkVersion="8" //最低SDK版本
android:targetSdkVersion="16" //期望SDK版本
application标签
一个清单文件只能包含一个application节点,application可以设置图标(android:icon)、标题(android:label)、主题样式(android:theme)。
application标签内可以包含各式各样的组件例如android的四大组件activity、service、contentprovider和broadcastreceiver这样的标签容器,用来去指定应用程序的组件。
权限配置
(1)<uses-permission>申请权限
在安装程序的时候,你设定的所有权限将会告诉给用户,由他们来决定同意与否。对很多本地android服务来说,权限都是必须的,特别是那些需要付费或者有安全问题的服务。
(2)自定义权限
自定义权限可以自定义命名,主要功能是用来保护android的某些重要组件。
注意:每个组件都必须包含android:name这个属性,推荐用全名称(包名.类名),intent-filter(过滤器)可以选写;
四大组件中除了BroadcastReceiver可以使用代码声明注册以外,其他组件必须要在Manifest文件中进行声明配置,否则会报错。
推荐阅读
-
Android项目结构和AndroidManifest.xml
-
Android项目结构和AndroidManifest.xml
-
android通过POST和GET两种方式发送数据到web应用实战 博客分类: android项目实践 POST、GET
-
android从web应用读取xml和json数据实战 博客分类: 项目实践android androidjsonxmlweb
-
android通过POST和GET两种方式发送数据到web应用实战 博客分类: android项目实践 POST、GET
-
android从web应用读取xml和json数据实战 博客分类: 项目实践android androidjsonxmlweb
-
Android app项目和开发总结 博客分类: Android AndroidMobileUbuntuEclipse设计模式
-
浅谈Android开发中项目的文件结构及规范化部署建议
-
浅谈Android开发中项目的文件结构及规范化部署建议
-
Android项目实现短信的发送、接收和对短信进行拦截