Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 24.12.2019
Сообщений: 1

Работа БД SQLite в android studio

24.12.2019, 11:00. Показов 1224. Ответов 1

Студворк — интернет-сервис помощи студентам
Здравствуйте! Я новичок в программировании, я сейчас пишу приложение по учету фактически выполненной работы, у меня возникли проблемы при интеграции БД SQLite, а конкретнее с создаем адаптера, передачей в него курсора. подскажите пожалуйста в чем моя ошибка, как нужно делать.


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
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import androidx.annotation.Nullable;
 
 
public class DBHelper extends SQLiteOpenHelper {
 
   public static final int DATABASE_VERSION = 1;
   public static final String DATABASE_NAME = "reportCardDb";
   public static final String TABLE_REPORTCARD = "reportCard";
 
   public static final String COLUMN_ID = "id";
   public static final String COLUMN_DATE = "date";
   public static final String COLUMN_CLOCK = "clock";
   public static final String COLUMN_TEXT = "text";
 
    public DBHelper(@Nullable Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE reportCard (" + COLUMN_ID
                + " INTRGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_DATE + " TEXT,"
                + COLUMN_CLOCK + " TEXT," + COLUMN_TEXT + " TEXT);");
        // ДОБАВЛЕНИЕ НАЧАЛЬНЫХ ДАННЫХ
        db.execSQL("INSERT INTO "+ TABLE_REPORTCARD +" (" + COLUMN_DATE + ", " +
                COLUMN_CLOCK + ", " + COLUMN_TEXT + ")VALUES ('TEST', 'TEST','TEST');");
 
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_REPORTCARD);
 
        onCreate(db);
 
    }
 
 
}
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
90
91
92
93
94
95
96
97
98
99
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.sedlyaranton.wc.database.DBHelper;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
 
 
 
public class MainActivity extends AppCompatActivity implements View.OnClickListener  {
    private FloatingActionButton sendBtnAdd;
 
    private ListView allTasks;
    private ArrayAdapter<String> my_adapter;
    SQLiteDatabase db;
    Cursor userCursor;
    SimpleCursorAdapter userAdapter;
    DBHelper dbHelper;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
 
        allTasks = (ListView) findViewById(R.id.tasks_list);
 
        sendBtnAdd = (FloatingActionButton) findViewById(R.id.sendBtnAdd);
        sendBtnAdd.setOnClickListener(this);
 
        dbHelper = new DBHelper(getApplicationContext());
 
    }
 
    @Override
    protected void onResume() {
        super.onResume();
 
        // откурываем подключение
        db = dbHelper.getReadableDatabase();
 
        // получаем данные из бд в виде курсора
        userCursor = db.rawQuery("select * from "+ DBHelper.TABLE_REPORTCARD, null);
 
        //определяем какие столбци из курсора будет выводиться в ListVieew
        String[] headers = new String[]{DBHelper.COLUMN_DATE, DBHelper.COLUMN_CLOCK};
 
        // создаем адаптер передаем в него курсор
        //не могу разобрать по моему у меня проблемы с adapter
        // мне хочется сделать вывод в ListView она имеет название allTasks
 
        userAdapter = new SimpleCursorAdapter(this, android.R.layout.two_line_list_item,
                userCursor, headers, new int[]{android.R.id.text1, android.R.id.text2}, 0);
        allTasks.setAdapter(userAdapter);
 
    }
 
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
 
        //закрываем подключение к курсору
        db.close();
        userCursor.close();
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        return super.onOptionsItemSelected(item);
    }
 
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.sendBtnAdd:
                Intent chat1 = new Intent(this, Tabel.class);
                startActivity(chat1);
                break;
            default:
        }
 
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.12.2019, 11:00
Ответы с готовыми решениями:

Где хранятся файлы с БД SQLite в Android Studio?
Такая проблема, создал БД, создал колонки с именами, но потом начал переименовывать и ошибка (код ниже). Пишет не создано колонки с именем,...

Работа с файлами android которые находятся не в папке проекта Android Studio
Всех приветствую, начал разработку приложения под Android и не могу разобраться как работать с файлами которые находятся не в папке...

Qt5 - Android работа с СУБД SQLite
Здравствуйте уважаемые коллеги! У меня к вам вопрос следующего плана - создал приложение Qt5-Android, но возникла проблема при работе...

1
5966 / 4542 / 1094
Регистрация: 29.08.2013
Сообщений: 28,151
Записей в блоге: 3
24.12.2019, 20:00
Цитата Сообщение от Master_Yda Посмотреть сообщение
а конкретнее с создаем адаптера
это не проблема с sqlite

это проблема ваших знаний ЯП.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.12.2019, 20:00
Помогаю со студенческими работами здесь

Работа с базой SQLite из интерфейса Visual Studio
Есть ли возможность работы с базой SQLite из интерфейса Visual Studio? Если возможно то как?

(Android studio, java) Ошибка при импорте библиотеки cannot resolve symbol android studio
Вот библиотека https://github.com/mik3y/usb-serial-for-android. Устанавливал так, File -&gt; New -&gt; Import module. Студия ругается на...

Работа с Android Studio
Всем привет. Понимаю, что мой вопрос звучит глупо. Тем более, что данная тема поднималась ни раз. В общем, ранее занимался разработкой...

Работа с VideoView в android studio
Здравствуйте. Не могу воспроизвести видео в VideoView через интернет. Вот код: VideoView videoView = (VideoView)...

Работа с таймером и прочие мелочи в Android Studio
Только начал изучать платформу и уже при создании наткнулся на несколько проблем, которые нужно решить. Буду очень признателен за...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru