Android基础考试知识点清单

Android基础考试知识点清单,第1张

概述第1章Android应用开发环境1.了解智能手机常见 *** 作系统有哪些,了解Android和iOS两大 *** 作系统的特点。2.掌握Android *** 作系统的四层体系结构及各层的内容。Linux内核Android系统内核建立在Linux2.6之上。Linux内核提供了安全性、内存管理、进程管理、网络协议栈和驱动模 第1章 AndroID应用开发环境

1.了解智能手机常见 *** 作系统有哪些,了解AndroID和iOS两大 *** 作系统的特点。

2.掌握AndroID *** 作系统的四层体系结构及各层的内容。
linux内核 AndroID系统内核建立在linux 2.6 之上。
linux内核提供了安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。
函数库
这些库能被AndroID系统中不同的组件使用。它们通过 AndroID 应用程序框架为开发者提供服务。
应用程序框架层 AndroID应用程序框架提供了大量API供开发者使用。
应用程序层 开发者开发的各种AndroID App。

3.掌握AndroID应用程序开发经常用到的组件有哪些,它们的作用是什么。
四大应用组件
Activity:主要负责显示内容
Service:后台运行程序
broadcastReceiver:消息接收器
ContentProvIDer: 负责跨应用的数据交换
Intent:不同组件间通信的载体

4.掌握AndroID开发环境的搭建。
开发IDE:AndroID Studio
可通过环境变量改变安装位置:
ANDROID_HOME: SDK安装文件夹
ANDROID_SDK_HOME:虚拟机文件夹

5.了解AndroID模拟器的使用。

第2章 AndroID应用的界面编程

1.熟练掌握linearLayout、relativeLayout、FrameLayout、tableLayout、GrIDLayout、absoluteLayout、ConstraintLayout这7种布局管理器的使用。能根据实际情况选择合适的布局管理器进行UI界面的设计。

linearLayout
线性布局 将子控件在容器中按照水平或垂直方向排列开来。
orIEntation:设置容器内控件的排列方向
gravity:设置容器内控件的对齐方式
layout_gravity:设置子控件在父容器中的对齐方式
layout_weight :权重

tableLayout
表格布局 tableLayout派生自 linearLayout,相当于垂直方向的linearLayout。
tableRow表格行,也派生自 linearLayout,相当于水平方向的linearLayout。
每一行上可放置数量不同的控件。
隐藏列 androID:collapseColumns
收缩列 androID:shrinkColumns
拉伸列 androID:stretchColumns
注:列号从0开始,0号列是第1列。

FrameLayout
帧布局 根据对齐方式把控件一个一个叠加在在一起。
先定义的在底层,后定义的在上层。

GrIDLayout
网格布局 行号、列号均从0开始

relativeLayout
相对布局 容器内子控件由相对于兄弟控件、父容器的位置来确定。

absoluteLayout
绝对布局 通过X,Y坐标来控制控件位置layout_x, layout_y

常用的距离单位
px :像素
dp(dip): 设备独立像素
sp :设置字体大小时用
In、mm、pt

ConstraintLayout约束布局 约束布局相当于相对布局的升级版,可控制位于父容器的百分比处。是AndroID的默认布局

AndroID 控制UI界面的三种方式
1.使用XML布局文件控制UI界面
Google 推荐
setContentVIEw(R.layout.<布局资源文件名字>)
findVIEwByID(R.ID.androID:ID属性值)
2.在Java代码中开发控制UI界面
setContentVIEw(一个VIEw实例)
addVIEw()
3.混合使用XML布局文件和Java代码混合控制UI界面
复杂界面中常用。变化小,行为较固定的控件放到XML文件中管理;变化多,行为控制比较复杂的交给Java代码管理

2.掌握布局管理器的嵌套使用。

3.熟练掌握AndroID中常用控件的常用属性及 *** 作方法。
TextVIEw文本框、EditVIEw编辑框、
ImageVIEw( src显示的drawable对象的ID;scaleType如何缩放和移动图片)、
button普通按钮、Imagebutton图片按钮、
RadioGroup单选按钮组、Radiobutton单选框、CheckBox复选框、
Spinner列表选择框(d出)、
TimePicker时间选择器(派生自FrameLayout )、
DatePicker日期选择器(派生自FrameLayout )、
NumberPiker数值选择器(通过拖动或输入来选择数值)、

4.掌握AndroID中高级控件
Togglebutton状态开关按钮、Switch开关(通常用于切换程序中的某种状态)
ScrollVIEw滚动视图(只能包含一个组件,并为该组件添加垂直滚动条)
horizontalscrollview 水平滚动条、
AdapterVIEw、
ListVIEw列表视图、
RecyclerVIEw(灵活实现水平或垂直滚动,ListVIEw的升级,实现更多功能,比如横向滑动,回收利用)、
ExpandableListVIEw可展开的列表组件(与Adapter类似,有三种实现方式:BaseExpandableListVIEw,Simple~(List),SimpleCursorTreeAdapter(Cursor))、
autoCompleteTextVIEw自动完成文本框(completionThresold属性设置用户至少输入几个字符才会显示提示)、
StackVIEw(以堆叠的方式显示多个列表项)、
CalendarVIEw日历视图(firstDayOfWeek设置每周的第一天;shownWeekCount设置总共显示几周)、
SearchVIEw搜索框、
AlertDialog对话框、
对话框通常不充满屏幕,对话框不会自动关闭
对话框出现时,当前Activity的界面继续显示但不能进行交互
对话框不是一个视图,基类是Dialog继承自Object
创建步骤:
(1)创建AlertDialog.Builder(创建器)
(2)利用Builder为对话框设置图标、标题、内容
(3)调用Builder的create()方法创建对话框
(4)调用对话框的show()方法显示对话框
特殊对话框:DatePickerDialog、TimePickerDialog、ProgressDialog
Progressbar进度条、
Seekbar拖动条(thumb自定义滑块图片;tickMark自定义刻度图标;监听器OnSeekbarchangelistener( ))、
ratingbar星级评分条(rating属性设置评分条默认星级;numStars设置总星数)、
Toast信息提示框、
toast.makeText(Context, String, Toast.LENGTH_SHORT).show()
ImageSwitcher、TextSwitcher、
gallery、TabHost选项卡、PopupWindow(d出窗口,类似于对话框)、
Chronometer计时器( setBase(long),setFormat(String),start(),stop(),setonchronometerTickListener())、
AnalogClock模拟时钟(已标记为过时 )、
TextClock数字时钟(本质就是一个TextVIEw)
Menu菜单、
与Activity相关的叫选项菜单,在显示Activity时按MENU键d出,选项菜单在超过6项时,最后一项将显示成“更多”;
与具体视图相关的菜单叫上下文菜单,长按视图将d出;
androID:checkableBehavior 用于定义group中菜单项的可选特征:
single 表示菜单项为单选
all 表示所有菜单项都是可勾选的(复选框)
none 表示所有菜单项都不可勾选
Notification通知(具有全局效果的通知,显示在手机状态栏上)、
(1)通过 getSystemService()获取notificationmanager服务
(2)通过Notification.Builder构造Notifcation对象
(3)利用NotificationChannel发送通知
AdapterVIEwFlipper(继承自AdapterVIEwAnimator,实现视图之间切换时的渐隐渐现的效果:autoStart设置自动播放;flipInterval播放间隔;showPrevIoUs()显示前一项;showNext( )显示下一项 )

5.了解通过Java代码进行简单的控件创建和 *** 作。
private button mBtn; //1声明控件
mBtn=findVIEwByID(R.ID.btn); //2找到控件
mBtn.setonClickListener(new VIEw.OnClickListener() { //3声明点击事件
@OverrIDe
public voID onClick(VIEw v) {
Toast.makeText(buttonActivity.this,“btn被点击了”,
Toast.LENGTH_SHORT).show(); } });
6.掌握一个AndroID项目中各个文件夹(如:src、res等)的作用。
java目录
java或kotlin源代码存放目录,如MainActivity.java等。
res资源(resource)目录。
该目录中存放应用使用的各种资源(xml界面文件、图片或值资源等)。如界面布局文件activity_main.xml。
AndroIDManifest.xml 应用程序清单文件。
该文件列出了应用程序的包名(该包名将会作为该应用的唯一标识),
列出了应用程序所提供的功能,
开发的四大组件需要在该文件中进行配置。
如果应用使用到了系统内置的应用(如电话服务、短信服务、互联网服务、GPS服务等),也需在该文件中声明使用权限。
R.java文件(相当于资源字典、资源清单)
这个文件由AndroID开发工具自动生成。 AndroID开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手动修改R.java。
R.java在应用中起到了资源字典的作用,它包含了各种资源的ID,通过R.java,应用可以很方便地找到对应资源。
apk文件
编译之后的安装文件

7.掌握一个AndroID项目中各个文件(如:main.xml、R.java、AndroIDManifest.xml等)的作用,并能看懂文件里面的内容。
AndroID程序源代码分为三类: XML布局文件,Java源文件,资源文件
res目录中的资源,R类中生成索引
assets目录放置原生资源

8.了解AndroID各种资源(如:字符串、颜色、尺寸资源,数组资源,Drawable资源,布局资源,菜单资源,样式资源等)的作用,会使用简单的AndroID资源。
在xml中引用Drawable资源:@drawable/资源名
Drawable资源文件示例






第3章 AndroID事件处理

1.掌握AndroID中事件处理的基本原理(基于监听的事件处理和基于回调的事件处理)。
基于监听的事件处理(处理特定事件,AndroID中,基于监听的事件处理被优先调用。
) 处理方式:委派式事件处理
步骤:获取界面组件对象,实现事件监听器,将监听器绑定到组件对象上。
3个对象:Event Source事件源:通常为组件;Event事件:用户的一次 *** 作;Event Listener事件监听器: 对事件作出响应
4个实现监听器的形式:内部类作为监听器,外部类作为监听器,Activity本身作为事件监听器,Lambda表达式作为事件监听器类
基于回调的事件处理(处理通用性事件,事件源与事件监听器是统一的) 重写Activity或组件的回调方法
每个回调方法都返回一个boolean值
若回调方法返回true, 表明该事件已处理完成,事件不会传播出去;
若回调方法返回false, 表明该事件未处理完全,事件会传播出去。

2.熟练掌握AndroID中常用的事件处理接口及其实现。
VIEw.OnClickListener单击事件接口
VIEw.OnLongClickListener长按事件
VIEw.OnKeyListener按键事件
VIEw.OnFocuschangelistener焦点改变事件
VIEw.OntouchListener触摸事件
RadioGroup.OnCheckedchangelistener单选改变事件
AdapterVIEw.OnItemSelectedListener子项选中事件
DatePicker.OnDateChangedListener日期改变事件
TimePicker.OnTimeChangedListener时间改变事件

3.掌握AndroID中事件处理的注册方法。
Configuration类:用于描述手机设备的配置信息
调用Activity有成员方法获得Configuration类对象
Configuration cfg = getResources().getConfiguration();
补充:mcc国家码、mnc网络码

4.了解Handler等类的工作原理。
Hander 在新启动的线程中发送消息
在主线程中获取、处理消息
Looper
每个线程最多拥有一个Looper,它的loop方法负责读取MessageQueue中的消息
负责管理消息队列中的消息
主UI线程中,系统已经初始化了一个消息队列和Looper
MessageQueue
消息队列,采用先进先出的方式管理Message
handler发送的消息被送到指定的消息队列
handler所处的线程中必须有一个消息队列
子线程中添加消息循环 Looper looper=Looper.prepare( );//创建looper对象
@overrIDe重写handleMessage方法;
Looper.loop( );//启动Looper …
handler.sendMessage(msg); …

第4章 深入理解Activity与Fragment

1、掌握创建、配置、启动、关闭Activity的方法
创建Activity
(1)创建一个派生自Activity或其子类的类
(2)复写回调方法:onCreate(),通常调用setContentVIEw()设置视图的布局文件
(3)在AndroIDManifest文件中配置
配置Activity
AndroID程序中每个Activity都要在AndroIDManifest.xml文件中进行配置

启动Activity
通过Intent对象表明跳转的意图:
Intent intent=new Intent(fromActivity.this, toActivity.class);
跳转到另一个Activity:
方法①startActivity(Intent);
启动另一个Activity并等待返回结果:
方法②startActivityForResult(Intent intent, int requestCode);
关闭Activity
方法①关闭当前Activity:finish()
方法②关闭finishActivity(int requestCode)
与startActivityForResult配对使用

2、掌握Activity之间交换数据的方法
使用Intent在Activity之间交换数据
关系类比: Intent:轮船,Bundle:集装箱,Data:货物
putExtras(Bundle data):向Intent中放入数据包
putXxx(String key, Xxx value):向Bundle中放入数据
putSerializable(String key, Serializable value)
Bundle getExtras():从Intent中取出数据包
putExtra(String key, Xxx value):向Intent中放入一个数据
getXxxExtra():从Intent中取出一个数据

3、理解Activity的4种生命状态及7个生命周期函数的调用时机
加载Activity
onCreate(Bundle): 创建时被调用,只会被调用一次
onStart() : 启动Activity时被调用
onResume():Activity获得焦点之前被调用/恢复Activity时被调用/该Activity再次回到前台
运行状态:位于前台,用户可见,可以获得焦点
onPause(): 另一个Activity获得焦点之前被调用/另一个Activity转入前台
暂停状态: 其它Activity位于前台,该Activity依然可见,不能获得焦点
onStop(): Activity不可见时被调用
停止状态:不可见,失去焦点,再次启用需要调用onCreate()
onRestart():重新启动Activity被调用,之后调用onStart()
onDestroy(): 销毁Activity时被调用
销毁状态: 结束
注:①多个Activity存在Task(栈)中
②Activity的4种加载模式
standard: 标准模式,每一次都创建实例,默认
singletop: 在栈顶时直接复用已有的实例
singleTask:同一Task只保留一个实例
singleInstance: 只保留一个实例

4、掌握Fragment的创建及在Activity中的使用方法
Fragment作为Activity界面组成的一部分出现, 必须嵌入Activity中才能起作用。
可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用。
在Activity运行过程中,可以添加、移除或者替换Fragment(add()、remove()、replace())
Fragment可以响应自己的输入事件,并且有自己的生命周期,当然,它们的生命周期直接被其所属的宿主activity的生命周期影响。

getActivity(): 获得Fragment所在的Activity
findFragmentByID(int ID):找出Activity中包含的Fragment对象
Activity向Fragment传递数据:
将数据装入Bundle对象,调用 Fragment的setArguments(Bundle)
Fragment向Activity 传递数据
在Fragment中定义一个接口,在Activity中实现
Activity通过FragmentManager管理Fragment
Fragment以事务的方式来管理
FragmentTransaction ft= getFragmentManager().beginTransaction();

ft.commit();
Fragment生命周期受所在Activity生命周期控制
onAttach()当Fragment被添加到Activity时被调用,该方法只会被调用一次
onDetach()Fragment与Activity分离时调用

第5章 使用Intent和IntentFilter进行通信
1、掌握Intent的各个属性(Component、Action、category、Data、Type、Extra、Flag)的特点与应用;

使用Intent启动系统组件
startActivity(Intent)
startActivityForResult(Intent, int)
startService(Intent)
bindService(Intent,…)
sendbroadcast(Intent)
sendOrderedbroadcast(Intent, …)

7个属性
Component 指明此属性的为显式Intent:
Componentname comp=new Componentname(
FirstActivity.this, SecondActivity.class);
Intent intent = new Intent();
intent.setComponent(comp);
startActivity(intent);
没有指定的为隐式Intent,不指定组件名称,通常用于激活其它应用程序中的组件:Google推荐√
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);
Action Action是一个字符串,代表一个抽象动作
标准Acitivity动作:表示将要执行的动作
标准广播动作:表示已经发生即将报告的动作
intent.setAction()
category category是一个字符串,为Action增加额外的附加类别信息
Data 通常用于向Action属性提供 *** 作的数据,接收一个Uri对象
intent.setData(uri);
Type 用于指定Data属性的数据类型(MIME类型)
intent.setType(“abc/xyz”)
这两个属性会相互覆盖,后设置的覆盖前设置的,如果需要都设置,则用intent.setDataAndType(data, type)
Extras 通常用于在多个Action之间交换数据,其值应该时一个Bundle对象(相当于Map对象),它可以存入多个key-value对。
intent.putExtras(Bundle b)
Bundle b=intent.getExtras()
intent.putXXX()
intent.getXXXExtra()
Flags Flag是一个整数,表示不同来源的标记,多用于指示AndroID系统如何启动Activity,以及启动后如何对待
AddFlags()方法添加控制旗标

2、了解通过Action和category、Data启动系统组件的方法,如返回桌面、拔打电话、发送短信、浏览联系人、浏览网页等
intent-filter:由哪个Activity来完成抽象动作
过滤Action、category、Data
一个intent只能包含一个Action
一个intent可以包含多个category
一个Activity可以包含多个Action

第8章 数据存储

1.了解AndroID中四种数据存储的特点。

2.熟练掌握SharedPreferences存储数据的 *** 作。
该接口主要负责读写应用程序的Preference数据,其中数据为key-value对
获取SharedPreferences实例:
context.getSharedPreferences(String name, int mode),其中mode:
Context.MODE_PRIVATE:数据只能被本应用程序读写
Context.MODE_WORLD_READABLE:可被其它应用程序读取
Context.MODE_WORLD_WRItable:可被其它应用程序读写
读取数据:
boolean contains(String key),判断是否包含键值为key的数据
abstract Map<String, ?> getAll(),获取SharedPreference中的全部数据
boolean getXxx(String key, Xxx defValue),获取某个数据
写入数据:
通过SharedPreferences的内部接口Editor完成,调用 edit()方法获得该对象
Editor clear():清空所有数据
Editor putXxx(String key, xxx value):存入
Editor remove(String key):移除
boolean commit():编辑完成后,提交修改
数据保存:
SharedPreferences数据为XML文件,
保存在/data/data/<package_name>/shared_prefs目录下

3.会使用文件进行数据存储(包括SD卡上文件的读写)。
Context提供如下方法打开应用程序的数据文件夹里的文件IO流:
fileinputStream openfileinput(String name):获得输入流
fileOutputStream openfileOutput(String name, int mode) :获得输出流
其中mode有4个取值:
MODE_PRIVATE,MODE_APPEND(追加方式打开,可追加内容)
MODE_WORLD_READABLE,MODE_WORLD_WRITEABLE
getDir(String name, int mode):在当前应用沙盒中获取或创建name文件夹
file getfilesDir():获取沙盒的绝对路径
file[] fileList():获得沙盒下所有文件列表
deletefile(String):删除指定的文件
SD卡上文件的读写:
①动态请求获取读写SD卡的权限:
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},0x123);
②判断是否插入了SD卡:boolEnvironment.getExternalStorageState().
equals(Environment.MEDIA_MOUNTED)
③获取外部存储器(SD卡目录):
Environment.getExternalStorageDirectory()或直接使用: /mnt/sdcard
【mkssdcard命令可以创建虚拟存储卡】
④使用fileinputStream、fileOutputStream、filereader或filewriter进行读写 *** 作
【为了读写SD卡上的数据,必须在清单文件里设置权限】


