Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
 
loren96
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 74
#1

Возможно ли создание двух баз данных - Android

12.05.2015, 17:48. Просмотров 635. Ответов 26
Метки нет (Все метки)

Возможно ли создание двух баз? А так же как скажеться на производительности такое решение. Одна база данных заполнена, а другую пользователь заполняет по желанию
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2015, 17:48     Возможно ли создание двух баз данных
Посмотрите здесь:

"Синхронизация" баз SQLite двух устройств Android
Локальная база данных в JSON. Возможно ли сразу добавить её в файлы приложения Android
Android Возможно ли
Запрос данных по ID из нескольких баз данных Android
Android Создание базы данных в андроид
Android Синхронизация баз данных через облако
Взаимодействие баз данных на сервере и мобильном устройстве Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
12.05.2015, 17:56     Возможно ли создание двух баз данных #2
Да хоть 10 думаю, только не запутаться бы. Но зачем?
loren96
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 74
12.05.2015, 18:03  [ТС]     Возможно ли создание двух баз данных #3
Для удобства. Ведь, мне кажется, что гораздо лучше будет разделить данные на две базы. Одна та что статическая, вторая та, которую пользователь заполняет сам по желанию.

Может знаете. Как добавить фото в базу данных пользователю? Перекопал множество инфы, пересмотрел уроки на СтартАндроид но так и не нашел.

Вот есть две базы. Одна уже заполнена информацие с картинками, с ней проблем нету. В базе хранятся ссылки на фотографии которые лежат в папке "drawable". Как можно сохранить картинку к себе в альбом? Ну или создать свою папку в корне карты. Вторая база пустая, пользователь должен сам свои картинки загружать. И проблема в том что с текстом без проблем работает. А вот как картинки всунуть без понятия. Например при нажатии кнопки обзор откроется галерея, где нужно будет выбрать фото, для загрузки в БД
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
12.05.2015, 18:56     Возможно ли создание двух баз данных #4
Вот тут описано как сохранить изображение на телефон(изображение будет доступно всем приложениям). потом в базу ссылку кинешь на него кинешь.
loren96
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 74
12.05.2015, 19:00  [ТС]     Возможно ли создание двух баз данных #5
Немножко не понятно как происходит сам процесс сохранения фотографии. И как сохранить именно из базы данных. Ведь там, в базе, не изображение а ссылка на него. По сути получается что нужно просто скопировать изображение из папки.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
12.05.2015, 19:00     Возможно ли создание двух баз данных #6
Может лучше не 2 базы, а таблицу для пользователя отдельную?
Картинки как сказал Mikalai, надо путь только хранить, или просто имя, если путь - константа.
loren96
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 74
12.05.2015, 19:19  [ТС]     Возможно ли создание двух баз данных #7
Я просто упрощаю немного себе задачу, так как не очень понимаю в этом. Нужно будет создавать отдельную колонку. А потом еще и отсортировать их на наличие не пустой колонки "пользователь".

Добавлено через 1 минуту
так у меня же и храниться в базе только путь. Весь смысл в том что бы вытащить картинку из папки "drawable"

Добавлено через 16 минут
Java
1
2
3
4
5
6
7
8
private void saveFullImage() {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File file = new File(Environment.getExternalStorageDirectory(),
            "test.jpg");
    outputFileUri = Uri.fromFile(file);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
    startActivityForResult(intent, TAKE_PICTURE);
}
Я так понял вот этот кусочек кода который сохраняет.

Объясните если не сложно, как сделать сохранение при долгом нажатии?

