Где хранить данные до записи в бд?
Храните готовую sqlite базу в assets и при первом запуске копируйте её в /packagename/database, наиболее простой путь.
Добавьте android-sqlite-asset-helper в build.gradle:dependencies {
    ......
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'
}
Вот например я работаю над словесной игрой и словарь храню в двух текстовых файлах.
Я написал скрипт, который создает SQL-таблицы и потом загружает эти слова в sqlite-файл:#!/bin/sh

DATABASE=/tmp/words.db
SCRIPT_DIR=`dirname $0`
DESTINATION=$SCRIPT_DIR/../android/Slova/app/src/main/assets/databases/words.db.gz

rm -f $DATABASE
echo ".read android.sql" | sqlite3 -echo $DATABASE 
perl $SCRIPT_DIR/encode-words-for-sqlite.pl < $SCRIPT_DIR/nouns.txt > /tmp/nouns-encoded.txt
perl $SCRIPT_DIR/encode-words-for-sqlite.pl < $SCRIPT_DIR/verbs.txt > /tmp/verbs-encoded.txt
echo ".import /tmp/nouns-encoded.txt words_nouns" | sqlite3 -echo $DATABASE 
echo ".import /tmp/verbs-encoded.txt words_verbs" | sqlite3 -echo $DATABASE 
gzip -vc $DATABASE > $DESTINATION
Можно и похожий .bat файл для Windows написать.