DOM解析
DOM 是 W3C(万维网联盟) 的推荐标准。
整个XML文档包含一个文档节点,若干个元素节点,下面有若干个文本节点
解析时将整个文档加载到内存中,从根节点开始解析
SAX解析
是一种基于事件驱动的API,有两个部分,解析器和事件处理器
XMLReader接口,负责读取XML文档,ContentHandler 接口,负责对发送的事件响应和进行XML文档处理。一般的解析器继承自DefaultHandler类
mlPullParser
PulL解析器小巧轻便,解析速度快,简单易用,非常适合在AndroID移动设备中使用
JsON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
JsON 语法规则:JsON 语法是 JavaScript 对象表示语法的子集。
数据在键/值对中,数据由逗号分隔,花括号保存对象,方括号保存数组。
JsON对数据的描述性比XML较差,JsON的速度要远远快于XML 。

4.熟练掌握sqlite数据库的使用,并可以使用sqlite数据库进行CRUD *** 作。
轻量级,嵌入式,适用于资源有限的设备,不需要“安装”,单一文件 ,跨平台/可移植性,弱类型的字段,开源:www.sqlite.org
使用sqliteDataBase进行数据库 *** 作的步骤:
获取sqliteDataBase对象,它代表了一个与数据库的连接;
调用sqliteDataBase中的方法执行SQL语句;
*** 作SQL语句执行的结果;
关闭sqliteDataBase,回收资源。
打开一个文件对应的数据库:
①static sqliteDataBase openDataBase(String path,
sqliteDataBase.CursorFactory factory, int flags)
②static sqliteDataBase openorCreateDataBase(file file,
sqliteDataBase.CursorFatory factory)
③static sqliteDataBase openorCreateDataBase(String path,
sqliteDataBase.CursorFatory factory)
增:insert(String table,String nullColumnHack,ContentValues Values)
删:int delete(String table, String whereClause, String[ ] whereArgs)
改:int update (String table, ContentValues values, String whereClause,String[ ] whereArgs)
查:Cursor rawquery(String sql, String[] selectionArgs)

第9章 使用ContentProvIDer实现数据共享

1、理解ContentProvIDer组件的功能和作用;
ContentProvIDer提供了数据读写的统一接口
使用ContentProvIDer可以在不同应用程序之间共享数据
ContenProvIDer以表的形式组织数据

2、掌握开发、配置ContentProvIDer的方法;
建立数据存储系统
继承ContentProvIDer类来提供数据访问方式:onCreate(),insert(),delete(),update(),query() ,getType()
在AndroIDManifest文件中声明ContentProvIDer

3、掌握使用ContentResolver调用ContentProvIDer的方法;
应用程序通过ContentResolver *** 作ContentProvIDer共享的数据
ContentProvIDer是单实例模式
getContentResolver():获取ContentResolver对象
ContentProvIDer的数据发生改变:
getContext().getContentResolver(). notifyChange(uri, null);
监听ContentProvIDer的数据改变

继承ContentObserver类,复写onChange(boolean selfChange)方法向Uri注册ContentObserver监听器

4、会使用AndroID *** 作系统提供的ContentProvIDer进行 *** 作,如联系人、多媒体。
使用ContentProvIDer管理联系人
声明许可:
androID.permission.READ_CONTACTS
androID.permission.WRITE_CONTACTS
所需的Uri:
管理联系人: ContactsContract.Contacts.CONTENT_URI
管理联系人的电话:
ContactsContract.CommonDataKinds.Phone.CONTENT_URI
管理联系人的Email:
ContactsContract.CommonDataKinds.Email.CONTENT_URI

第10章 Service与broadcastReceiver