Вот тут у меня при долгом нажатии удаляет элемент. А как добавить еще один пункт - Сохранить? Дело в том что больше двух пунктов не добавлял в такое меню.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public void onCreateContextMenu(ContextMenu menu, View v,
                                    ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, CM_DELETE_ID, 0, R.string.delete_record);
    }
 
    public boolean onContextItemSelected(MenuItem item) {
        if (item.getItemId() == CM_DELETE_ID) {
           
            AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item
                    .getMenuInfo();
            
            db.delRec(acmi.id);
            
            getSupportLoaderManager().getLoader(0).forceLoad();
            return true;
        }
        return super.onContextItemSelected(item);
    }
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
12.05.2015, 19:23     Возможно ли создание двух баз данных #8
Цитата Сообщение от loren96 Посмотреть сообщение
Нужно будет создавать отдельную колонку. А потом еще и отсортировать их на наличие не пустой колонки "пользователь".
Хозяин барин, но со второй базой соответственно и работы в 2 раза больше.
Цитата Сообщение от loren96 Посмотреть сообщение
Например при нажатии кнопки обзор откроется галерея, где нужно будет выбрать фото, для загрузки в БД
Картинка уже хранится в телефоне? Смысл ее дублировать? не говоря уже о тм, что в БД ее не засунуть.

Добавлено через 1 минуту
Цитата Сообщение от loren96 Посмотреть сообщение
А как добавить еще один пункт - Сохранить?
menu.add(0, CM_ADD_ID, 1, R.string.add);

Добавлено через 59 секунд
А в onContextItemSelected пользовать switch - case
loren96
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 74
12.05.2015, 19:37  [ТС]     Возможно ли создание двух баз данных #9
да, картинка уже в телефоне.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public void onCreateContextMenu(ContextMenu menu, View v,
                                    ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, CM_DELETE_ID, 0, R.string.delete_record);
        menu.add(0, CM_ADD_ID, 1, R.string.save_record);
    }
 
    public boolean onContextItemSelected(MenuItem item) {
        if (item.getItemId() == CM_DELETE_ID) {
           
            AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item
                    .getMenuInfo();
            
            db.delRec(acmi.id);
            
            getSupportLoaderManager().getLoader(0).forceLoad();
            return true;
        }
        return super.onContextItemSelected(item);
    }

А как правильно туда case записать?

Добавлено через 6 минут
да, картинка уже в телефоне.

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
public void onCreateContextMenu(ContextMenu menu, View v,
                                    ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, CM_DELETE_ID, 0, R.string.delete_record);
        menu.add(0, CM_Save_ID, 1, R.string.save_record);
    }
 
    public boolean onContextItemSelected(MenuItem item) {
        
switch (v.getId()) {
                    case R.id.button1:
                     private void saveFullImage() {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File file = new File(Environment.getExternalStorageDirectory(),
            "test.jpg");
    outputFileUri = Uri.fromFile(file);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
    startActivityForResult(intent, TAKE_PICTURE);
}
                  break;
 
 
case R.id.button2:
 
AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item
                    .getMenuInfo();
            
            db.delRec(acmi.id);
            
            getSupportLoaderManager().getLoader(0).forceLoad();
            return true;
} 
 
 
        return super.onContextItemSelected(item);
    }

Если не трудно можете поправить что не так?
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
12.05.2015, 19:47     Возможно ли создание двух баз данных #10
ммм... методы в методе?
Java
1
2
3
4
5
AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item.getMenuInfo(); // это в самый вверх до switch 
...
case R.id.button1: saveFullImage();
...
getSupportLoaderManager().getLoader(0).forceLoad(); // это вниз
loren96
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 74
12.05.2015, 21:02  [ТС]     Возможно ли создание двух баз данных #11
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
AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item.getMenuInfo();
public void onCreateContextMenu(ContextMenu menu, View v,
                                    ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, CM_DELETE_ID, 0, R.string.delete_record);
    }
private void saveFullImage() {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File file = new File(Environment.getExternalStorageDirectory(),
            "test.jpg");
    outputFileUri = Uri.fromFile(file);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
    startActivityForResult(intent, TAKE_PICTURE);
}
 
 
    public boolean onContextItemSelected(MenuItem item) {
        switch (v.getId()) {
                    case R.id.button1: saveFullImage();
                     
                  break;
 
 
case R.id.button2:
            
            db.delRec(acmi.id);
                        
            return true;
} 
          
            
           
            db.delRec(acmi.id);
            
            getSupportLoaderManager().getLoader(0).forceLoad();
            return true;
        }
        return super.onContextItemSelected(item);
        getSupportLoaderManager().getLoader(0).forceLoad();
    }

