这几天 想把Android里的通信方式 做一些总结。我一步步来吧。从最简单的开始。由于经验有限,有不妥之处,还要多多包涵。
一:intent传递方式(包括activity之间,activity到service等等)
Activity它们之间就会存在相互转跳的关系,转跳的实现方式还是使用Intent然后startActivity,当然转跳的话是可以带数据过去的。比如从A跳到B可以把A中的一些数据通过Intent传递给B。
这里,传递 数据比较简单了。
Intent intent = new Intent(mContext,ShowActivity.class);
//使用intent.putExtra()直接传递
intent.putExtra("name", "小博老师");
//把数值放进bundle然后在把整个bundle通过intent.putExtra()传递
Bundle bundle = new Bundle();
bundle.putString("b_name", "小博博");
bundle.putInt("b_age", 30);
//在这里把整个bundle放进intent中
intent.putExtras(bundle);
//开启一个新的activity将intent传递过去
startActivity(intent);
当然,如果有很多数据的话,就不要一个一个的传了,最好封装成一个entity。然后 传递一个对象。
Bundle.putSerializable(Key,Object);//实现Serializable接口的对象
Bundle.putParcelable(Key, Object); //实现Parcelable接口的对象
Bundle bundle = new Bundle();
bundle.putSerializable("user", user);
intent.putExtras(bundle);
this.startActivity(intent); |