ORM数据库增删改查

private EditText mName;
private Button mInsert;
private Button mQueryAll;
private MySQLite sqLite;
private MyAdapter adapter;
private List<Classes> mList = new ArrayList<>();
private ListView mListView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    sqLite = new MySQLite(this);
    initView();
}

private void initView() {
    mName = (EditText) findViewById(R.id.mName);
    mInsert = (Button) findViewById(R.id.mInsert);
    mQueryAll = (Button) findViewById(R.id.mQueryAll);
    mListView = (ListView) findViewById(R.id.mListView);

    mInsert.setOnClickListener(this);
    mQueryAll.setOnClickListener(this);

    adapter = new MyAdapter(this, mList);
    mListView.setAdapter(adapter);
    mListView.setOnItemClickListener(this);
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.mInsert:
            submit();
            break;
        case R.id.mQueryAll:
            query();
            break;
    }
}

private void submit() {
    String mNameString = mName.getText().toString().trim();
    if (TextUtils.isEmpty(mNameString)) {
        Toast.makeText(this, "mNameString不能为空", Toast.LENGTH_SHORT).show();
        return;
    }
    Classes classes = new Classes(0, mNameString);
    // TODO validate success, do something
    try {
        Dao<Classes, ?> dao = sqLite.getDao(Classes.class);
        dao.create(classes);
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

private void query() {
    try {
        Dao<Classes, ?> dao = sqLite.getDao(Classes.class);
        List<Classes> classes = dao.queryBuilder().where().le("id", 2).query();
        Log.e("TAG", classes.toString());
        mList.clear();
        mList.addAll(classes);
        adapter.notifyDataSetChanged();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
    new AlertDialog.Builder(this).setTitle("提示").setMessage("选择你要进行的操作")
            .setNegativeButton("删除", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    Classes remove = mList.remove(position);
                    try {
                        Dao<Classes, ?> dao = sqLite.getDao(Classes.class);
                        dao.delete(remove);
                        adapter.notifyDataSetChanged();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
            }).setPositiveButton("修改", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Classes classes = mList.get(position);
            classes.setName("牛批"+classes.getName());
            try {
                Dao<Classes, ?> dao = sqLite.getDao(Classes.class);
                dao.update(classes);
                adapter.notifyDataSetChanged();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }).show();
}

猜你喜欢

转载自blog.csdn.net/qq_41832319/article/details/79819285