如何将 Uri 图像从一个 activity 传输到另一个?
How to transfer a Uri image from one activity to another?
在我的应用程序中,我需要将 Uri 图像从我的第一个 Activity 传输到另一个。我知道如何通过意图发送位图。我是一个 bigginer 程序员,所以我不知道做什么更好:有意地传输 Uri 或将 Uri 更改为位图然后发送?
使用 putExtra 发送 Uri 路径:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent .setClass(ThisActivity.this, NewActivity.class);
intent .putExtra("KEY", Uri);
startActivity(intent );
在newActivity的OnCreate方法中:
Bundle extras = getIntent().getExtras();
if (extras != null && extras.containsKey("KEY")) {
Uri= extras.getString("KEY");
}
使用这些函数:
URI 到字符串:
Uri uri;
String stringUri;
stringUri = uri.toString();
字符串到 URI:
Uri uri;
String stringUri;
uri = Uri.parse(stringUri);
为避免您遇到的错误,在 Miki franko 给出的代码中,替换行:
Uri= extras.getString("KEY");
与 :
uri= Uri.parse(extras.getString("KEY"));
这只是为了让代码正常工作,因为我认为您不理解 Miki 试图通过代码解释的内容。
如果您现在解决了问题,请通知我们。
//First Activity to get a Uri
String uri_Str = Uri.toString();
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent .putExtra("uri_Str", uri_Str);
startActivity(intent);
//Second Activity get a Uri path
Bundle b = getIntent().getExtras();
if (b != null) {
String uri_Str= b.getString("uri_Str");
Uri uri = Uri.parse(uri_Str);
}
第一个Activity
Uri uri = data.getData();
Intent intent=new Intent(Firstclass.class,secondclass.class);
intent.putExtra("imageUri", uri.toString());
startActivity(intent);
第二个class
Imageview iv_photo=(ImageView)findViewById(R.id.iv_photo);
Bundle extras = getIntent().getExtras();
myUri = Uri.parse(extras.getString("imageUri"));
iv_photo.setImageURI(myUri);
在您的第一个 class 中,您可以像这样传递图像 uri:
Intent intent = new Intent();
intent.putExtra("your_key", imageUri.toString());
startActivity(intent);
并且在第二个或接收器 activity 中,您可以通过这种方式访问图像 uri:
Bundle extras = getIntent().getExtras();
if(extras != null){
Uri imageUri = Uri.parse(extras.getString("your_key"));
}
在我的应用程序中,我需要将 Uri 图像从我的第一个 Activity 传输到另一个。我知道如何通过意图发送位图。我是一个 bigginer 程序员,所以我不知道做什么更好:有意地传输 Uri 或将 Uri 更改为位图然后发送?
使用 putExtra 发送 Uri 路径:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent .setClass(ThisActivity.this, NewActivity.class);
intent .putExtra("KEY", Uri);
startActivity(intent );
在newActivity的OnCreate方法中:
Bundle extras = getIntent().getExtras();
if (extras != null && extras.containsKey("KEY")) {
Uri= extras.getString("KEY");
}
使用这些函数: URI 到字符串:
Uri uri;
String stringUri;
stringUri = uri.toString();
字符串到 URI:
Uri uri;
String stringUri;
uri = Uri.parse(stringUri);
为避免您遇到的错误,在 Miki franko 给出的代码中,替换行:
Uri= extras.getString("KEY");
与 :
uri= Uri.parse(extras.getString("KEY"));
这只是为了让代码正常工作,因为我认为您不理解 Miki 试图通过代码解释的内容。
如果您现在解决了问题,请通知我们。
//First Activity to get a Uri
String uri_Str = Uri.toString();
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent .putExtra("uri_Str", uri_Str);
startActivity(intent);
//Second Activity get a Uri path
Bundle b = getIntent().getExtras();
if (b != null) {
String uri_Str= b.getString("uri_Str");
Uri uri = Uri.parse(uri_Str);
}
第一个Activity
Uri uri = data.getData(); Intent intent=new Intent(Firstclass.class,secondclass.class); intent.putExtra("imageUri", uri.toString()); startActivity(intent);
第二个class
Imageview iv_photo=(ImageView)findViewById(R.id.iv_photo); Bundle extras = getIntent().getExtras(); myUri = Uri.parse(extras.getString("imageUri")); iv_photo.setImageURI(myUri);
在您的第一个 class 中,您可以像这样传递图像 uri:
Intent intent = new Intent();
intent.putExtra("your_key", imageUri.toString());
startActivity(intent);
并且在第二个或接收器 activity 中,您可以通过这种方式访问图像 uri:
Bundle extras = getIntent().getExtras();
if(extras != null){
Uri imageUri = Uri.parse(extras.getString("your_key"));
}