我正在使用react-native-fetch-blob库中的文件系统API。
我从服务器请求图像,接收 Base64,然后将其保存到 android fs 中的 Pictures 目录。
我这样保存图像:
var RNFetchBlob = require('react-native-fetch-blob').default;
const PictureDir = RNFetchBlob.fs.dirs.PictureDir;
getImageAttachment: function(uri_attachment, filename_attachment, mimetype_attachment) {
return new Promise((RESOLVE, REJECT) => {
// Fetch attachment
RNFetchBlob.fetch('GET', config.apiRoot+'/app/'+uri_attachment)
.then((response) => {
let base64Str = response.data;
let imageLocation = PictureDir+'/'+filename_attachment;
//Save image
fs.writeFile(imageLocation, base64Str, 'base64');
console.log("FILE CREATED!!")
}).catch((error) => {
// error handling
console.log("Error:", error)
});
},
Run Code Online (Sandbox Code Playgroud)
问题
图像保存成功,但当我打开 Android 的图库时,它不可见。但是当我关闭并打开 Android 模拟器时,它就会在图库中可见。
问题
如何在不重启模拟器的情况下查看Android图库中的图片?
创建文件后,我将其添加到上述方法中:
RNFetchBlob.fs.scanFile([ { path : imageLocation, …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取图库图像的路径。我正在获取存储在内部存储中而不是外部存储中的图像的路径。我还启用了已授予的读写存储和相机访问权限。这是我的代码
void ChoosePhoto()
{
try
{
var imageIntent = new Intent();
imageIntent.SetType("image/*");
imageIntent.SetAction(Intent.ActionGetContent);
StartActivityForResult(Intent.CreateChooser(imageIntent, "Select photo"), 0);
}
catch (Exception ex)
{
throw ex;
}
}
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_CAPTURE)
{
// camera operation
}
else
{
Console.WriteLine("choose pic from Gallery");
var uri = data.Data;
var path = getRealPathFromURI(uri); //path returns null when i select image from external storage;
}
}
private String getRealPathFromURI(Uri contentURI)
{
string[] …Run Code Online (Sandbox Code Playgroud) android android-gallery xamarin.android xamarin android-permissions
对于我的应用程序,我需要一个带有远程图像的画廊(Gridview)(原始和拇指的URL被JSON文件解析),它显示缩略图,并在点击它加载原始大小的图像(异步将是最好的... )我已经在http://fukyo-it.blogspot.com/2010/08/iphone-sdk-creating-photo-gallery-with.html上看到了这款iPhone,但这在Android上如何轻松实现?
非常感谢帮助!
在这些项目中,屏幕方向横向视图根本不起作用。
在android中,manifest我android:screen orientation=lanscape使用或不使用屏幕方向。你可以在清单中检查它。但不幸的是我没有得到输出。
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gems.android"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="auto"
>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" android:name="com.sit.gems.app.GemsApplication"
android:theme="@style/AppTheme" >
<activity
android:name="com.sit.gems.activity.SplashActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.sit.gems.activity.HomeActivity"></activity>
<activity android:name="com.sit.gems.activity.YoutubePlayActivity"></activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
我看不到风景。哪位大侠知道怎么解决,谢谢。
我试图从库中选择一个图像并将位图设置为我的imageview,但我有一个问题:在我的设备中,运行良好,但它在其他方面不起作用.
我在片段中启动图像选择器如下:
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, SELECT_PHOTO);
这是我的onActivityResult:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
Log.d("ResultCode",resultCode+"");
switch (requestCode) {
case SELECT_PHOTO:
if (resultCode == Activity.RESULT_OK) {
Uri selectedImage = imageReturnedIntent.getData();
try {
Bitmap imagen = decodeUri(selectedImage);
// Works on my device (because resultCode = RESULT_OK) but doesn't work in others (because resultCode = 0)
((ImageView) findViewById(R.id.myimage)).setImageBitmap(imagen);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我很感激任何帮助,我有点绝望.X_X
android android-intent android-gallery android-fragments onactivityresult
我正在使用以下代码从图库中选择图像。当我使用Samsung Galaxy S4对其进行测试时,它会直接转到我真正想要的Gallery。
但是,当我在LG Optimus II设备上测试我的代码时,它显示一个对话框,提供选择图库或图片的选项。换句话说,它增加了我不想要的另一层。
两种设备都具有KitKat 4.4.2操作系统。
public static void showFileChooser(Activity activity) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_PICK);
activity.startActivityForResult(Intent.createChooser(intent, "Select Picture"), 1);
}
Run Code Online (Sandbox Code Playgroud) 我有一个问题,我想在aNDROID中从图库中选择图像和视频我使用了以下代码但不成功.
setType("*/*);setType("video/*");setType("image/*");setType("image/* , video/*");setType("image/* video/*"); Intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 1);Intent i= new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
i.setType("*/*");
startActivityForResult(i, RESULT_LOAD_IMAGE);我正在尝试建立一个画廊应用程序.我已经提取了图像路径和日期MediaStore.Images.
我使用了以下代码:
public static ArrayList<String> getAllShownImagesPath(Activity activity) {
Uri uri;
Cursor cursor;
int column_index_data, column_index_folder_name;
int column_index_date;
ArrayList<String> listOfAllImages = new ArrayList<String>();
String absolutePathOfImage = null;
long dateofimage;
uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] projection = { MediaColumns.DATA,MediaColumns.DATE_ADDED,
MediaStore.Images.Media.BUCKET_DISPLAY_NAME };
cursor = activity.getContentResolver().query(uri, projection, null,
null, null);
column_index_data = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
column_index_date=cursor.getColumnIndex(MediaColumns.DATE_ADDED);
column_index_folder_name = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.BUCKET_DISPLAY_NAME);
while (cursor.moveToNext()) {
absolutePathOfImage = cursor.getString(column_index_data);
System.out.println("Imagepath-->"+absolutePathOfImage);
dateofimage = cursor.getLong(column_index_date);
System.out.println("date--->"+dateofimage);
Date d = new Date(dateofimage);
java.text.DateFormat formatter = new SimpleDateFormat("MMMM dd, yyyy h:mmaa");
String …Run Code Online (Sandbox Code Playgroud)