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

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

Войти
Регистрация
Восстановить пароль
 
REALIST07
Автор FAQ
Автор FAQ
176 / 176 / 13
Регистрация: 11.06.2010
Сообщений: 932
#1

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

21.08.2016, 23:59. Просмотров 201. Ответов 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
Посмотрите здесь:

Как подключить готовую базу Sqlite на проект - Программирование Android
Привет друзья. Я учусь программировать под андроид и много чего прочитал с интернета все равно там непонятно. То есть у кого нибудь есть...

Объясните как подключить готовую БД с двумя и больше таблицами - Программирование Android
Здравствуйте. Я новичок, поэтому рассчитываю на вашу помощь. В программе нужно, чтобы в одном активити в лист вставлялись данные из одной...

Как быстро разобраться в чужой программе (Android)? - Программирование Android
Всем, добрый день. Мне необходимо понять и изменить код в программе, которую писал другой android- программист. В связи с этим хотел...

Как подключить SQLite на RAD Studio? - Программирование Android
Добрый день. На RADStudio пытаюсь подключить БД

Как обновить одно поле в таблице SQLite Android - Программирование Android
Привет. Встал вопрос... Как обновить только одну запись в таблице SQLite - Android. Обновлять всю запись слишком много лишнего кода...

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

Как подключить bass в Android Studio? - Программирование Android
Не давно начал изучать программирование под андроид на Android Studio. Хотел попробовать написать свой проигрыватель музыки, используя...

Как в Android studio подключить ffmpeg - Программирование Android
Как подключить библиотеку ffmpeg в Android studio?? Я видел только в эклипс а в студию как подключить??

Как подключить api сайта к приложению Android? - Программирование Android
Имеется api вида include ('engine/api/api.class.php'). Как мне подключить его в Eclipse и как в дальнейшем работать с ним? Требуется...

Как подключить эмулятор Android Studio к localhost ПК? - Программирование Android
Пробовал писать &quot;localhost&quot; и имя ПК, но не подключается.

Как подключить SQL server к android studio? - Программирование Android
Как подключить SQL server к android studio через интернет???!

Android Studio Как подключить свою базу данных - Программирование Android
База данных *.sqlite Нужна помощь гуру, как образом это реализуется, не обязательно код, хотя бы объяснения


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
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
Ответ Создать тему
Опции темы

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