Andriod四大组件
- 1 Activity
- 2 Service
- 3 ContentProvide
- 4 BroadcastReceiver
Android广播的机制
BroadcastReceiver是Android系统的四大组件之一,其本质上是一种全局的监听器,用于监听系统全局的广播信息。
广播的作用
- 1
- 2
- 3
广播的应用场景
- 1
- 2
典型的应用就是Android自带的短信、电话等广播 - 3
- 4
- 5
广播的实现
- 1广播的创建与发送
- 2广播接收器的创建和注册
在XML中静态注册和在程序中动态注册
类型
- 1 普通
- 2 系统
- 3 有序
- 4 APP应用内广播
Service的基本概念
启动service的两种方法:
启动的
绑定的
- 1 void onCreate():
- 2 void onStartCommand(Intent intent,int flags,int startId):
- 3 voidonDestroy():
- 4 abstract Ibinder onBind(Intent intent)
- 5 boolean onUnbind (Intent intent)
使用Service的方法
- 1 创建服务,需要继承Service或者IntentService,重写服务的几个重要方法
- 2 清单中注册
<service android:name=".FirstService">
<intent-filter>
<action android:name="org.crazyit.service.FIRST_SERVICE">
</intent-filter>
</service>
- 3 在一个Android组件中操作这个Service组件
- 1 启动
- 2停止
- 3 绑定
访问系统核心服务
通过Activity类中的getSystemService方法可以获得指定的对象(系统服务)
audio 音频服务
widow 窗口服务
notification 通知服务
SmsManager 短信服务
- 1获取SmsManager
- 2创建一个PendingIntent对象
- 3发送短信
数据存储即及共享
本地数据存储
- 1 SharedPreferrnces
简介
一种轻量型的Android数据存储方案
简单数据类型,以key-value键值对
只能获取数据,修改通过Editor接口实现
获取方式
调用Context对象
调用Activity对象
区别
Context:可以被同一个应用程序下的其他组件共享
Activity:不可以被同一个应用程序下的其他组件共享
访问模式
- 1 Context.MORE_PRIVATE:写入的内容会覆盖原文件的内容
- 2 Context.MORE_APPEND:存在就往文件追加内容
- 3 Context.MORE_WORLD_READABLE:文件可读
- 4 Context.MORE_WORLD_WRITEABLE:文件可写
注意点
- 1
- 2
- 3
- 2Iternal Storage
文件存储
从内部存储中创建并写入一个私有文件的步骤如下
- 1调用openFileOutput(),返回一个FileOutputStream对象
- 2使用write()方法将数据写入文件
- 3使用close方法关闭文件流
从内部存储中读取一个文件的步骤如下
- 1
- 2
- 3
- 3External Storage
- 4SQLite Database
SQLite是2000年由D.Richard Hipp发布的开源的嵌入式数据库引擎,实现了自包容、无服务器、零配置、事务性的SQL数据库引擎。
支持的数据类型 null,integer,real,text,blob
ContentProvider数据共享
Uri类
URI指通用资源标志符
content://com.example.personprovider/person/2
A:标准前缀
B:URI的表示
C:路径
D:如果URI中包含ID,则表示需要根据ID获取相应的记录;如果没有ID,则表示返回全部
ContentResolver类
App的高级控件的应用
TabLayout使用方法
build.gradle输入相应的版本号
addTab()有几个添加几个
CradView
Toolbar
使用方法:
去掉actionbar,引入toolbar,找到toolbar,判断存在否
DrawerLayout
不做修改,默认灰色,需设置透明色
网友评论