`
zhy20045923
  • 浏览: 157089 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
ValueAnimator简介 ValueAnimator属于property animation Propertity  Animation类似于 tween动画,区别在于ValueAnimator修改的是真实属性。 在Android 3.0中给View增加了一些参数并对这些参数增加了相应的getter/setter函数(ObjectAnimator要用这些函数改变这些属性): • translationX,translationY:转换坐标(control where the View is located as a delta from its left and top coordi ...
开机动画开关 system/core/rootdir/etc/init.goldfish.sh  setprop debug.sf.nobootanimation 0 mediatek\custom\taibo13_gb\system\bootanim\bootanimation mediatek\custom\taibo13_gb\system\bootanim\shutanimation 第一二张图片位置 \mediatek\custom\common\uboot\logo\wvga\wvga_kernel.bmp \medi ...
//java DateFormat String help[] = { "To use this program, enter a time value", "in the top text field, and a SimpleDateFormat", "format specifier in the second text field,", "then click on the Format button. Results", ...
其实,IoC主要分为2步: 1.控制反转-反向控制。以往的开发过程中,都是应用程序去调用系统的接口方法,比如调用系统library,这种做法的特点是,控制权掌握在应用程序手中。而控制反转就是在系统框架中,已经定义好了具体的操作模式,应用只需要实现部分借口就可以,所以这个控制流程掌握在框架手中。 与反向控制相对的是正向控制,如子类调用父类的方法,实现类调用系统库函数等 举例: android中的框架中ActivityThread等已经定义好了activity的生命周期函数的执行顺序,而应用程序做的就是给这些个生命周期函数进行实现填充,控制权掌握在android手中。 2.依赖注入。实现组件间关系从 ...
package lab.sodino.menutest; import android.content.Context; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.util.AttributeSet; import android.view.InflateException; import android.view.LayoutInflater; import android.view.Menu; import android. ...
// 比如说在button的onclick事件中,要发送一个ontouch的up事件,做法如下: public void clickBtn(View v){ dispatchTouchEvent.(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, 240, 400, 0)); } // 期中该btn的onclick事件是在xml里面注册的 <Button android:layout_width = "wrap_conten ...
术语和概念 屏幕尺寸 屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如 2.8寸, 3.5寸)。 简而言之, Android把所有的屏幕尺寸简化为三大类:大,正常,和小。 程序可以针对这三种尺寸的屏幕提供三种不同的布局方案,然 ...
联系人存储包括两个位置:SIM卡和手机上,在查找过程中要分别判断。 手机上存储位置在/data/data/com/android.providers.contacts/databases。 1 判断是否存储在手机上(CallDetailActivity) Uri personUri = null; Uri phoneUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(mNumber)); ...
Activity.managedQuery() 获取一个包含指定数据的 Cursor 对象,并由 Activity 来接管这个 Cursor 的生命周期。 首先该函数通过调用 getContentResolver().query(uri, projection, selection, selectionArgs, sortOrder) 获取一个包含指定数据(由 query 方法的参数指定)的 Cursor 对象。 然后通过调用 startManagingCursor(c) 实现由 Activity 来接管返回的 Cursor c 的生命周期。 原型: public final Cursor m ...
这种实现很简单,主要步骤如下: 1.定义自己的Exception类,该类继承自UncaughtExceptionHandler,复习其方法uncaughtException,在该方法实现强制退出 2.在你的应用中设置自定义异常 exception = new MyUncaughtExceptionHandler(this);         Thread.setDefaultUncaughtExceptionHandler(exception); 可以定义在Application中 3.抛出异常 具体的实现可参照如下附件:

AmS简介

ActivityManagerService 主要包含三个功能:Activity管理,进程管理(activity在退出时,其所在的进程不会被停止,这样可以提高下次的启动速度,只有系统内存不够时,才会被自动杀死),内存管理 主要包含重要数据:都是形如XXXRecord的数据,如ProcessRecord(apk进程管理),HistoryRecord(activity管理,本身是Binder,和IPC进行交互),TaskRecord(Activity的启动和退出顺序管理,task不直接接触activity,在task变化时,是通过HistoryRecord对TaskRecord的引用实现) 1. ...
Binder系统组件 由第一章知道,Binder系统由3部分组成,client,server,binder驱动。 其中server由两部分组成:server和Service Manager,因为Service Manager是一种特殊的server,所以也将其划分到了server中,Service Manager是一个守护进程,用来管理Server,并向Client提供查询Server接口的能力。 1.Client、Server和Service Manager实现在用户空间中,Binder驱动程序实现在内核空间中 2. Binder驱动程序和Service Manager在Android平台中已 ...
本章来主要分析Service是如何绑定到Binder的 我们从activity调用bindService开始 Activity.bindService -> ContextWrapper.bindService -> ContextImpl.bindService -> ActivityManagerNative.getDefault().bindService(ActivityManagerProxy)-> ActivityManagerService. bindService requestServiceBindingLocked(r.app.thread.s ...
前一章说了下Binder机制的实现分析,这章就主要通过实际的例子来看看,具体的服务端创建。一般而言,同一个进程里的沟通称之为短程沟通,进程间的沟通称之为远程沟通,短程沟通的效率远高于远程沟通,但是Android提供的Binder机制就提供了高效率的远程沟通。 下面通过Activity与Service之间的沟通为例,列举出2种实现方式。 例子一:通过直接继承Binder实现 1. 实现Binder类 public class MyBinder extends Binder { private Context mContext; public MyBinder(Context context ...
在 Android 框架裡,一個應用套件(Application Package)通常含有多個Java 類(Class),這些類可以在同一個進程(Process)裡執行;也可以在不同的進程裡執行。 每一個進程在誕生時,都會誕生一個主線程(Main Thread),以及誕生一個Looper類的對象和一個MQ(Message Queue)資料結構。每當主線程作完事情,就會去執行Looper類。此時,不斷地觀察MQ的動態。 主線程最主要的工作就是處理UI畫面的事件(Event),每當UI事件發生時,Android框架會丟信息(Message)到MQ裡。主線程看到MQ有新的信息時,就取出信息,然後依據信 ...
Global site tag (gtag.js) - Google Analytics