2
私はsdカードにテキストファイルを持っています。その最初の行には表の列名が含まれ、残りの行には列の値が入っています。各行は/ nで区切られ、各項目は|で区切られます。これを使用して、私は自分のデータベースにテーブルを作成する必要があります。アンドロイドのsdカードに保存されたテキストファイルからsqliteデータベースまたはテーブルを作成する方法は?
私はsdカードにテキストファイルを持っています。その最初の行には表の列名が含まれ、残りの行には列の値が入っています。各行は/ nで区切られ、各項目は|で区切られます。これを使用して、私は自分のデータベースにテーブルを作成する必要があります。アンドロイドのsdカードに保存されたテキストファイルからsqliteデータベースまたはテーブルを作成する方法は?
まず、あなたが
、
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
/**
* @param context Application Context
*/
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
/* Called when the database is created for the first time.
* @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)
*/
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE DB_TABLE(_id INTEGER PRIMARY KEY AUTOINCREMENT, content TEXT);");
}
/* Called when the database needs to be upgraded.
* @see android.database.sqlite.SQLiteOpenHelper#onUpgrade(android.database.sqlite.SQLiteDatabase, int, int)
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w("DatabaseHelper", "Upgrading database, which will destroy all old data");
onCreate(db);
}
}
を以下のようなテキストファイルからデータを格納するデータベースとテーブルを作成する必要があり、あなたはSDカードからテキストファイルを読み込み、にレコードを挿入する必要があります上記で作成した表、
は、2つの変数を定義し、
DatabaseHelper databaseHelper;
SQLiteDatabase db;
は、のonCreateメソッドでそれらを開始
databaseHelper = new DatabaseHelper(context);
db = databaseHelper.getWritableDatabase();
COLUMNNAMEとcolumnValueは正確に上記のコードでは何ですか?データベース
void saveDataToDB()
{
File sdcard = Environment.getExternalStorageDirectory();
//Get the text file
File file = new File(sdcard,"file.txt");
//Read text from file
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
insertRecordToDB(columnName, columnValue);
}
}
catch (IOException e) {
//You'll need to add proper error handling here
}
}
void insertRecordToDB(columnName, columnValue)
{
ContentValues values = new ContentValues();
values.put(columnName, columnaValue);
db.insert(DB_TABLE, null, values);
}
にデータを保存するためのメソッドを定義しますか。 –