Знаю, вопросы глупые. Вы уж извините... так как не сильно разбираюсь. Все равно не понятно как это кейс поставить. Перепробовал много вариантов но так и не работает.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
12.05.2015, 21:16     Возможно ли создание двух баз данных #12
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
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {   
    super.onCreateContextMenu(menu, v, menuInfo);
    menu.add(0, CM_DELETE_ID, 0, R.string.delete_record);   
    menu.add(0, CM_ADD_ID, 0, R.string.add);
}
 
private void saveFullImage() {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File file = new File(Environment.getExternalStorageDirectory(), "test.jpg");
    outputFileUri = Uri.fromFile(file);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
    startActivityForResult(intent, TAKE_PICTURE);
}
 
public boolean onContextItemSelected(MenuItem item) {   
    AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item.getMenuInfo();
    switch (item.getItemId()) {
    case CM_ADD_ID: saveFullImage();
        break;
    case CM_DELETE_ID:
        db.delRec(acmi.id);
        break;      
    }       
    return true;
}
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
13.05.2015, 00:23     Возможно ли создание двух баз данных #13
Цитата Сообщение от Rube Посмотреть сообщение
не говоря уже о тм, что в БД ее не засунуть.
Засунуть то можно, но ЗАЧЕМ?
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
13.05.2015, 07:07     Возможно ли создание двух баз данных #14
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Засунуть то можно, но ЗАЧЕМ?
Была тут тема с полгодика назад, еле уговорили человека не засовывать
loren96
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 74
13.05.2015, 08:08  [ТС]     Возможно ли создание двух баз данных #15
а как оно на производительности скажется? Если несколько баз данных иметь.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
13.05.2015, 09:10     Возможно ли создание двух баз данных #16
Да практически никак, если не миллион записей.
loren96
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 74
13.05.2015, 10:04  [ТС]     Возможно ли создание двух баз данных #17
не думаю что для большого количества данных используют SQLite

Добавлено через 14 минут
У меня красным светиться

Java
1
CM_ADD_ID
По аналогии можно сделать как и у

то есть так
Java
1
private static final int CM_ADD_ID = 1;
Это я взял с сайта. И не могу понять что значит 1

Добавлено через 6 минут
Ага, все я понял. Это ID элемента в меню. И они не могут дублироваться

Добавлено через 5 минут
Все поставил. Все сделал но при попытке удалить ничего не происходит. А при попытке сохранить открывается камера
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
13.05.2015, 10:25     Возможно ли создание двух баз данных #18
Цитата Сообщение от loren96 Посмотреть сообщение
Это ID элемента в меню
Ну да, типо того, для удобства, хотя можно вообще использовать 0 и 1.
Цитата Сообщение от loren96 Посмотреть сообщение
Все сделал но при попытке удалить ничего не происходит
db.delRec(acmi.id); что там в delRec? acmi.id чему равен?
А логи используете для просмотра переменных? При разработке их надо вообще на каждую переменную писать.
Цитата Сообщение от loren96 Посмотреть сообщение
А при попытке сохранить открывается камера
Может бог с ними с фотками, камеру будем делать?
loren96
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 74
13.05.2015, 12:03  [ТС]     Возможно ли создание двух баз данных #19
Та я уже второй инстаграм создаю))))) да все с удалением разобрался. А вот фото так и не могу настроить....
Наверное этот пример не подходит
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2015, 12:18     Возможно ли создание двух баз данных
Еще ссылки по теме:

Android Синхронизация баз данных на клиенте и сервере
Создание базы данных Android
Android Правильное проектирование баз данных при очень частом обращении
Android Icon в Drawable возможно?
Android Возможно ли создание одного активити в другом?

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

Или воспользуйтесь поиском по форуму:
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
13.05.2015, 12:18     Возможно ли создание двух баз данных #20
Цитата Сообщение от Rube Посмотреть сообщение
File file = new File(Environment.getExternalStorageDirectory(), "test.jpg");
Это я так понимаю тестовый файл?
Так все таки алгоритм мне не ясен программы, зачем сохранять уже существующее изображение? Я понимаю, с инета качать и сохранять, но тут?
Yandex
Объявления
13.05.2015, 12:18     Возможно ли создание двух баз данных
Ответ Создать тему
Опции темы

Текущее время: 11:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru