-
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
提交
取消