Chú ý: Khi thực hành theo code nếu các bạn copy paste vào thì sẽ có một số class chưa được import vào, bạn cần bấm chuột vào tên class sau đó bấm phím Alt + Enter và chọn Import class
https://zezo.dev/note/android--sqlite--quy-trinh-thuc-hien-them--sua--xoa--hien-thi-danh-sach-crud
1. Tạo 1 ứng dụng mới đặt tên là CRUD_USER_GROUP
2. Trong ứng dụng đã có sẵn MainActivity, tạo thêm 1 Activity nữa là TbGroupActivity (Nên dùng công cụ tạo activity)
3. Trong layout của MainActivity:
Tạo 1 nút bấm đặt tên là btnGroup (trình bày nút bấm thế nào thì tùy bạn trình bày, chỉ cần có nút bấm đặt đúng ID là được)
4. Trong hàm onCreate của MainActivity:
Hãy thực hiện findViewById cho nút bấm và viết sự kiện click cho nút bấm này như bên dưới. Nút bấm này để gọi activity Nhóm tài khoản ra hoạt động.
btnGroup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(getBaseContext(), TbGroupActivity.class));
}
});
5. Tạo package đặt tên là DTO, bên trong đó tạo 1 lớp là GroupUser.java
public class GroupUser {
int id_group;
String name;
public static final String TB_NAME = "tb_group";
public static final String COL_ID = "id_group";
public static final String COL_GROUP_NAME = "name";
public int getId_group() {
return id_group;
}
public void setId_group(int id_group) {
this.id_group = id_group;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
6. Tạo tiếp package đặt tên là Database và bên trong đó tạo 1 lớp là DbHelper.java
public class DbHelper extends SQLiteOpenHelper {
static final String DB_NAME = "crud_user_group";
static final int DB_VERSION = 1;
public DbHelper(Context context){
super(context,DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
// Tạo bảng Group
String sql = "CREATE TABLE tb_group( id_group INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE ); ";
sqLiteDatabase.execSQL(sql);
// tạo bảng user
sql = "CREATE TABLE tb_user( id_user INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL UNIQUE, password TEXT NOT NULL, email TEXT NOT NULL, fullname TEXT, id_group INTEGER NOT NULL ); ";
sqLiteDatabase.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
7. Tạo tiếp package là DAO và bên trong đó tạo lớp mới là: GroupUserDAO.java
Lớp này có một số hàm thực hiện thêm, sửa, xóa, lấy danh sách dữ liệu
Code của lớp này bạn xem trong link https://zezo.dev/note/lop-groupuserdaojava-trong-project-crud-user--group-android
8. Tạo package tên là Adapter và bên trong đó tạo 1 lớp là GroupUserAdapter.java
Code của lớp này bạn xem trong link https://zezo.dev/note/lop-groupuseradapterjava-trong-project-crud-user--group-android
9. Quay vào file TbGroupActivity.java để viết code thực hiện tạo các đối tượng tương tác dữ liệu
public class TbGroupActivity extends AppCompatActivity {
GroupUserDAO groupUserDAO;
GroupUserAdapter groupUserAdapter;
Button btnAdd;
ListView lvGroup;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_group);
btnAdd = findViewById(R.id.btnAdd);
lvGroup = findViewById(R.id.lvGroup);
groupUserDAO = new GroupUserDAO(this);
groupUserDAO.open();
groupUserAdapter = new GroupUserAdapter(groupUserDAO.selectAll(), groupUserDAO);
lvGroup.setAdapter(groupUserAdapter);
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
groupUserAdapter.showDialogAdd(TbGroupActivity.this);
}
});
}
}
Tham khảo full code https://zezo.dev/download?f=62ff1d8846b7f86ab906cb53