activity之间传递数据

1、intent.putExtra()//向activity传递数据
Bundle _bundle= getIntent().getExtras()//从activity中获取传递过来的数据

_bundle.get()/getString()...


2、通过全部对象传递数据:getApplication()获取全局对象(可以在全局对象中用map<T,K>存数据)
让自己的类对象成为全局类对象可以继承(extends)Application:
注意:要让程序启动时创建自己定义的类为全部对象时可以在 AndroidManifest.xml中配置:Android:name="我们的继承Application的全局类名(包括包名)"
public class myApplicationApp extends Application
{。。。}
获取全局对象:getApplication()
activity间传递数据:
intent.putExtra()
getIntent.getExtras()
intent:实现组件之间的通讯(感觉像是上下文的作用,或者是MSG结构体的作用)
intent.setClass(调用者,被调用者)


Base64类:

这个类跟C#中的Encoding类一样,是进行编码、解码的,可将字符串转换成字节数组,或者将字节数组转换成字符串,且可指定编码解码的方式(ascii、unicode、utf-8、gb2312)


传递复杂数据类型:

    intent.putExtra()如果要传递类的话,类必须是可序列化的,所以可以让类实现(implements)Serializable(序列化 )接口:

        传递方: _intent.putExtra("string",serialiable);

        接收方:getIntent().getSerialableExtra("string");
    intent另一个传递类的方法是 让类实现(implements)parcelable接口:

             类中重写writeToParcel(Parcel dest,int flags)//把要传递过去的数据写到参数dest中

                                    {          dest. writeInt(25);       dest.writeString("string");          }

          类中定义 public  static  final  Creator<Order> CREATOR =new  Creator<Order>(){     }

         传递方:intent.putExtra("string",order);

         接收方:Order  order  =  getIntent().getParcelableExtra("string");

从Activity中返回数据:
用startActivityForResult()启动要执行任务的那个activity,任务执行完后执行任务的那个activity调用setResult(resultCode,intent)  //intent里putExtra()放入要返回的数据
在前一个activity中的回调函数onActivityResult()中就接收到结果了
finish()//关闭当前activity
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值