引用データベースに保存したいデータがあり、後でこれらの見積もりを更新する必要があります。
まず、あなたが今、DBの作成を行っている場合は、あなたがこの
public class DBHelper extends SQLiteOpenHelper {
public static final String DB_NAME = "app_db";
private static final int DB_VERSION = 1;
public DBHelper(@ApplicationContext Application application) {
super(application, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
if (db.isOpen()) {
//Create Quotes Table
QuotesDao.onCreateTable(db);
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (db.isOpen()) {
//Upgrade Contacts Table
QuotesDao.onUpgradeTable(db, oldVersion, newVersion);
}
}
ようSqliteHelper何かのための実装を提供する必要がありますが、表に基本的にQuotesDaoで管理引用を持っています。
QuotesDaoは、挿入、更新、フェッチまたは削除操作を提供するQuotesテーブルのヘルパークラスです。このような 何か: -
public class QuotesDao {
public static final String TAG = QuotesDao.class.getSimpleName();
public static String QUOTES = "contact_photo_url";
private static final String TABLE_NAME = "quotes";
private static final String[] ALL_COLUMNS = new String[]{
QUOTES,
};
public static void onCreateTable(SQLiteDatabase db) {
String sql = "CREATE TABLE IF NOT EXISTS "
+ TABLE_NAME + "("
+ QUOTES + " TEXT"
+ ")";
db.execSQL(sql);
}
public static void onUpgradeTable(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public synchronized List<Quotes> fetchQuotes(DBHelper dbHelper) {
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, ALL_COLUMNS, null, null, null, null, null);
//Close the DB when its work is done
List<Quotes> quotes = null;// Parse Cursor object into Quotes list;
return quotes;
}
public synchronized long insert(DBHelper dbHelper, Quotes quotes) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues cv = null;// Map your Object in content values ;
long insert = db.insertWithOnConflict(TABLE_NAME, null
, cv
, SQLiteDatabase.CONFLICT_REPLACE);
return insert;
}
public synchronized long updateQuotes(ContactInfo contactInfo, DBHelper dbHelper) {
//Write Update logic here
return id;
}
/**
* Method to delete a contact from table
* @param contactInfo Contact which need to be deleted
* @param dbHelper DBHelper
*/
public synchronized void delete(ContactInfo contactInfo, DBHelper dbHelper) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.delete(TABLE_NAME, null, null);
}
/**
* Method to clear all the data from store contact table
* @param dbHelper DBHelper
*/
public void clear(DBHelper dbHelper) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.delete(TABLE_NAME, null, null);
}
public void onDeleteTable(SQLiteDatabase db) {
db.execSQL("DROP TABLE IF EXISTS '" + TABLE_NAME + "'");
}
}
、将来的にあなたがより多くの引用符を追加する必要がある場合は、Insertメソッドを使用してQutesテーブル内の引用符を挿入します。
テーブルのスキーマを更新する必要がある場合は、DBバージョンをアップグレードする必要がある場合、DBHelperのonUpgradeTable()メソッドを呼び出して、テーブルのアップグレード方法の詳細についてアップグレードテーブルのビジネスロジックを記述します。 hereを参照してください。
管理者でログインしているユーザのために、speical quote-added-activityを作成するだけで、firebaseセキュリティルールでそれを強制することができます。 – Linxy