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

Android базы данных SQLite, Реализация MVC

22.12.2018, 00:19. Показов 1344. Ответов 1

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

DataBaseHelper.java
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
class DatabaseHelper extends SQLiteOpenHelper {
 
    private static String DB_PATH; // полный путь к базе данных
    private static String DB_NAME = "real2.db";
    private static final int SCHEMA = 1; // версия базы данных
    static final String TABLE = "Players"; // название таблицы в бд
    static final String TABLE1 = "Coach";
    static final String TABLE2 = "League";
    static final String TABLE4 = "Win";
    static final String TABLE5 = "Amplua";
    static final String TABLE6 = "Country";
    // названия столбцов
    static final String COLUMN_ID = "_id";
    static final String COLUMN_NAMEPLAYER = "nameplayer";
    static final String COLUMN_STRANA = "strana";
    static final String COLUMN_VID = "vid";
    static final String COLUMN_OLDPLAYER = "oldplayer";
    static final String COLUMN_NAMECOACH = "namecoach";
    static final String COLUMN_RANGCOACH = "rangcoach";
    static final String COLUMN_NAMELEAGUE = "nameleague";
    static final String COLUMN_NAMETROPHY = "nametrophy";
    static final String COLUMN_COUNTWIN = "countwin";
 
    static final String COLUMN_AMPLUA_ID = "amplua_id";
    static final String COLUMN_COUNTRY_ID = "country_id";
 
    private Context myContext;
 
    DatabaseHelper(Context context) {
        super(context, DB_NAME, null, SCHEMA);
        this.myContext=context;
        DB_PATH =context.getFilesDir().getPath() + DB_NAME;
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion,  int newVersion) {
    }
 
    void create_db(){
        InputStream myInput = null;
        OutputStream myOutput = null;
        try {
            File file = new File(DB_PATH);
            if (!file.exists()) {
                this.getReadableDatabase();
                //получаем локальную бд как поток
                myInput = myContext.getAssets().open(DB_NAME);
                // Путь к новой бд
                String outFileName = DB_PATH;
 
                // Открываем пустую бд
                myOutput = new FileOutputStream(outFileName);
 
                // побайтово копируем данные
                byte[] buffer = new byte[1024];
                int length;
                while ((length = myInput.read(buffer)) > 0) {
                    myOutput.write(buffer, 0, length);
                }
 
                myOutput.flush();
                myOutput.close();
                myInput.close();
            }
        }
        catch(IOException ex){
            Log.d("DatabaseHelper", ex.getMessage());
        }
    }
    public SQLiteDatabase open()throws SQLException {
 
        return SQLiteDatabase.openDatabase(DB_PATH, null, SQLiteDatabase.OPEN_READWRITE);
    }
}
Coach.java

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
public class Coach extends AppCompatActivity implements View.OnClickListener{
 
    TextView t11,t12,t13,t14,t21,t22,t23,t24,t31,t32,t33,t34,t41,t42,t43,t44,t51,t52,t53,t54;
    DatabaseHelper databaseHelper;
    ImageView i1;
    Intent intent;
    SQLiteDatabase db;
    Cursor Cursor;
    int mCount=0;
    private ArrayList coach = new ArrayList();
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_coach);
        i1 = (ImageView)findViewById(R.id.i1);
        t11 = (TextView)findViewById(R.id.t11);
        t12 = (TextView)findViewById(R.id.t12);
        t13 = (TextView)findViewById(R.id.t13);
        t14 = (TextView)findViewById(R.id.t14);
 
        t21 = (TextView)findViewById(R.id.t21);
        t22 = (TextView)findViewById(R.id.t22);
        t23 = (TextView)findViewById(R.id.t23);
        t24 = (TextView)findViewById(R.id.t24);
 
        t31 = (TextView)findViewById(R.id.t31);
        t32 = (TextView)findViewById(R.id.t32);
        t33 = (TextView)findViewById(R.id.t33);
        t34 = (TextView)findViewById(R.id.t34);
 
        t41 = (TextView)findViewById(R.id.t41);
        t42 = (TextView)findViewById(R.id.t42);
        t43 = (TextView)findViewById(R.id.t43);
        t44 = (TextView)findViewById(R.id.t44);
 
        t51 = (TextView)findViewById(R.id.t51);
        t52 = (TextView)findViewById(R.id.t52);
        t53 = (TextView)findViewById(R.id.t53);
        t54 = (TextView)findViewById(R.id.t54);
       /* i1.setOnClickListener(new View.OnClickListener()*/
 
        databaseHelper = new DatabaseHelper(getApplicationContext());
        // создаем базу данных
        databaseHelper.create_db();
 
    }
 
 
 
    @Override
    public void onResume() {
        super.onResume();
        // открываем подключение
        db = databaseHelper.open();
        String query = "SELECT " + DatabaseHelper.COLUMN_ID + ", "+ DatabaseHelper.COLUMN_NAMECOACH +
                ","+ DatabaseHelper.TABLE6+"."+DatabaseHelper.COLUMN_STRANA + ","+DatabaseHelper.COLUMN_RANGCOACH +
                " FROM " +DatabaseHelper.TABLE1 + " INNER JOIN " +DatabaseHelper.TABLE6+ " ON "
                +DatabaseHelper.TABLE1+ "."+DatabaseHelper.COLUMN_COUNTRY_ID+ " = " +DatabaseHelper.TABLE6+"."+DatabaseHelper.COLUMN_COUNTRY_ID;
        Cursor = db.rawQuery(query, null);
       
 
        TextView [] tv =  {t11,t12,t13,t14,t21,t22,t23,t24,t31,t32,t33,t34,t41,t42,t43,t44,t51,t52,t53,t54,};
 
        if(Cursor.moveToFirst()){
            do{
                coach.add(Cursor.getString(+Cursor
                        .getColumnIndex(DatabaseHelper.COLUMN_ID)));
                coach.add(Cursor.getString(+Cursor
                        .getColumnIndex(DatabaseHelper.COLUMN_NAMECOACH)));
                coach.add(Cursor.getString(Cursor.getColumnIndex(DatabaseHelper.COLUMN_STRANA)));
                coach.add(Cursor.getString(Cursor
                        .getColumnIndex(DatabaseHelper.COLUMN_RANGCOACH)));
 
                // извлекаем данные из курсора
            }
            while(Cursor.moveToNext());
        }
        for (int i = 0; i <20; i++){
            tv[i].setText((CharSequence) coach.get(i));
        }
 
    }
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
        db.close();
        Cursor.close();
    }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.12.2018, 00:19
Ответы с готовыми решениями:

Проблема с подключением готовой базы данных SQlite в android приложение
Не могу понять почему не работает. Прочитал кучу информации и вроде все правильно. Основное что мне надо - это достать данные из таблиц(ы)...

Восстановить поврежденный файл базы данных SQLite (сделать дамп запароленного файла базы данных)
Вообщем не понятно после чего перестал открываться файл базы данных с ошибкой - &quot;database disk image is malformed&quot;. Нашел...

Написать функции для считывания данных о выбранных сущностях из базы данных SQLite
Здравствуйте, помогите доделать программу. Надо написать функции для считывания данных о выбранных сущностях из базы данных SQLite. В...

1
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
22.12.2018, 14:26
Вопрос то какой?

Не по теме:

Серьёзно?

Цитата Сообщение от dimchh Посмотреть сообщение
Реализация MVC
Цитата Сообщение от dimchh Посмотреть сообщение
Coach extends AppCompatActivity
Цитата Сообщение от dimchh Посмотреть сообщение
t11,t12,t13,t14,t21,t22

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2018, 14:26
Помогаю со студенческими работами здесь

Android, ListView, база данных SQLite
Как достать картинку из БД (SQLite) и поместить её в ListView??? помогите, пожалуйста :)

SQLite Android и вывод данных в TextView
Использую SQLite для хранения и доступа к данным в андроид-приложении. Задаю public final class TaskCursorWrapper extends...

Импорт данных из Excel в SQLite Android
Добрый вечер! Подскажите как имортировать данные из EXCEL файла в в SQLite. Гугл выдает много ссылок, но все они какие-то черезчур...

Постолбцовое отображение данных из базы данных SQLite
Уважаемые форумчане, помогите пожалуйста. Необходимо вывести данные из таблицы базы данных в TextView. Вот код, когда в TextView...

Построчное считывание данных из базы данных SQLite
Всем привет) Столкнулась с такой проблемой: получаю данные из бд SQLite через SQLiteDataReader с помощью метода GetValue(i). Но...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru