Android知识备忘

开始学习Android开发了,这里记录一下学习过程中个人觉得重要的知识点;

LayoutInflater 

要点:

1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;用来找 res/layout下的 xml 布局文件,并且实例化;

2、对于一个已经载入的界面(例如setcontentview后),就可以使用findViewById()方法来获得其中的界面元素;是找具体 xml 布局文件中的具体 widget 控件(如:Button、TextView 等)。

活动的启动模式

通过给<activity>标签指定Android:launchmode属性选择启动模式

1、standard默认启动模式:每次启动创建一个该活动的新的实例

2、singsingleTop:若栈顶已经是该活动则再次启动直接使用栈顶的实例

3、singTask:若栈内有该活动则该活动之上所有活动出栈使用该活动

4、singleInstance:启动一个新的返回栈来管理这个活动

RecyclerView的简单使用

1、创建ViewHolder

2、创建Adapter实现3个方法

3、设置RecyclerView

广播的两种类型

1、标准广播:完全异步执行的广播

2、有序广播:同步执行的广播,可被截断

Notification 

private void sendNotification() {
   //获取NotificationManager实例
   NotificationManager notifyManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
   //实例化NotificationCompat.Builde并设置相关属性
   NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
           //设置小图标
           .setSmallIcon(R.mipmap.icon_fab_repair)
           //设置通知标题
           .setContentTitle("最简单的Notification")
           //设置通知内容
           .setContentText("只有小图标、标题、内容")
           //设置通知时间,默认为系统发出通知的时间,通常不用设置
           //.setWhen(System.currentTimeMillis());
   //通过builder.build()方法生成Notification对象,并发送通知,id=1
   notifyManager.notify(1, builder.build());
}

事件处理机制

1、基于监听的事件处理:例如重写onclick方法

2、基于回调的事件处理:例如自定义Button类重写onKeyDown方法,然后在布局文件内引入该自定义组件

Handler

1、在新启动的线程中发送消息   sendMessage方法

2、在主线程中获取、处理消息   重写handleMessage方法

*在新线程中创建handler时必须先创建looper,之后还要调用Looper.loop()

AsyncTask

通过调用execute方法开始处理异步任务.相当于线程中的start方法.

  onPreExecute()                              //此方法会在后台任务执行前被调用,用于进行一些准备工作 
  doInBackground(Params… params) //此方法中定义要执行的后台任务,在这个方法中可以调用publishProgress来更新任务进度(publishProgress内部会调用onProgressUpdate方法) 
  onProgressUpdate(Progress… values) //由publishProgress内部调用,表示任务进度更新 
  onPostExecute(Result result)              //后台任务执行完毕后,此方法会被调用,参数即为后台任务的返回结果 
  onCancelled()                                   //此方法会在后台任务被取消时被调用

以上方法中,除了doInBackground方法由AsyncTask内部线程池执行外,其余方法均在主线程中执行。

Fragment与Activity数据交互

1、在Activity中创建bundle并调用Fragment的setArguments方法将Bundle数据包传给Fragment

2、Fragment中定义一个内部回调接口,再让Activity实现该回调接口,这样Fragment可调用该回调接口将数据传给Activity

Service的两个问题

1、Service不会专门启动一个单独的进程,Service与它所在应用位于同一个进程中。

2、Service不是一个新的线程,因此不应该在Service中直接处理耗时任务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值