Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.90
Sherstyuk_Ya_N
4 / 4 / 0
Регистрация: 22.07.2013
Сообщений: 30
#1

Сохранение фото в базу данных - Программирование Android

25.07.2013, 11:53. Просмотров 3288. Ответов 19
Метки нет (Все метки)

Ребят помогите пожалуйста !
Суть такова есть Activity в ней EditText, ImageButton, Button и база данных. Как в ImageButton загонять фото с галереи сделать, а вот как её сохранить в базу данных и загрузить от туда не знаю. За ранее спасибо

Так загружаю фото в ImageButton

//====== Добавление фото ребёнка
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public void FotoProfil_Click (View v){
 
        Image_profil = (ImageButton) findViewById(R.id.Image_profil_id);
        Intent i = new Intent(Intent.ACTION_PICK,
                android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        i.putExtra("crop", "true");
        i.putExtra("aspectX", 1);
        i.putExtra("aspectY", 1);
        i.putExtra("outputX", 150);// ---- размер фото на кнопке
        i.putExtra("outputY", 150);// ---- размер фото на кнопке
        i.putExtra("scale", true);
        i.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
        i.putExtra("noFaceDetection", false); 
        i.putExtra("return-data", false);
        i.putExtra(MediaStore.EXTRA_OUTPUT, ContactPhotoHelper.getTempUri());
        startActivityForResult(i, REQ_CODE_PICK_IMAGE);
        
    
    } 
    
    protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
        super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
 
        switch (requestCode) {
        case REQ_CODE_PICK_IMAGE:
            if (resultCode == RESULT_OK) {
                contactPhoto = BitmapFactory.decodeFile(ContactPhotoHelper.getTempFile()
                        .getAbsolutePath());
                Image_profil.setImageBitmap(contactPhoto);
            }
        }
    }
***********************************************
Клас для работы с фото

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package syn.child;
 
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
 
 
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Environment;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.CommonDataKinds.Photo;
import android.util.Log;
 
public class ContactPhotoHelper {
 
    private static final String TEMP_PHOTO_FILE = "tempPhoto.jpg";
 
    public static Uri getTempUri() {
        return Uri.fromFile(getTempFile());
    }
 
    public static File getTempFile() {
        if (isSDCARDMounted()) {
 
            File f = new File(Environment.getExternalStorageDirectory(), TEMP_PHOTO_FILE);
            try {
                f.createNewFile();
            } catch (IOException e) {
                Log.e("ContactPhotoHelper.getTempFile", "Error while saving temp photo: " + e.getMessage());
            }
            return f;
        } else {
            return null;
        }
    }
 
    public static boolean isSDCARDMounted() {
        String status = Environment.getExternalStorageState();
 
        if (status.equals(Environment.MEDIA_MOUNTED))
            return true;
        return false;
    }
 
    public static void setContactPhoto(ContentResolver c, byte[] bytes, long personId) {
        int photoRow = -1;
        String where = Data.RAW_CONTACT_ID + " = " + personId + " AND "
                + Data.MIMETYPE + "=='" + Photo.CONTENT_ITEM_TYPE
                + "'";
        Cursor cursor = c.query(Data.CONTENT_URI, null, where, null, null);
        int idIdx = cursor.getColumnIndexOrThrow(Data._ID);
        if (cursor.moveToFirst()) {
            photoRow = cursor.getInt(idIdx);
        }
        cursor.close();
 
        ContentValues values = new ContentValues();
        values.put(Data.RAW_CONTACT_ID, personId);
        values.put(Data.IS_SUPER_PRIMARY, 1);
        values.put(Photo.PHOTO, bytes);
        values.put(Data.MIMETYPE, Photo.CONTENT_ITEM_TYPE);
 
        if (photoRow >= 0) {
            c.update(Data.CONTENT_URI, values, Data._ID + " = " + photoRow, null);
        } else {
            c.insert(Data.CONTENT_URI, values);
        }
    }
 
    public static Bitmap loadContactPhoto(ContentResolver cr, long id, Context context) {
        Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id);
        InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
        if (input == null) {
            Resources res = context.getResources();
            return BitmapFactory.decodeResource(res, R.drawable.foto_profil);
        }
        return BitmapFactory.decodeStream(input);
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2013, 11:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сохранение фото в базу данных (Программирование Android):

Сохранение фото на телефон - Программирование Android
Народ, какая то фигня случилась, в общем делаю приложение, программа фоткает в фоне дефолтной камерой. Все вроде бы ок, тестировал на nexus...

Camera, сохранение пути к фото - Программирование Android
Как получить полный путь к фото, сделанного камерой? @Override public void onClick(View v) { try { // Намерение для...

Реализовать распознавание текста на фото и его сохранение - Программирование Android
Доброго времени суток! В своей профессиональной деятельности столкнулся с тем, что периодически приходится переписывать модели и...

Сохранение и восстановление позиции фото при перемещении через ObjectAnimator до и после паузы - Программирование Android
Дано - ObjectAnimator, imageView. ImageView с фотографией должен переместится с левого края до правого. ObjectAnimator начинает свое...

Сохранение текста из Spinner а в базу SQLite - Программирование Android
Уважаемые гуру, прошу помощи. Имеется несколько данные (массив) в Spinner е и кнопка. При нажатии кнопки данные из Spinnera должны...

Связать базу данных - Программирование Android
Добрый вечер! Объясните пожалуйста новичку, как связать веб-сервер с андроид-приложением? (На сервере я управляю базой данных, содержимое...

19
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.07.2013, 22:47 #16
http://developer.android.com/referen...Statement.html
0
Sherstyuk_Ya_N
4 / 4 / 0
Регистрация: 22.07.2013
Сообщений: 30
28.07.2013, 14:26  [ТС] #17
Всеравно не понятно
0
Sherstyuk_Ya_N
4 / 4 / 0
Регистрация: 22.07.2013
Сообщений: 30
29.07.2013, 15:37  [ТС] #18
Ау люди ну помогите, уже два дня мучаюсь
0
Sherstyuk_Ya_N
4 / 4 / 0
Регистрация: 22.07.2013
Сообщений: 30
31.07.2013, 00:45  [ТС] #19
Люди третий день ковыряюсь в гугле подскажите как же это сделать, если не трудно исходничком )))))))
0
Sherstyuk_Ya_N
4 / 4 / 0
Регистрация: 22.07.2013
Сообщений: 30
02.08.2013, 02:58  [ТС] #20
Накавырял вот ещё что

Java
1
2
3
4
5
6
7
8
9
10
   public void insertPicture(byte[] data)
    {
 
        ContentValues values = new ContentValues();
        values.put("photo", data);
        
        database.insert("Таблица", null, values);
        close();
 
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2013, 02:58
Привет! Вот еще темы с ответами:

Сохранение данных - Программирование Android
Знаю, знаю что тема заезженная вдоль и поперек но всё таки задам вопрос, может поможете. Проблема в том, что в моем приложении...

Сохранение данных - Программирование Android
Беру JSON из интернета и делаю блоки с текстом и картинками. При скачивании данных сохраняю строку в БД. Как быть с картинками?

Связать базу данных с RecyclerView - Программирование Android
Здравствуйте уважаемые форумчане! Прошу вашей помощи! У меня есть фрагмент с RecyclerView Код: package com.starikov.tester; ...

Создать базу данных на sdcard - Программирование Android
Здравствуйте! не как не могу создать базу на карточке Файл DataBaseHelper.java: package com.example.test; import...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru