android绿豆通讯录xml,Android 绿豆通讯录【SQLite数据库---数据库(增删改查、展示数据)】...

前情提要:Android 数据库(SQLite)

【简介、创建、使用(增删改查、事务、实战演练)、数据显示控件(ListView、Adapter、实战演练-绿豆通讯录)】

https://blog.csdn.net/weixin_44949135/article/details/105955663

Android 绿豆通讯录( SQLite数据库 + ListView数据展示控件 )

https://blog.csdn.net/weixin_44949135/article/details/106029404

采用SQLite数据库 + ListView数据展示控件,可将用户添加的所有信息,分条展示出来。

源码(可用Gitee直接拷贝) :https://gitee.com/lwx001/Directory-ListView

目   录

总体结构示意图

代码

activity_main.xml(交互界面的设计与实现)

MyHelper.java(SQLite数据库的帮助类)

MainActivity.java(交互界面逻辑代码的设计与实现)

App运行展示

总体结构示意图

4c01e7695e3a42c4f69c0f9a3d33812e.png

代码

源码 (可用Gitee直接拷贝 ):https://gitee.com/lwx001/Directory

activity_main.xml(交互界面的设计与实现)

MyHelper.java(SQLite数据库的帮助类)

package cn.lwx.directory;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

class MyHelper extends SQLiteOpenHelper {

public MyHelper(Context context) {

super(context, "itcast.db", null, 1);

}

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL("CREATE TABLE information(_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), phone VARCHAR(20))");

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

}

MainActivity.java(交互界面逻辑代码的设计与实现)

package cn.lwx.directory;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ContentValues;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

MyHelper myHelper;

private EditText mEtName;

private EditText mEtPhone;

private TextView mTvShow;

private Button mBtnAdd;

private Button mBtnQuery;

private Button mBtnUpdate;

private Button mBtnDelete;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

myHelper = new MyHelper(this);

init();//初始化控件

}

private void init() {

mEtName = (EditText) findViewById(R.id.et_name);

mEtPhone = (EditText) findViewById(R.id.et_phone);

mTvShow = (TextView) findViewById(R.id.tv_show);

mBtnAdd = (Button) findViewById(R.id.btn_add);

mBtnQuery = (Button) findViewById(R.id.btn_query);

mBtnUpdate = (Button) findViewById(R.id.btn_update);

mBtnDelete = (Button) findViewById(R.id.btn_delete);

mBtnAdd.setOnClickListener(this);

mBtnQuery.setOnClickListener(this);

mBtnUpdate.setOnClickListener(this);

mBtnDelete.setOnClickListener(this);

}

@Override

public void onClick(View v) {

String name;

String phone;

SQLiteDatabase db;

ContentValues values;

switch (v.getId()) {

case R.id.btn_add: //添加数据

name = mEtName.getText().toString();

phone = mEtPhone.getText().toString();

db = myHelper.getWritableDatabase();//获取可读写SQLiteDatabse对象

values = new ContentValues(); // 创建ContentValues对象

values.put("name", name); // 将数据添加到ContentValues对象

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;

}

}

}

App运行展示

写篇博客,不容易啊,程序员 好肝啊~

点个赞,再走吧,谢谢大佬~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值