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

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

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

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

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

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

Запрос данных по ID из нескольких баз данных - Программирование Android
Доброго времени суток. Суть вопроса: есть две готовых таблицы: text и buttons, подключенные к проекту. В таблице text поля(тип):...

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

Синхронизация баз данных через облако - Программирование Android
Здравствуйте! Имеется несколько баз данных на разных ОС, включая Android, беда в том, что есть локальная и удаленная БД. И нужен...

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

Создать базу данных с(Создание функции БД, Создание процедуры БД, Создание тригера БД) - Программирование Android
В задание для курсовой работы по БД входят вот такие пункты: 1.2 Создание функции БД. 1.3 Создание процедуры БД 1.4 Создание...

"Синхронизация" баз SQLite двух устройств - Программирование Android
Добрый вечер, у меня такой вопрос к знатокам: возможно ли реализовать "синхронизацию" между двумя устройствами, имеющих отличные друг от...

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

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

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

Если не трудно можете поправить что не так?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
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(); // это вниз
0
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();
    }

Знаю, вопросы глупые. Вы уж извините... так как не сильно разбираюсь. Все равно не понятно как это кейс поставить. Перепробовал много вариантов но так и не работает.
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
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;
}
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
13.05.2015, 00:23 #13
Цитата Сообщение от Rube Посмотреть сообщение
не говоря уже о тм, что в БД ее не засунуть.
Засунуть то можно, но ЗАЧЕМ?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
13.05.2015, 07:07 #14
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Засунуть то можно, но ЗАЧЕМ?
Была тут тема с полгодика назад, еле уговорили человека не засовывать
0
loren96
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 74
13.05.2015, 08:08  [ТС] #15
а как оно на производительности скажется? Если несколько баз данных иметь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2015, 08:08
Привет! Вот еще темы с ответами:

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

Возможно ли создание одного активити в другом? - Программирование Android
К примеру у меня есть приложение с меню из кнопок слева, и linearLayout справа. И я хочу чтоб при нажатии на кнопку в LinearLayout...

Запрос из двух баз данных - SQL Server
Всем привет! как выполнить SELECT из двух баз данных? SELECT ID,TORG,(SELECT id,name FROM(вот здесь как взять таблицу с другой базы)...

Слияние двух баз данных - MS Access
Доброго времени суток! Скорее не слияние, а работа с двумя базами данных в одной таблице. Есть две совершенно разные базы данных. ...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
13.05.2015, 08:08
Ответ Создать тему
Опции темы

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