Menghubungkan database di komputer di Android Studio
Saya sedang mengerjakan proyek di Android Studio. Saya telah membuat database yang penuh dengan informasi di komputer saya, dan saya ingin program saya terhubung ke database tersebut secara khusus.
Namun, sepertinya itu tidak berhasil untuk saya. Untuk tujuan pengujian, saya membuat database pengujian untuk memeriksa apakah kode saya berfungsi. Itu terlihat seperti ini: (Saya tidak repot-repot memasukkan pernyataan create untuk tabel / metode terkait database lainnya)
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "sample_database";
public SampleDBSQLiteHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
...
}
@Override
public void onUpgrade(SQLiteDatabase db) {
...
}
}
Akan sangat menghargai bantuan apapun dalam hal ini. Setiap kali saya mencarinya, saya mendapat jawaban untuk menghubungkan database sqlite di server jarak jauh.
Jawaban
Tidak sepenuhnya yakin apa pertanyaan Anda, tetapi berikut adalah contoh kelas pembantu database yang memungkinkan Anda menulis data ke SQL di aplikasi seluler.
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME ="Database.db";
// Database Version
private static final int DATABASE_VERSION = 1;
public static final String TABLE = "TABLE";
public static final String COL1 = "ID",COL2 = "D2", COL3 = "D3";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// creating required tables
String CREATED_TABLE = "CREATE TABLE " + TABLE + " (ID INTEGER PRIMARY KEY, " +
"D1 TEXT, D2 TEXT)";
db.execSQL(CREATED_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// on upgrade drop older tables
db.execSQL("DROP TABLE IF EXISTS " + TABLE);
onCreate(db);
}
public boolean addData_Sensor_Board(String d1, String d2){
SQLiteDatabase db = this.getWritableDatabase();//Enable the database to be written to
ContentValues contentValues = new ContentValues();//Setup the data input note COL1 is for the ID
contentValues.put(COL2,d1);//2
contentValues.put(COL3,22);//3
long result = db.insert(TABLE,null,contentValues);//Check to see if pass in has been successful and pass in the data on this line via the pass in of content values
if(result == -1){//Returned false when inputting data to the database
return false;
}
else{
return true;//No error
}
}
public Cursor showData(){//Used to locate the data inside the database
SQLiteDatabase db = this.getReadableDatabase();
String selectQuery = "SELECT * FROM " + TABLE;
Cursor data = db.rawQuery(selectQuery, null);
return data;
}
public void delete_table(){//Clears the entire database
SQLiteDatabase db = this.getWritableDatabase();
String clearDB = "DELETE FROM "+ TABLE;
db.execSQL(clearDB);
}
}
Sejauh yang saya tahu tidak ada cara mudah untuk melakukannya, tetapi Florina Muntenescu menulis posting blog yang bagus ini tentang bagaimana Anda dapat memuat database yang sudah terisi sebelumnya ke dalam aplikasi Anda dengan Room .
Setelah berhasil memuat database, Anda kemudian dapat menggunakan Android Studio 4.1 untuk memanipulasi database menggunakan Database Inspector bawaan (juga harus mengupdate Android Gradle Plugin ke 4.1.0 atau lebih tinggi).