×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Java
Posted by: anti laila
Added: May 26, 2022 6:08 PM
Modified: May 26, 2022 6:13 PM
Views: 14
  1. package com.example.sqlitedemo03.dbhelper;
  2.  
  3. import android.content.Context;
  4. import android.database.Cursor;
  5. import android.database.sqlite.SQLiteDatabase;
  6. import android.database.sqlite.SQLiteOpenHelper;
  7. import androidx.annotation.Nullable;
  8. import com.example.sqlitedemo03.dao.FriendDao;
  9. import com.example.sqlitedemo03.model.Friend;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12.  
  13. public class FriendDBOne extends SQLiteOpenHelper implements FriendDao {
  14.     public static final String DBNAME = "antilaila8";
  15.     public static final int DBVERSION = 1;
  16.  
  17.     public FriendDBOne(@Nullable Context context) {
  18.         super(context, DBNAME, null, DBVERSION);
  19.     }
  20.  
  21.     @Override
  22.     public void onCreate(SQLiteDatabase db) {
  23.         String sql = "create table friend(" +
  24.                 "id integer primary key autoincrement," +
  25.                 "name varchar(20) not null," +
  26.                 "address varchar(30)," +
  27.                 "phone varchar(14))";
  28.         db.execSQL(sql);
  29.     }
  30.  
  31.     @Override
  32.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  33.         if (oldVersion < newVersion) {
  34.             db.execSQL("drop table if exists friend");
  35.             onCreate(db);
  36.         }
  37.     }
  38.  
  39.     @Override
  40.     public void insert(Friend f) {
  41.         String sql = "insert into friend values(?,?,?,?)";
  42.         getWritableDatabase().execSQL(sql, new Object[]{
  43.            f.getName(),
  44.            f.getAddress(),
  45.            f.getPhone()
  46.         });
  47.     }
  48.  
  49.     @Override
  50.     public void update(Friend f) {
  51.         String sql = "update friend set name=?, address=?, phone=? where id=?";
  52.         getWritableDatabase().execSQL(sql, new Object[]{
  53.                 f.getName(),
  54.                 f.getAddress(),
  55.                 f.getPhone(),
  56.                 f.getId()
  57.         });
  58.  
  59.     }
  60.  
  61.     @Override
  62.     public void delete(int id) {
  63.         getWritableDatabase().execSQL("delete from friend where id=?", new Object[]{id});
  64.     }
  65.  
  66.     @Override
  67.     public void deleteAllFriends() {
  68.         getWritableDatabase().execSQL("delete from friend");
  69.         getWritableDatabase().execSQL("update sqlite_sequence set seq = 0 where name = ?", new Object[]{"friend"});
  70.     }
  71.  
  72.     @Override
  73.     public Friend getAFriendById(int id) {
  74.         Friend result = null;
  75.         Cursor cursor = getReadableDatabase().rawQuery("select * from friend where id=?", new String[]{String.valueOf(id)});
  76.         if(cursor.moveToFirst())
  77.             result = new Friend(
  78.                    cursor.getInt(0), //id
  79.                    cursor.getString(1), //name
  80.                    cursor.getString(2), //address
  81.                    cursor.getString(3)  //phone
  82.             );
  83.         return result;
  84.     }
  85.  
  86.     @Override
  87.     public List<Friend> getAllFriends() {
  88.         List<Friend> result = new ArrayList<>();
  89.         Cursor cursor = getReadableDatabase().rawQuery("select * from friend", null);
  90.         while(cursor.moveToNext())
  91.             result.add(new Friend(
  92.                     cursor.getInt(0),
  93.                     cursor.getString(1),
  94.                     cursor.getString(2),
  95.                     cursor.getString(3)
  96.             ));
  97.         return result;
  98.     }
  99. }
  100.