为了账号安全,请及时绑定邮箱和手机立即绑定

Android攻城狮的第二门课(第3季)

难度初级
时长 6小时 0分
学习人数
综合评分9.57
162人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.3 逻辑清晰
  • ShardPreferences
    查看全部
  • contentProvide的用法
    查看全部
  • SharePreference put和remove的最后要commit否则无效
    查看全部
  • @异步广播 private BC3 bc3;//全局变量 case R.id.button3://异步广播 Intent intent3=new Intent(); intent3.putExtra("msg", "这是一条异步广播!"); intent3.setAction("BC_Three"); sendStickyBroadcast(intent3); //若先发消息后注册可以成功,则有异步效果。 IntentFilter intentFilter=new IntentFilter("BC_Three"); intentFilter.setPriority(100); bc3=new BC3(); registerReceiver(bc3, intentFilter); break; //动态注册的必须销毁APP时解除注册 @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(bc3); } <uses-permission android:name="android.permission.BROADCAST_STICKY"></uses> 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • @有序广播 @class BC1 abortBroadcast();//拦截广播继续传播 Bundle bundle=new Bundle(); bundle.putString("test", "广播处理的数据"); setResultExtras(bundle); @class BC2 Bundle bundle=getResultExtras(true); String s2=bundle.getString("test"); Log.i("TAG", "处理后的数据:"+s2); @doClick() case R.id.button2: Intent intent2=new Intent(); intent2.putExtra("msg", "这是一条有序广播!"); intent2.setAction("BC_One"); sendOrderedBroadcast(intent2, null);//第二个参数:权限 break; 传递数据:Bundle VS Intent @Bundle 存储: Bundle bundle=new Bundle(); bundle.putString("代号1", "传递数据1"); setResultExtras(bundle); 读取: String s1=bundle.getString("代号1"); @Intent 存储: Intent intent2=new Intent(); intent2.putExtra("代号2", "传递数据2"); //省略准备传递的代码... 读取: String s2=intent.getStringExtra("代号2"); 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • @普通广播 @发送广播: public void doClick(View v){ switch (v.getId()) { case R.id.button1: Intent intent=new Intent(); intent.putExtra("msg", "这是一条普通广播!"); intent.setAction("BC_One");//一般设置为包名 sendBroadcast(intent); break; } } @接收广播: public class BC1 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String s=intent.getStringExtra("msg"); Log.i("TAG", "R1收到消息:"+s); } } @动态注册(Java代码注册)(弊端:程序不启动就相当于动态注册作废): onCreate{ IntentFilter intentFilter=new IntentFilter("BC_One"); intentFilter.setPriority(100); BC2 bc2=new BC2(); registerReceiver(bc2, intentFilter); } @静态注册(AndroidManifest.xml) <application... <receiver android:name="com.example.demobroadcastreceiver.BC1"> <intent-filter android:priority="200"> <action android:name="BC_One"></action> </intent-filter> </receiver> </application> 注意:动态优先于静态,priority值越大越优先(若A为动态且priority==1,B为静动态且priority==2;则还是A优先)。
    查看全部
  • @普通/有序广播特点 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • @Broadcast和BroadcastReceiver 1. 概念: 1)Broadcast一种广泛运用的在应用程序之间传输信息的机制 2)BroadcastReceiver,对发送出来的广播进行过滤接收并响应的一类组件,它可以用来接收来自系统和应用中的广播 3)用途 开机完成后系统会产生一条广播 网络状态改变时系统会产生一条广播 电量改变时系统产生一条广播 2. 为什么要设计广播 大大减少开发工作量和周期(程序员不需要关注底层如何实现,只需要掌握BroadcastReceiver就行了) 3. 使用方法: 1)发送: 将信息装入一个Intent对象,通过调用相应的方法将Intent对象以广播方式发送出去 sendBroadcast()\sendOrderBroadcast()\sendStickyBroadcast() 2)接收: 当Intent发送之后,所有已经注册的BroadcastReceiver会检查注册时的IntentFilter是否与发送的Intent相匹配,匹配成功的话就会调用BroadcastReceiver的onReceive()方法。 所以定义一个BroadcastReceiver的时候都需要实现onReceive()方法 4. 生命周期 生命周期只有5s左右,每次广播来的时候都会创建BroadcastReceiver对象,并调用onReceive()方法。 所以不能在onReceive()做一些耗时操作,可以通过发送Intent给service,由service完成耗时操作。 注意子线程也不行 5. 广播的种类(如图) 注意有序广播是可以终止的,且接收者可以篡改内容。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • SharedPreferrences存储步骤
    查看全部
  • 普通广播与有序广播的特点
    查看全部
  • 广播种类
    查看全部
  • 注意点!!!
    查看全部
  • 接收广播
    查看全部
  • 发送广播
    查看全部
  • contentprovider
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Android开发课程的中后期部分,学习之前要求对一些知识点有一定的了解: 1、已经掌握了Java基础 2、已经熟悉或者了解Android中的监听事件原理 3、已经熟悉或者了解一种以上的数据库,并掌握基本的SQL语句
老师告诉你能学到什么?
1、初步掌握Android手势识别的原理以及实际使用 2、初步掌握Android的数据存储方式 3、深度了解Android中的组件 4、熟悉了解Android常用的系统服务并对服务的使用有新的认识

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!