public class MainActivity extends AppCompatActivity implements View.OnClickListener {
MyHelper myHelper;
private EditText mEtName;
private EditText mEtPhone;
private TextView mTvShow;
private Button mBtnAdd, mBtnQuery, mBtnUpdate, mBtnDelete;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myHelper = new MyHelper(this);
init();
}
private void init(){
mEtName=findViewById(R.id.et_name);
mEtPhone=findViewById(R.id.et_phone);
mTvShow=findViewById(R.id.tv_show);
mBtnAdd=findViewById(R.id.btn_add);
mBtnQuery=findViewById(R.id.btn_query);
mBtnUpdate=findViewById(R.id.btn_update);
mBtnDelete=findViewById(R.id.btn_delete);
mBtnAdd.setOnClickListener(this);
mBtnQuery.setOnClickListener(this);
mBtnUpdate.setOnClickListener(this);
mBtnDelete.setOnClickListener(this);
}
@Override
public void onClick(View view) {
String name,phone;
SQLiteDatabase db;
ContentValues values;
switch (view.getId()) {
case R.id.btn_add:
name = mEtName.getText().toString();
phone = mEtPhone.getText().toString();
db = myHelper.getWritableDatabase();
values = new ContentValues();
values.put("name", name);
values.put("phone", phone);
db.insert("information", null, values);
Toast.makeText(this, "信息已添加", Toast.LENGTH_SHORT).show();
db.close();
break;
case R.id.btn_query:
db = myHelper.getReadableDatabase();
Cursor cursor = db.query("information", null, null, null, null, null, null);
if (cursor.getCount() == 0) {
mTvShow.setText("");
Toast.makeText(this, "没有数据", Toast.LENGTH_SHORT).show();
} else {
cursor.moveToFirst();
mTvShow.setText("name:" + cursor.getString(1) + ";Tel:" + cursor.getString(2));
while (cursor.moveToNext()) {
mTvShow.append("\\n" + "name:" + cursor.getString(1) + ";Tel:" + cursor.getString(2));
}
}
cursor.close();
db.close();
break;
case R.id.btn_update:
db = myHelper.getWritableDatabase();
values = new ContentValues();
values.put("phone", phone = mEtPhone.getText().toString());
db.update("information", values, "name=?", new String[]{mEtName.getText().toString()});
Toast.makeText(this, "信息已修改", Toast.LENGTH_SHORT).show();
db.close();
break;
case R.id.btn_delete:
db = myHelper.getWritableDatabase();
db.delete("information", null, null);
Toast.makeText(this, "信息已删除", Toast.LENGTH_SHORT).show();
mTvShow.setText("");
db.close();
break;
}
}
class MyHelper extends SQLiteOpenHelper{
public MyHelper(Context context){
super(context,"itcast.db",null,1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("CREATE TABLE information(_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20),phone VARCHAR(20))");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
}
lihua作业绿豆通讯录.zip
需积分: 5 199 浏览量
2023-05-29
12:27:45
上传
评论
收藏 2KB ZIP 举报
m0_71387730
- 粉丝: 0
- 资源: 2
最新资源
- 以简单、易用、高性能为目标、开源的时序数据库,支持Linux及Windows, Time Series Database.zip
- python-leetcode面试题解之第198题打家劫舍-题解.zip
- python-leetcode面试题解之第191题位1的个数-题解.zip
- python-leetcode面试题解之第186题反转字符串中的单词II-题解.zip
- 一个基于python的web后端高性能开发框架,下载可用
- python-leetcode面试题解之第179题最大数-题解.zip
- python-leetcode面试题解之第170题两数之和III数据结构设计-题解.zip
- python-leetcode面试题解之第168题Excel表列名称-题解.zip
- python-leetcode面试题解之第167题两数之和II输入有序数组-题解.zip
- python-leetcode面试题解之第166题分数到小数-题解.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