安卓api中文总结.docx
- 文档编号:30059038
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:37
- 大小:41.97KB
安卓api中文总结.docx
《安卓api中文总结.docx》由会员分享,可在线阅读,更多相关《安卓api中文总结.docx(37页珍藏版)》请在冰豆网上搜索。
安卓api中文总结
Android中文API(128)——HandlerThread
HandlerThread
结构
继承关系
publicclassHandleThreadextendsThread
java.lang.Object
java.lang.Thread
android.os.HandlerThread
类概述
用于方便的创建一个含有looper的线程类。
looper用来创建handler类。
请注意,仍然需要调用start()方法。
构造函数
publicHandlerThread(Stringname)
构造一个HandlerThread
publicHandlerThread(Stringname,intpriority)
构造一个HandlerThread
参数
priority运行线程的优先级,这个值是由Android.os.Process提供而不是来自java.lang.Thread.
公共方法
publicLoopergetLooper()
这个方法返回与此线程相关的Looper。
如果该线程不能启动或是由于某种原因isAlive()方法返回false,则这个方法返回null,假如这个线程已经启动,那么此方法将阻塞,直到looper被初始化。
返回值
Looper
publicintgetThreadId()
返回线程的标志。
详见:
Process.myTid()
publicbooleanquit()
查看当前运行的looper是否已经退出。
假如线程这未启动或者已经结束(即getLooper()方法返回null),这个方法将返回false。
否则looper被要求退出并返回true。
publicvoidrun()
调用设置Runnable对象的run()方法。
如果没有设置Runnable,什么也不做。
受保护方法
protectedvoidonLooperPrepared()
如果需要在Looper循环之前执行一些设置,可明确继承该回调方法。
(译者注:
如下代码:
voidrun(){
mTid=Process.myTid();
Looper.prepare();//创建一个Looper实例,并且存储在ThreadLocal中,ThreadLocal中维护一个HashMap,键是线程号
synchronized(this){
mLooper=Looper.myLooper();//得到当前线程的Looper,就是刚才perpare方法中创建并存储的那个Looper实例
Process.setThreadPriority(mPriority);
notifyAll();
}
onLooperPrepared();
Looper.loop();//开始轮询
mTid=
-1;
)
Android中文API(127)——MessageQueue
MessageQueue
结构
继承关系
publicclassMessageQueueextendsObject
java.lang.Object
android.os.MessageQueue
类概述
保存消息列表的低级别类,这些消息由Looper对象派发。
消息并不是直接添加到MessageQueue中的,而是通过与Looper对象关联的MessageQueue.IdleHandler对象添加的。
调用Looper.myQueue方法可以获取当前线程的MessageQueue。
公共方法
publicfinalvoidaddIdleHandler(MessageQueue.IdleHandlerhandler)
向消息队列中添加一个新的MessageQueue.IdleHandler。
当调用IdleHandler.queueIdle()返回false时,此MessageQueue.IdleHandler会自动的从消息队列中移除。
或者调用removeIdleHandler(MessageQueue.IdleHandler)也可以从消息队列中移除MessageQueue.IdleHandler。
此方法是线程安全的。
参数
handler要添加的IdleHandler。
publicfinalvoidremoveIdleHandler(MessageQueue.IdleHandlerhandler)
从队列中移除之前调用addIdlehandler(MessageQueue.IdleHandler)添加的MessageQueue.IdleHandler。
如果handler不在当前的空闲列表,不做任何事。
参数
handler要移除的IdleHandler。
受保护方法
protectedvoidfinalize()
在对象被VM回收之前调用。
只有当垃圾回收器检测到运行的所有线程都不再使用此对象时才会出现。
在对象被垃圾回收之前,此方法可以用来释放系统资源或者做其他的清理工作。
默认的此方法实现是空的,这也是VM所期望的,但是子类可以重写此方法。
在此方法执行是抛出的未捕获异常会导致程序立即结束,否则则会忽略异常。
注意,VM会保证任何对象的finalize方法最多调用一次,但是它不会保证何时(或者是否)会调用finalize。
例如,对象B的finalize方法可以推迟执行对象A的finalize,因此它会导致推迟回收A的内存空间。
为了安全,使用ReferenceQueue,因为在垃圾回收时,它在VM处理引用的方式上提供了更多的控制方法。
Android中文API(125)——VideoView
VideoView
结构
继承关系
publicclassVideoViewextendsSurfaceView
implementsMediaController.MediaPlayerControl
java.lang.Object
android.view.View
android.view.SurfaceView
android.widget.VideoView
类概述
(图片转载至这里)
用于播放视频文件。
VideoView类可以从不同的来源(例如资源文件或内容提供器)读取图像,计算和维护视频的画面尺寸以使其适用于任何布局管理器,并提供一些诸如缩放、着色之类的显示选项。
构造函数:
publicVideoView(Contextcontext)
创建一个默认属性的VideoView实例。
参数
context
视图运行的应用程序上下文,通过它可以访问当前主题、资源等等。
publicVideoView(Contextcontext,AttributeSetattrs)
创建一个带有attrs属性的VideoView实例。
参数
context视图运行的应用程序上下文,通过它可以访问当前主题、资源等等。
attrs用于视图的XML标签属性集合。
publicVideoView(Contextcontext,AttributeSetattrs,intdefStyle)
创建一个带有attrs属性,并且指定其默认样式的VideoView实例。
参数
context视图运行的应用程序上下文,通过它可以访问当前主题、资源等等。
attrs用于视图的XML标签属性集合。
defStyle.应用到视图的默认风格。
如果为0则不应用(包括当前主题中的)风格。
该值可以是当前主题中的属性资源,或者是明确的风格资源ID。
公共方法
publicbooleancanPause()
(译者注:
判断是否能够暂停播放视频)
publicbooleancanSeekBackward()
(译者注:
判断是否能够倒退)
publicbooleancanSeekForward()
(译者注:
判断是否能够快进)
publicintgetBufferPercentage()
(译者注:
获得缓冲区的百分比)
publicintgetCurrentPosition()
(译者注:
获得当前的位置)
publicintgetDuration()
(译者注:
获得所播放视频的总时间)
publicbooleanisPlaying()
(译者注:
判断是否正在播放视频)
publicbooleanonKeyDown(intkeyCode,KeyEventevent)
KeyEvent.Callback.onKeyMultiple()的默认实现。
如果视图可用并可按,当按下KEYCODE_DPAD_CENTER或KEYCODE_ENTER时执行视图的按下事件。
参数
keyCode
表示按下的键的、在KEYCODE_ENTER中定义的键盘代码
eventKeyEvent对象,定义了按钮动作
返回值
如果处理了事件,返回真。
如果允许下一个事件接受器处理该事件,可以返回假
publicbooleanonTouchEvent(MotionEventev)
实现该方法来处理触屏事件。
参数
event触屏事件
返回值
如果事件已经处理返回True,否则返回false。
publicbooleanonTrackballEvent(MotionEventev)
实现这个方法去处理轨迹球的动作事件,轨迹球相对于上次事件移动的位置能用MotionEvent.getX()和MotionEvent.getY()函数取回。
对应用户按下一次方向键,他们通常作为一次移动处理(为了表现来自轨迹球的更小粒度的移动信息,他们返回小数)。
参数
ev
动作的事件
publicvoidpause()
(译者注:
使得播放暂停)
publicintresolveAdjustedSize(intdesiredSize,intmeasureSpec)
(译者注:
取得调整后的尺寸。
如果measureSpec对象传入的模式是UNSPECIFIED那么返回的是desiredSize。
如果measureSpec对象传入的模式是AT_MOST,返回的将是desiredSize和measureSpec对象的尺寸两者中最小的那个。
如果measureSpec对象传入的模式是EXACTLY,那么返回的是measureSpec对象中的尺寸大小值。
关于MeasureSpec类的额外说明:
MeasureSpec是一个android.view.View的内部类。
它封装了从父类传送到子类的布局要求信息。
每个MeasureSpec对象描述了控件的高度或者宽度。
MeasureSpec对象是由尺寸和模式组成的,有3个模式:
UNSPECIFIED、EXACTLY、AT_MOST,这个对象由MeasureSpec.makeMeasureSpec()函数创建。
)
publicvoidresume()
(译者注:
恢复挂起的播放器)
publicvoidseekTo(intmsec)
(译者注:
设置播放位置)
publicvoidsetMediaController(MediaControllercontroller)
(译者注:
设置媒体控制器)
publicvoidsetOnCompletionListener(MediaPlayer.OnCompletionListenerl)
注册在媒体文件播放完毕时调用的回调函数。
参数
l
要执行的回调函数
publicvoidsetOnErrorListener(MediaPlayer.OnErrorListenerl)
注册在设置或播放过程中发生错误时调用的回调函数。
如果未指定回调函数,或回调函数返回假,VideoView会通知用户发生了错误。
参数
l
要执行的回调函数
publicvoidsetOnPreparedListener(MediaPlayer.OnPreparedListenerl)
注册在媒体文件加载完毕,可以播放时调用的回调函数。
参数
l
要执行的回调函数
publicvoidsetVideoPath(Stringpath)
(译者注:
设置视频文件的路径名)
publicvoidsetVideoURI(Uriuri)
(译者注:
设置视频文件的统一资源标识符)
publicvoidstart()
(译者注:
开始播放视频文件)
publicvoidstopPlayback()
(译者注:
停止回放视频文件)
publicvoidsuspend()
(译者注:
挂起视频文件的播放)
Android中文API(126)——Message
Message
结构
继承关系
publicfinalclassMessageextendsObjectimplementsParcelable
java.lang.Object
android.os.Message
类概述
定义一个包含任意类型的描述数据对象,此对象可以发送给Handler。
对象包含两个额外的int字段和一个额外的对象字段,这样可以使得在很多情况下不用做分配工作。
尽管Message的构造器是公开的,但是获取Message对象的最好方法是调用Message.obtain()或者Handler.obtainMessage(),这样是从一个可回收对象池中获取Message对象。
字段
publicstaticfinalCreator
publicintarg1
如果只需要存储几个整型数据,arg1和arg2是setData()的低成本替代品。
publicintarg2
如果只需要存储几个整型数据,arg1和arg2是setData()的低成本替代品。
publicObjectobj
发送给接收器的任意对象。
当使用Message对象在线程间传递消息时,如果它包含一个Parcelable的结构类(不是由应用程序实现的类),此字段必须为非空(non-null)。
其他的数据传输则使用setData(Bundle)方法。
注意Parcelable对象是从FROYO版本以后才开始支持的。
publicMessengerreplyTo
指明此message发送到何处的可选Messenger对象。
具体的使用方法由发送者和接受者决定。
publicintwhat
用户自定义的消息代码,这样接受者可以了解这个消息的信息。
每个handler各自包含自己的消息代码,所以不用担心自定义的消息跟其他handlers有冲突。
公共构造器
publicMessage()
构造器(但是获取Message对象的最好方法是调用Message.obtain())。
公共方法
publicvoidcopyFrom(Messageo)
使此message跟参数o相似。
浅拷贝数据域。
不拷贝源message的链表字段,时间戳和目标/回调。
publicintdescribeContents()
描述了包含在Parcelable对象排列信息中的特殊对象的类型。
返回值
一个标志位,表明Parcelable对象特殊对象类型集合的排列。
publicRunnablegetCallback()
获取回调对象,此对象会在message处理时执行。
此对象必须实现Runnable接口。
回调由接收此消息并分发的目标handler调用。
如果没有设置回调,此消息会分发到接收handler的handleMessage(Message)。
publicBundlegetData()
获取附加在此事件上的任意数据的Bundle对象,需要时延迟创建。
通过调用setData(Bundle)来设置Bundle的值。
需要注意的是,如果通过Messenger对象在进程间传递数据时,需要调用Bundle类的Bundle.setClassLoader()方法来设置ClassLoader,这样当接收到消息时可以实例化Bundle里的对象。
参考
peekData()
setData(Bundle)
publicHandlergetTarget()
获取将接收此消息的Handler对象。
此对象必须要实现Handler.handleMessage()方法。
每个handler各自包含自己的消息代码,所以不用担心自定义的消息跟其他handlers有冲突。
publiclonggetWhen()
返回此消息的传输时间,以毫秒为单位。
publicstaticMessageobtain(Handlerh,intwhat,intarg1,intarg2,Objectobj)
与obtain()一样,但是设置了target,what,arg1,arg2和obj的值。
参数
h设置的target值
what设置的what值
arg1设置的arg1值
arg2设置的arg2值
obj设置的obj值
返回值
从全局池中分配的一个Message对象。
publicstaticMessageobtain(Handlerh,intwhat,Objectobj)
与obtain()一样,但是设置了target,what和obj的值。
参数
h设置的target值
what设置的what值
obj设置的obj值
返回值
从全局池中分配的一个Message对象。
publicstaticMessageobtain(Handlerh,intwhat)
与obtain()一样,但是设置了target和what的值。
参数
htarget的值
whatwhat的值
返回值
从全局池中分配的一个Message对象。
publicstaticMessageobtain(Handlerh)
与obtain()一样,但是设置了target的值
参数
h消息对象的target成员的值
返回值
从全局池中分配的一个Message对象。
publicstaticMessageobtain(Handlerh,Runnablecallback)
与obtain(Handler)一样,但是设置回调函数,在Message返回时调用。
参数
h消息对象的target成员的值
callback当消息处理时会调用的回调函数
返回值
从全局池中分配的一个Message对象。
publicstaticMessageobtain()
从全局池中返回一个新的Message实例。
在大多数情况下这样可以避免分配新的对象。
publicstaticMessageobtain(Handlerh,intwhat,intarg1,intarg2)
与obtain()一样,但是设置了target,what,arg1和arg2的值
参数
h设置的targe值
what设置的what值
arg1设置的arg1值
arg2设置的arg2值
返回值
从全局池中分配的一个Message对象。
publicstaticMessageobtain(Messageobj)
同obtain(),但是从一个已存在的消息中拷贝值(包括它的目标)。
参数
orig要拷贝的源消息
返回值
从全局池中分配的一个Message对象。
publicBundlepeekData()
与getData()相似,但是并不延迟创建Bundle。
如果Bundle对象不存在返回null。
更多信息见getData()。
参考
getData()
setData(Bundle)
publicvoidrecyle()
向全局池中返回一个Message实例。
一定不能在调用此函数后再使用Message——它会立即被释放。
publicvoidsendToTarget()
向Handler发送此消息,getTarget()方法可以获取此Handler。
如果这个字段没有设置会抛出个空指针异常。
publicvoidsetData(Bundledata)
设置一个任意数据值的Bundle对象。
如果可以,使用arg1和arg2域发送一些整型值以减少消耗。
参考
getData()
peekData()
publicvoidsetTarget(Handlertarget)
设置将接收此消息的Handler对象。
publicStringtoString()
返回一个Message对象简单的,可读懂的描述信息。
鼓励子类重写此方法,实现时最好把对象的类型的数据考虑进去。
默认的实现等同与以下表达式:
如果需要实现toString方法,参考WritingausefultoStringmethod。
返回值
一个代表此对象的可打印字符串
publicvoidwriteToParcel(Parceldest,intflags)
将类的数据写入外部提供的Parcel中参数
dest对象被写入的Parcel
flags对象如何被写入的附加标志,可能是0或PARCELABLE_WRITE_RETURN_VALUE
Android中文API(124)——DialerFilter
DialerFilter
结构
继承关系
publicstaticinterfaceView.OnClickListner
android.view.View.OnClickListener
子类及间接子类
间接子类
CharacterPickerDialog,KeyboardView,QuickContactBadge
类概述
(译者注:
拨号器过滤,暂时不清楚使用方法和场景。
)
常量
publicstaticfinalintDIGITS_AND_LETTERS
该模式包含两行。
常量值:
1(0x00000001)
publicstaticfinalintDIGITS_AND_LETTERS_NO_DIGITS
DIGITS_AND_LETTERS模式开始后,过滤器移除了所有匹配的数字,只剩字母行时的模式。
常量值:
2(0x00000002)
publicstaticfinalintDIGITS_AND_LETTERS_NO_LETTERS
DIGITS_AND_LETTERS模式开始后,过滤器移除了所有匹配的字母,只剩数字行时的模式。
常量值:
3(0x00000003)
publicstaticfinalintDIGITS_ONLY
该模式只有数字行。
常量值:
4(0x00000004)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- api 中文 总结