-- 重点包介绍
android.app:提供高层的程序模型、提供基本的运行环境
android.content:包含各种的对设备上的数据进行访问和发布的类
android.database:通过内容提供者浏览和操作数据库
android.graphics:底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
android.location:定位和相关服务的类
android.media:提供一些类管理多种音频、视频的媒体接口
android.net:提供帮助网络访问的类,超过通常的java.net.* 接口
android.os:提供了系统服务、消息传输、IPC机制
android.opengl:提供OpenGL的工具
android.provider:提供类访问Android的内容提供者
android.telephony:提供与拨打电话相关的API交互
android.view:提供基础的用户界面接口框架
android.util:涉及工具性的方法,例如时间日期的操作
android.webkit:默认浏览器操作接口
android.widget:包含各种UI元素(大部分是可见的)在应用程序的屏幕中使用
-- 模块介绍
UI
布局格式(/res/layout):
- RelativeLayout:允许子元素指定他们相对于其他元素或父元素的位置(通过ID指定),因此可以右对齐、或上下、或置于屏幕中央的形式来排列两个元素
- LinearLayout:以设置的垂直或水平的属性值,来排列所有的子元素,所有的子元素都被堆放在其他元素之后
- FrameLayout:最简单的布局格式,可以放置任意多个控件,控件将被罗列在屏幕的左上角,当存在多个控件时,控件将被罗列排放
- TableLayout:将子元素的位置分配到行或列中
- AbsoluteLayout:可以让子元素指定准确的x、y坐标值,并显示在屏幕上
最常用的为RelativeLayout和LinearLayout
界面控件
- button:按钮
- Textview:不可编辑的文本框
- EditText:可编辑文本框
- CheckBox:多选框
- RadioGroup:单选
- Spinner:下拉列表
- AutoCompleteTextView:自动完成文本(如百度搜索框)
- Datepicker:日期选择器
- ScrollView:滚动视图
- ProgressBar:进度条
- SeekBar:拖动条
- ImageView:图片视图
- ImageSwitcher&Gallery:切换图片
- TabHost:切换画板
基本组件
- Activity:开始、运行、关闭,需继承类android.app.Activity
当一个activity转换状态时,会通过调用下面图中方法来得知改变:
<<Activity的生命周期.jpg>>
Android中得Activity就是呈现给用户的一幅视图,一个应用就是一个Activity调转到另一个Activity。
加载一个Activity有四种模式:
- standard:每次跳转都是在之前的Task中进行,每次跳转创建一个新的Activity实例
- singleTop:同standard模式,但若跳转的Activity实例已存在是栈顶,则不重新创建实例,而是直接返回栈顶得Activity实例
- singleTask、singleInstance:不会重复创建新的Activity实例,不同的是singleInstance是用来解决多个Task分享同一个Activity的情况,而singleTask是在一个Task中分享同一个Activity
BACK键:会先后调用当前Activity的onPause() --> onStop() --> onDestroy()三个方法
HOME键:会先后调用当前Activity的onPause() --> onStop()这两个方法,而当再次启动时,又将先后执行onRestart() --> onStart() --> onResume()三个方法
- Service:需要在后台运行程序时,分为无限生命和有限生命两种,需继承类android.app.Service
启动一个service的过程:context.startService()--> onCreate() --> onStart() --> Service running ,其中onCreate()做一些初始化工作,onStart()启动服务
停止一个service的过程:context.stopService()--> onDestroy() --> Service Stop
<<Service的生命周期.jpg>>
- Broadcast Receiver:对发送出来的Broadcast进行过滤接收并响应的一类组件,需继承android.content.BroadcastReceiver类,并重写onReceiver事件处理函数
当广播的Intent与注册的接收器的Intent Filter匹配时,onReceiver方法会执行。
发送广播:Context.sendBroadcast()、sendOrderBroadcast()或sendStickyBroadcast()
- 数据存储:SharedPreferences、SQLite、ContentProvider、文件存储、网络存储
-- 高级编程
系统
多线程
图形图像
2D/3D作图
动态成像
访问硬件、服务
GPS
摄像头
传感器
语音、音频、视频
地图、地理编码和基于位置的服务
访问电话、短信
网络
下载上传
使用wifi、蓝牙、NFC传输数据
优化
内存和进程管理