上一篇文章已经介绍了activity之间传递参数的办法,但是出现的问题是,如果bitmap的大小超过40M,就会出现错误信息,导致传输失败:
1、新建一个类,把数据变为全局变量:
public class img {
private static String imgDatils;
public static String getImgDatils() {
return imgDatils;
}
public static void setImgDatils(String imgDatils) {
img.imgDatils = imgDatils;
}
}
2、信息传输:
public void showImages(String data) {
data = data.split(",")[1];
PiccActivity.this.imgData = data;
img.setImgDatils(imgData);
//Log.i(data, data);
Intent intent =new Intent(PiccActivity.this,PrinterMainActivity.class);
//用Bundle携带数据
Bundle bundle=new Bundle();
//传递name参数为tinyphp
//给intent添加额外数据,key为“前面”,key值为"后面"
bundle.putString("imgData", "");
intent.putExtras(bundle);
startActivity(intent);
3、信息接收:
Intent intent=getIntent();//getIntent将该项目中包含的原始intent检索出来,将检索出来的intent赋值给一个Intent类型的变量intent
//获取传来的参数
//新页面接收数据
Bundle bundle = this.getIntent().getExtras();
//接收name值
String imgData = bundle.getString("imgData");
imgData = img.getImgDatils();
Log.i("获取到的imgData值为",imgData);
secondTxt = (TextView)findViewById(R.id.textid);
secondTxt.setText(imgData);
这个存在一个问题,是全局变量设计权限问题,可能同时传输数据进行操作的时候,会出现并发问题。