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

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

Войти
Регистрация
Восстановить пароль
 
Naomis
6 / 6 / 1
Регистрация: 11.03.2015
Сообщений: 210
Завершенные тесты: 1
#1

Всплывающие диалоги и работа с базой данных - Программирование Android

30.05.2015, 16:09. Просмотров 288. Ответов 1
Метки нет (Все метки)

Всем доброго дня. Дедлайн ещё ближе, диплом под ещё большей угрозой.

Нужно сделать такую фишку. Есть список, в котором данные и БД, тыкая на элемент списка и удерживая, появляется контекстное меню. В меню два элемента, первый удаляет запись, а с помощью второго её нужно редактировать, он-то как раз и не сделан. Думаю, что самым логичным будет сделать всплывающее окно в котором надо будет изменять данные и сохранять по кнопке. Проблема в тов, что не понимаю как, работаю методом учёного тыка. Уроки гуглил, находил и читал, пытался что-то сделать, но понимаю, что сам не справляюсь. По этому взываю к вашей мудости и помощи по данному вопросу. В заранее огромное спасибо.

структура таблиц, с которыми нужно будет провернуть такую фишку, для заполнения таблицы и вывода на экран в списке есть своя активити
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
 //man
    public static final String DB_TABLE = "man";
    public static final String COLUMN_ID = "_id";
    public static final String COLUMN_NAME = "m_name";
 
    private static final String DB_CREATE =
            "create table " + DB_TABLE + "(" +
                    COLUMN_ID + " integer primary key autoincrement, " +
                    COLUMN_NAME + " text" +
                    ");";
 
    //event type
    public static final String EVENT_TYPE_TABLE = "event_type";
    public static final String EVENT_TYPE_COLUMN_ID = "_id";
    public static final String EVENT_TYPE_COLUMN_NAME = "et_name";
 
    private static final String EVENT_TYPE_DB_CREATE =
            "create table " + EVENT_TYPE_TABLE + "(" +
                    EVENT_TYPE_COLUMN_ID + " integer primary key autoincrement, " +
                    EVENT_TYPE_COLUMN_NAME + " text" +
                    ");";
 
    //meeting
    public static final String MEETING_TABLE = "meeting";
    public static final String MEETING_COLUMN_ID = "_id";
    public static final String MEETING_COLUMN_NAME = "meet_name";
 
    private static final String MEETING_DB_CREATE =
            "create table " + MEETING_TABLE + "(" +
                    MEETING_COLUMN_ID + " integer primary key autoincrement, " +
                    MEETING_COLUMN_NAME + " text" +
                    ");";
 
//event
    public static final String EVENT_TABLE = "event";
    public static final String EVENT_COLUMN_ID = "_id";
    public static final String EVENT_COLUMN_MAN = "ManId";
    public static final String EVENT_COLUMN_MEETING = "MeetingId";
    public static final String EVENT_COLUMN_EVENT_TYPE = "EventTypeId";
    public static final String EVENT_COLUMN_VALUE = "Value";
 
    private static final String EVENT_DB_CREATE =
            "create table " + EVENT_TABLE + "(" +
                    EVENT_COLUMN_ID + " integer primary key autoincrement, " +
                    EVENT_COLUMN_MAN + " integer, " +
                    EVENT_COLUMN_MEETING + " integer, " +
                    EVENT_COLUMN_EVENT_TYPE + " integer, " +
                    EVENT_COLUMN_VALUE + " integer" +
                    ");";
Код из активити для таблицы "man". в ней есть начальные наработки для всплывающего диалога...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//event
    public static final String EVENT_TABLE = "event";
    public static final String EVENT_COLUMN_ID = "_id";
    public static final String EVENT_COLUMN_MAN = "ManId";
    public static final String EVENT_COLUMN_MEETING = "MeetingId";
    public static final String EVENT_COLUMN_EVENT_TYPE = "EventTypeId";
    public static final String EVENT_COLUMN_VALUE = "Value";
 
    private static final String EVENT_DB_CREATE =
            "create table " + EVENT_TABLE + "(" +
                    EVENT_COLUMN_ID + " integer primary key autoincrement, " +
                    EVENT_COLUMN_MAN + " integer, " +
                    EVENT_COLUMN_MEETING + " integer, " +
                    EVENT_COLUMN_EVENT_TYPE + " integer, " +
                    EVENT_COLUMN_VALUE + " integer" +
                    ");";
Добавлено через 19 минут
Создал XML файлик

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Измените запись"/>
        <EditText
            android:id="@+id/up_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>
 
</LinearLayout>
Этим добился вывод данных.
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
    public void showDialogUpd() {
 
        final AlertDialog.Builder updialog = new AlertDialog.Builder(this);
 
        updialog.setTitle("Редактирование записи");
 
        View linearlayout = getLayoutInflater().inflate(R.layout.update_n_m_e_tab, null);
        updialog.setView(linearlayout);
 
 
 
        updialog.setPositiveButton("Готово",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
 
 
 
                    }
                })
 
                .setNegativeButton("Отмена",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                dialog.cancel();
                            }
                        });
 
        updialog.create();
        updialog.show();
    }
Осталось главное, заставить диалог обрабатывать данные из бд. А вот с этим и главные проблемы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2015, 16:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Всплывающие диалоги и работа с базой данных (Программирование Android):

Работа с базой данных - Программирование Android
Создал базу данных и в ней 2 таблицы, когда обращаюсь к первой таблице все работает, но когда обращаюсь из любой активности ко второй...

Работа с готовой SQLite базой на андроид - Программирование Android
Здравствуйте! Пытаюсь подключить готовую sqlite базу с помощью этого кода, взятого из интернета: package com.alexvsalex.HelpforMath; ...

Android связь с базой данных - Программирование Android
делаю мессенджер и столкнулся с проблемой!!!! Я через xampp сделал в mysql БД когда я регистрацию прохожу то в базу отправляются данные ....

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

Конусультация в написании приложения(работа с базой, сложение и сохранение результата) - Программирование Android
Здравствуйте дамы и господа! На этапе изучения Java и написании приложения, столкнулся с некоторыми трудностями. Прошу помочь и...

Работа с базой SQLite: чем нужно пользоваться вместо SimpleCursorLoader? - Программирование Android
Учусь программировать под Android. Сделал ListView со своим расположением( для TextView, что то типа заголовок и текст). есть возможность...

1
max-max-max
3 / 3 / 0
Регистрация: 27.03.2010
Сообщений: 57
30.05.2015, 22:32 #2
Можно использовать popup menu или сделать свой диалог.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2015, 22:32
Привет! Вот еще темы с ответами:

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

Ошибка при работе с базой данных - Программирование Android
скажите почему ошибка при этих строках: sqdb.insert(sms.TABLE_NAME1, sms.NAME1, cv); sqdb.execSQL(&quot;CREATE TABLE &quot; +...

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

Файловые диалоги в андроиде - Программирование Android
Открыть/сохранить файл, выбрать каталог и т.д. Насколько я понял готовых как в windows нету. Может есть какие то сторонние либы ???


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

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

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