Android 如何在两个活动之间共享数据
我有两个活动。在第一个活动中,当我点击它时,有一个名为拍照的按钮。我的应用程序使用android手机的摄像头。但是我想在第二个活动的图像视图中捕获图像。我该怎么做 这里bt1是Android 如何在两个活动之间共享数据,android,Android,我有两个活动。在第一个活动中,当我点击它时,有一个名为拍照的按钮。我的应用程序使用android手机的摄像头。但是我想在第二个活动的图像视图中捕获图像。我该怎么做 这里bt1是main活动镜头中的按钮cameraActivity是第二个活动 public class MainActivity_Lens extends AppCompatActivity { Button bt1; public static final int req=1; public void
main活动镜头中的按钮cameraActivity
是第二个活动
public class MainActivity_Lens extends AppCompatActivity {
Button bt1;
public static final int req=1;
public void init(){
bt1=(Button)findViewById(R.id.takephoto);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent camera=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(camera,req);
// Intent cameraview =new Intent(MainActivity_Lens.this,cameraActivity.class);
// startActivity(cameraview);
}
protected void onActivityResult(int requestcode,int resultcode,Intent data){
if(requestcode==req && resultcode==RESULT_OK){
Bundle extras=data.getExtras();
Bitmap photoCapturedBitmap =(Bitmap) extras.get("data");
Intent cameraview =new Intent(MainActivity_Lens.this,cameraActivity.class);
startActivity(cameraview);
}
}
});
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main_activity__lens);
init();
}
}
要在活动
之间传递图像位图
,请使用:
宣布:
byte[] bytesImage ;
将位图转换为字节数组:
ByteArrayOutputStream ba = new ByteArrayOutputStream();
//bitmap is the bitmap you received in onActivityResult()
bitmap.compress(Bitmap.CompressFormat.PNG, 50, ba);
//save the image byte array
bytesImage = ba.toByteArray();
现在将其传递给其他活动
Intent i = new Intent(MainActivity_Lens.this, cameraActivity.class);
i.putExtra("byteArray", bytesImage);
startActivity(i);
在secondactivity中使用接收它
byte[] byteArray = getIntent().getByteArrayExtra("byteArray");
if (byteArray != null) {
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
imageview.setImageBitmap(bmp);//set bitmap to imageview
}
要在活动
之间传递图像位图
,请使用:
宣布:
byte[] bytesImage ;
将位图转换为字节数组:
ByteArrayOutputStream ba = new ByteArrayOutputStream();
//bitmap is the bitmap you received in onActivityResult()
bitmap.compress(Bitmap.CompressFormat.PNG, 50, ba);
//save the image byte array
bytesImage = ba.toByteArray();
现在将其传递给其他活动
Intent i = new Intent(MainActivity_Lens.this, cameraActivity.class);
i.putExtra("byteArray", bytesImage);
startActivity(i);
在secondactivity中使用接收它
byte[] byteArray = getIntent().getByteArrayExtra("byteArray");
if (byteArray != null) {
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
imageview.setImageBitmap(bmp);//set bitmap to imageview
}
onAcitivityResult中的Intent数据
在活动重新启动后可能为空。当摄像头启动时,您必须管理要传递的数据,但不能通过Intent。[onAcitivityResult中的Intent数据
在活动重新启动后可能会为空。当相机启动时,您必须管理要传递的数据,但不能通过Intent。[byte[]bytesImage;ByteArrayOutputStream ba=new ByteArrayOutputStream();bitmap.compress(bitmap.CompressFormat.PNG,50,ba);bytesImage=ba.toByteArray();Intent i=new Intent(main activity_Lens.this,cameraActivity.class);i.putExtra(“byteArray”,bytesImage);startActivity(i);//我应该在OnActivity方法中包含上述代码吗?//@rafsanahmad007您的意思是在OnActivityResult
中可以。。put@sameeravarma addepalli是否有效?@sameeravarmaaddepalli如果答案有效,请单击答案Byte[]bytesImage左侧的勾选按钮接受答案;ByteArrayOutputStream ba=new ByteArrayOutputStream();bitmap.compress(bitmap.CompressFormat.PNG,50,ba);bytesImage=ba.toByteArray();Intent i=new Intent(MainActivity_Lens.this,cameraActivity.class);i.putExtra(“byteArray”,bytesImage);startActivity(i);//我应该在OnActivity方法中包含上述代码吗?//@rafsanahmad007您的意思是在OnActivityResult
中可以。。put@sameeravarma addepalli是否有效?@sameeravarmaaddepalli如果答案有效,请单击答案左侧的勾号按钮接受答案