Android
Эффективная загрузка растровых изображений
Поиск…
Вступление
Эта тема в основном сосредоточена на эффективной загрузке растровых изображений на устройствах Android.
Когда дело доходит до загрузки растрового изображения, вопрос возникает там, откуда он загружается. Здесь мы поговорим о том, как загрузить Bitmap из Resource с помощью устройства Android. например, из галереи.
Мы рассмотрим это на примере, который обсуждается ниже.
Синтаксис
-
<uses-permission>
-> Тег, используемый для разрешения. -
android:name
-> Атрибут, используемый для указания имени для разрешения, которое мы будем запрашивать. -
android.permission.READ_EXTERNAL_STORAGE
-> Это системные разрешения - пример "android.permission.CAMERA" или "android.permission.READ_CONTACTS"
Загрузите изображение из ресурса с устройства Android. Использование намерений.
Использование намерений для загрузки изображения из галереи.
- Первоначально вам нужно иметь разрешение
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
- Используйте следующий код, чтобы следующий макет был разработан.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="androidexamples.idevroids.loadimagefrmgallery.MainActivity">
<ImageView
android:id="@+id/imgView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/abc_search_url_text_normal"></ImageView>
<Button
android:id="@+id/buttonLoadPicture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Load Picture"
android:layout_gravity="bottom|center"></Button>
</LinearLayout>
- Используйте следующий код, чтобы отобразить изображение с помощью кнопки «Щелчок».
Кнопка Click будет
Button loadImg = (Button) this.findViewById(R.id.buttonLoadPicture);
loadImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
}
});
- Как только вы нажмете на кнопку, она откроет галерею с помощью намерения.
Вам нужно выбрать изображение и отправить его обратно в основное действие. Здесь с помощью onActivityResult мы можем это сделать.
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
ImageView imageView = (ImageView) findViewById(R.id.imgView);
imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
}
}
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow