Получение изображения с SD-карты и сохранение его в базе данных Android - PullRequest
0 голосов
/ 07 апреля 2011

Могу ли я получить изображение с SD-карты и сохранить его в базе данных приложения? Эффективна ли эта идея в моем приложении?

Заранее спасибо !!

Привет

1 Ответ

1 голос
/ 07 апреля 2011

Да, вы можете получить образ с вашей SD-карты и сохранить его в базе данных sqlite, мы сделали это, но это будет слишком дорого для вашего устройства ....... Так что будьте осторожны,

вызвать средство выбора изображения, позвонив по этому номеру

Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
                    startActivityForResult(i, 12);

Откроется окно выбора галереи по умолчанию, когда вы выберете изображение, которое будет возвращено в вашей текущей деятельности, поэтому переопределите onActivityResult() и найдите код результата 12.

в этом коде вы можете получить курсор по этим строкам

Cursor cursor = getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);
cursor.moveToFirst();

Из этого объекта курсора вы можете получить путь к файлу изображения по этим строкам

 int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
 String filePath = cursor.getString(columnIndex);

Вот объект растрового изображения

Bitmap bMap = BitmapFactory.decodeFile(filePath);

Получить байтовые массивы

ByteArrayOutputStream out = new ByteArrayOutputStream();

bMap.compress(Bitmap.CompressFormat.PNG, 100,out); 
byte[] imageArray = out.toByteArray();

Теперь вы должны хранить imageArray как blob в вашей базе данных. И вы сделали .... Не забудьте сослаться этот пост откуда я получил решение ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...