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

Как быстро подключить готовую БД SQLite к проекту Android - Android

Восстановить пароль Регистрация
 
REALIST07
Автор FAQ
Автор FAQ
 Аватар для REALIST07
174 / 174 / 13
Регистрация: 11.06.2010
Сообщений: 932
21.08.2016, 23:59     Как быстро подключить готовую БД SQLite к проекту Android #1
Решил написать мини гайд по подключению готовой БД, мне это пригодится неоднократно, надеюсь кому-то будет полезно:
  1. Создать папку Assets, New -> Folder -> Assets Folder
  2. Скопировать вашу БД в папку Assets( в моем случае файл называется Wheather.sqlite)
  3. Подключить библиотеку SQLiteAssetHelper
    Java
    1
    2
    3
    
    dependencies {
        compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
    }
  4. Создать класс для работы с БД (У меня это DatabaseHandler), унаследованный от класса SQLiteAssetHelper
    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
    
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
     
    import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;
    import java.util.ArrayList;
     
    public class DatabaseHandler extends SQLiteAssetHelper {
     
        private static final String DATABASE_NAME = "Wheather.sqlite";
        private static final int DATABASE_VERSION = 1;
        private static final String TABLE_WHEATHER = "Wheather";
        
        private static DatabaseHandler ourInstance;
     
        public static synchronized DatabaseHandler getInstance(Context context) {
     
            if (ourInstance == null)
                ourInstance = new DatabaseHandler(context);
     
            return ourInstance;
        }
     
        private DatabaseHandler(Context context) {
            super(context, DATABASE_NAME, context.getExternalFilesDir(null).getAbsolutePath(), null, DATABASE_VERSION);
        }
     
        public ArrayList<MeteoData> getTemperature() {
            SQLiteDatabase db = this.getWritableDatabase();
            Cursor c = db.rawQuery("Select T,DateTime From " +TABLE_WHEATHER,null );
            ArrayList<MeteoData> list = new ArrayList<>();
            if (checkCursorFirst(c))
            {
                do
                {
                    MeteoData mData = new MeteoData(c.getFloat(0),c.getLong(1));
                    list.add(mData);
                }
                while (c.moveToNext());
            }
            closeCursor(c);
            db.close();
            return list;
        }
     
        private void closeCursor(Cursor cursor) {
            if(cursor != null && !cursor.isClosed()){
                cursor.close();
            }
        }
     
        private boolean checkCursorFirst(Cursor cursor) {
            return cursor!=null && cursor.moveToFirst();
        }
     
    }
Profit!
P.S. Знаю, что есть куча других способов, но этот лично для меня самый быстрый
P.S.S. Для БД лично я всегда использую Singlton и никогда не выдаю параметром Cursor, если вам нужен курсор,то на основной странице проекта пример с ним,я же всегда закрываю и курсор и БД

Добавлено через 1 час 1 минуту
Базу положить по пути assets/databases/Wheather.db
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2016, 23:59     Как быстро подключить готовую БД SQLite к проекту Android
Посмотрите здесь:

Android Как обновить одно поле в таблице SQLite Android
Android Как подключить api сайта к приложению Android?
Как в среде Eclipse подключить библиотеку android.support.v7 ? Android
Как в Android studio подключить ffmpeg Android
Android Как подключить com.android.support:design в Eclipse
Android Как подключить SQLite на RAD Studio?
Как подключить dll или lib в Android Studio? Android
Как быстро разобраться в чужой программе (Android)? Android
Как подключить SQL server к android studio? Android
Android SQLite как записать результат запроса в переменную (Android, Java)
Как подключить bass в Android Studio? Android
Как подключить готовую базу Sqlite на проект Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
22.08.2016, 04:11     Как быстро подключить готовую БД SQLite к проекту Android #2
Спасибо! Может когда-нибудь пригодится... Добавлю ссылку в коллекцию...
Цитата Сообщение от REALIST07 Посмотреть сообщение
P.S. Знаю, что есть куча других способов, но этот лично для меня самый быстрый
В коллекции нашел это (не тестировал): http://developer.alexanderklimov.ru/...te/readydb.php
Yandex
Объявления
22.08.2016, 04:11     Как быстро подключить готовую БД SQLite к проекту Android
Ответ Создать тему
Опции темы

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