私はアンドロイドに不慣れで、Androidで写真を表示する方法を見つけようとしています。私は運が悪かったので一週間中検索していて、画像ギャラリーからアプリの壁紙を設定する方法についてのAndroidサンプルコードまたは例があるかどうか知りたいです
皆さん、ありがとうございました
画像ギャラリーから画像を選択するには、次の方法を使用します
//Declare private static final int PICK_IMAGE = 1;
try {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE);
} catch (Exception e) {
Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_LONG).show();
Log.e(e.getClass().getName(), e.getMessage(), e);
}
そしてアクティビティ結果書き込み時:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case PICK_IMAGE:
if (resultCode == Activity.RESULT_OK) {
Uri selectedImageUri = data.getData();
try {
// OI FILE Manager
String filemanagerstring = selectedImageUri.getPath();
// MEDIA GALLERY
String selectedImagePath = getPath(selectedImageUri);
if (selectedImagePath != null) {
filePath = selectedImagePath;
} else if (filemanagerstring != null) {
filePath = filemanagerstring;
} else {
Toast.makeText(getApplicationContext(), "Unknown path",
Toast.LENGTH_LONG).show();
}
if (filePath != null) {
decodeFile(filePath);
} else {
bitmap = null;
}
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "Internal
error",Toast.LENGTH_LONG).show();
}
}
break;
default:
}
}
//Decode file() where you will get decoded file and then you can use that image
//file according to your requirement
public void decodeFile(String filePath) {
// Decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeFile(filePath, o);
// The new size we want to scale to
final int REQUIRED_SIZE = 1024;
// Find the correct scale value. It should be the power of 2.
int width_tmp = o.outWidth, height_tmp = o.outHeight;
int scale = 1;
while (true) {
if (width_tmp < REQUIRED_SIZE && height_tmp < REQUIRED_SIZE)
break;
width_tmp /= 2;
height_tmp /= 2;
scale *= 2;
}
// Decode with inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize = scale;
bitmap = BitmapFactory.decodeFile(filePath, o2);
image.setImageBitmap(bitmap);// set ImageView in your case set Layout
//background
}
ボストンの新しい Web サイトで Android 開発チュートリアルを検索してみてください。tut 41 と 42 は、ギャラリーまたはカメラから画像を取得し、壁紙として設定する方法を教えていると思います。このリンクhttp://thenewboston.org/list.php?cat=6を試してください。ハッピーコーディング:)
コードをチェックしてください。
Bitmap mBitmap = BitmapFactory.decodeResource("imageID");
WallpaperManager myWallpaperManager = WallpaperManager
.getInstance(getApplicationContext());
try {
myWallpaperManager.setBitmap(mBitmap); // here your image bitmap.
Toast.makeText(SetWallPaper.this, "Wallpaper set",
Toast.LENGTH_SHORT).show();
} catch (IOException e) {
Toast.makeText(SetWallPaper.this,
"Error setting wallpaper", Toast.LENGTH_SHORT)
.show();
}
お役に立てると思います。