1. Android五大常用组件
Android的五个常用组件(活动、服务、广播、内容提供者、意图)。其中广播接收器说很重要的,广播波接收器与服务和活动有机的结合在一起使用,构成了丰富的Android应用系统。
他们各有分工:广播接收器负责短时间处理任务;服务负责长时间处理任务;活动负责显示界面;如果有数据共享,可以使用内容提供者实现,然后再由意图负责他们之间的调用。
2. Android的项目构成
2.1 创建项目
工程包在起名的时候为公司域名的的倒置,如果说公司域名为example.com。则包名为域名的倒置+项目名,即com.example.YMC。
2.2 AndroidManifest.xml 文件
Android的每个应用都必须包含一个AndroidManifest.xml 清单文件,清单文件提供有关当前应用的基本信息,Android系统必获得这些信息才能运行该应用程序。清单文件描述的内容如下:
- 声明Java源代码包名,包名很重要,是应用唯一标识。
- 描述应用中的组件,即Activity(活动)、Service(服务)、Broadcast Receiver(广播接收器)、Content Provider(内容提供者)。
- 声明应用必须具备的权限,例如应用中使用到的服务权限(如GPS服务、互联网服务和短信服务等)。
- 声明应用所需的最低Android API级别。
- 声明应用的安全控制和测试等信息。
2.3 assets文件夹
2.3.1 什么时候使用assets?
当文件本身存在,而不是下载下来的,就要放在assets中,比如:当apk下载下来需要用到城市选择的数据库,是不可能存在于存储设备中的,则只能放在assets目录下。
2.3.2 assets的特点
放在assets文件夹下面的原生资源文件,放在这个文件夹下面的文件不会被R文件编译,所以不能直接使用,需要借助于AssetsManger。 而对于assets中的数据操作就是AssetsManger.open()方法得到流,然后对java流的操作。 assets文件下是可以在建文件夹的。
关于AssetsManager看后续使用《Android之assets》.
2.4 res文件夹
res资源目录中存放所有程序中用到的资源文件。“资源文件”是指布局文件、图片文件和配置文件等。
-
anim文件夹:动画资源文件 -
drawable文件夹:存放一些应用程序需要用的图片文件 -
layout文件夹:屏幕布局目录,放置布局文件,布局文件就是xml文件。可以说我们手机app上的可视布局文件大多都在这里 -
menu文件夹:菜单布局文件。菜单如下午所示。 -
mipmap文件夹:与drawable一样存放资源图片,mipmap由5个不同的目录分别是。
- mipmap-mdpi。放置中质量图片
- mipmap-hdpi。放置高质量图片,是mipmap-mdpi尺寸的1.5倍
- mipmap-xhdpi。放置超高质量图片,是mipmap-mdpi尺寸的2倍
- mipmap-xxhdpi。放置超高质量图片,是mipmap-mdpi尺寸的3倍
- mipmap-xxxhdpi 。放置超高质量图片,是mipmap-mdpi尺寸的4倍
-
values文件夹:参数值目录,存放应用所需要显示的各种文字和一些数据。可以在这个目录下的strings.xml中存放各种文字,还可以存放不同类型的数据,例如colors.xml、dimens.xml、styles.xml等。
2.3 R.java 文件
在我们编程的过程中会发现使用到很多R.XXX的东西,那么R到底是什么呢?
在访问res目录中的资源文件,并不能通过Java IO技术实现。而是通过R.java文件访问。R.java文件是在工程编译时候自动产生的类。R.java文件参考如下代码:
package com.a5work6.helloandroid;
public final class R{
...
public static final class mipmap{
public static final int ic_launcher = 0x7f030000;
}
public static final class layout{
public static final int activity_main = 0x7f030000;
}
public static final class string{
public static final int app_name = 0x7f030000;
...
}
}
R类中包含很多静态类,且静态类的名字都与res中的一个目录名字对应,就像是资源字典大全,包含了用户界面、图像、字符串等对应用于各个资源的标识符,R类定义了该应用中所有资源的索引。
例如,在程序代码中访问activity_main.xml布局文件,可以通过表达式R.layout.activity_main访问,示例代码如下:
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
本篇文章和后续文章将介绍Android相关的知识,对于项目的建立不做讲解。有关视频有很多。
|