1.掌握Service组件的用法。会创建、配置、启动、停止Service,能绑定本地Service并与之通信。了解Service的生命周期。
与Activity相似,代表可执行的应用程序
需要从Service类派生出子类
Service具有自己的生命周期
Service也需要在manifest.xml文件中注册
Service 也是由Context类派生出来
Service在后台运行,没有用户界面
Service不是一个独立的进程,和应用程序在同一个进程中
Service也不是一个独立的线程,所以有耗时 *** 作在Service里时,就必须开启一个单独的线程来处理
创建Service 的步骤:
实现Service类的子类
在manifest.xml中注册Service组件
创建、配置Service
继承Service类,复写其生命周期函数:
voID onCreate( ) : 创建Service后回调该方法
voID onStartCommand(Intent intent, int flags, int startID): 通过startService()启动Service时都会回调该方法
voID onDestroy( ) : 当Service 被关闭之前
abstract IBinder onBind( ):绑定Service时调用, Service子类必须实现该方法
boolean onUnbind( ):解除绑定时调用
启动与停止服务
启动Service
Intent intent=new Intent(this, oneservice.class);
startService(intent);【显式】
AndroID 5.0后只能显式启动Service
停止Service
stopService(Intent)
stopSelf(ID)
绑定本地Service并与之通信
①Activity端
bindService(Intent intent, ServiceConnection conn, int flags)
unbindService(ServiceConnection conn)
②Service端
IBinder onBind(Intent intent)
boolean onUnbind(Intent intent)
③ServiceConnection 接口
onServiceConnected(Componentname name, IBinder binder)
onServicedisconnected(Componentname name)
生命周期
①StartService:onCreate()➡onStartCommand()➡onDestroy()
②bindService:onCreate()➡onBind()➡onUnbind()➡onDestroy()

2.掌握常用的系统Service(如:TelephonyManager、SmsManager、ActivityManager、AlarmManager等)的功能和用法
TelePhonyManager
获得系统服务:getSystemService(ID)
管理手机通话状态、电话网络信息等:
TelePhonyManager tManager=
(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
监听手机来电:
监听器:PhonestateListener { onCallStateChanged() }
绑定:tManager. Listen(PhonestateListener Listener, int event)
SmsManager
SmsManager sms=SmsManager. getDefault( );
AlarmManager
手机闹钟,定时功能 ,
定时更换壁纸WallpaperManager【权限:androID.permission.SET_WALLPAPER】
Context.getSystemService(Context.ALARM_SERVICE).
设置闹钟:
voID set(int type, long triggerAtTime, PendingIntent operation)
ActivityManager
获得正在运行的进程的信息
ActivityManager actManager=
(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);

3.了解PendingIntent的作用,会利用PendingIntent发送Notification和发送短信。

4.理解broadcastReceiver组件的作用。会开发、配置broadcastReceiver组件,掌握普通广播和有序广播的区别,会使用broadcastReceiver接收有序广播。
broadcastReceiver系统全局的广播消息接收器
拥有自己的进程,时刻监听程序发出的广播
创建broadcastReceiver:
(1) 继承broadcastReceiver类, 复写onReceive(Context context, Intent intent) 方法
(2) 在manifest.xml中注册broadcastReceiver
(3) 配置intent-filter:
①在manifest.xml中

<action androID:name=“eg.broadcast.test”

②在JAVA程序代码中设置:
MyReceiver receiver=new MyReceiver();
IntentFilter filter=new IntentFilter();
filter.addAction(“eg.broadcast.test”);
registerReceiver(receiver, filter);
发送广播:
创建Intent对象
sendbroadcast(intent); 普通广播
sendOrderedbroadcast(intent); 有序广播
有序广播: 根据优先级,依次接收广播
设置级别:
(1) androID:priority -1000~1000
(2) 调用IntentFilter对象的SetPriority()
接收到广播的receiver可以终止广播:
调用broadcastReceiver对象的abortbroadcast( )方法
也可以将本次处理的结果存入广播中, 传给下一个接收者:
setResultExtras(Bundle) // 向广播中加入消息继续广播
getResultExtras(Bundle) // 取出广播中附加的消息
开机自动运行的Service:
broadcastReceiver接收Action为ACTION_BOOT_COMPLETED常量的Intent
短信提醒:
androID.provIDer.Telephony.SMS_RECEIVED
手机电量提示:
ACTION_BATTERY_CHANGED
ACTION_BATTERY_LOW

总结

以上是内存溢出为你收集整理的Android基础考试知识点清单全部内容,希望文章能够帮你解决Android基础考试知识点清单所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1053162.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存