public void onCreate(SQLiteDatabase db) {
try {
db.execSQL(DATABASE_CREATE);
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS contacts"); onCreate(db);
}
public DBAdapter open() throws SQLException
{
db = DBHelper.getWritableDatabase();
}
public void close()
{
DBHelper.close();
}
public long insertContact(String name, String email)
{
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_NAME, name);
initialValues.put(KEY_EMAIL, email);
return db.insert(DATABASE_TABLE, null, initialValues);
}
public boolean deleteContact(long rowId)
{
return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0;
}
public Cursor getAllContacts() {
return db.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_NAME, KEY_EMAIL}, null, null, null, null, null);
}
public Cursor getContact(long rowId) throws SQLException {
Cursor mCursor = db.query(true, DATABASE_TABLE, new String[]
{KEY_ROWID, KEY_NAME, KEY_EMAIL}, KEY_ROWID + "=" + rowId, null,
null, null, null, null); if (mCursor != null) {
mCursor.moveToFirst();
}
}
public boolean updateContact(long rowId, String name, String email) { ContentValues args = new ContentValues();
args.put(KEY_NAME, name);
args.put(KEY_EMAIL, email);
return db.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0;
}
}
public class MainActivity extends Activity { public void onCreate{
DBAdapter db = new DBAdapter(this);
db.open();
long id = db.insertContact("AndroidMan", "my@android.com");
id = db.insertContact("iOSMan", "my@ios.com"); db.close();
db.open();
Cursor c = db.getAllContacts();
MainActivity.java
4.6-расм. Илова маълумотларини базадан ўқиб олиш
Content provider лардан фойдаланиш
Content providers – бу пакетлараро маълумот алмашаш учун ишлатиладиган провайдер ҳисобланади. Android тизимида, пакетлараро маълумот алмашиш учун content provider лардан фойдаланиш қулай ҳисоланади. Content provider лар оддий маълумотлар базасига ўхшаш бўлиб, контент учун сўрав яратиш, контент маълумотларини ўзгартириш, ва янги
контент қўшиш ёки уни ўчириш мумкин 20 . Лекин, оддий маълумотлар базасидан фарқли равишда, контент маълумотлари МБ да (жадвал асосида), файлда, ёки тармоқда сақланиши мумкин.Content provider дан фойдаланиш структураси қуйидаги расмда кўрсатилган (4.6-расм).
4.6-расм. Иловаларда Content provider дан фойдаланиш структураси
Android тизимида пакетлараро маълумотлар алмашиш. Android тизимида мавжуд content provider ларга қуйидагиларни мисол қилиш мумкин:
Do'stlaringiz bilan baham: |