Android实现通讯录功能
本⽂实例为⼤家分享了Android通讯录案例,供⼤家参考,具体内容如下实战演练——通讯录
1、功能描述:通过SQLite实现数据库的增删改查2、技术要点:SQLite的基本操作3、实现步骤:
① 创建⼀个类继承SQLiteOpenHelper
② 重写⽗类构造⽅法、onCreate()、onUpgrade()③ 增删改查4、效果图
5、案例代码MyHelper.java
package com.example.sqlite;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import androidx.annotation.Nullable;
public class MyHelper extends SQLiteOpenHelper { public MyHelper(@Nullable Context context) { super(context, \"test.db\
}
//当数据库第⼀次创建的时候执⾏ @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 com.example.sqlite;
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.TextView;import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private TextView name; private TextView phone; private Button btnAdd; private Button btnDel; private Button btnUqd; private Button btnSel; private String uPhone; private String uName;
private MyHelper myHelper; private SQLiteDatabase db; private TextView show;
private ContentValues contentValues;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myHelper = new MyHelper(this); init(); }
private void init() {
show = findViewById(R.id.show); name = findViewById(R.id.name); phone = findViewById(R.id.phone); btnAdd = findViewById(R.id.insert); btnDel = findViewById(R.id.delete); btnUqd = findViewById(R.id.update); btnSel = findViewById(R.id.select); btnAdd.setOnClickListener(this); btnDel.setOnClickListener(this); btnUqd.setOnClickListener(this); btnSel.setOnClickListener(this); }
@Override
public void onClick(View v) { switch (v.getId()) { case R.id.select:
db = myHelper.getReadableDatabase();
Cursor cursor = db.query(\"information\ if (cursor.getCount() == 0) {
Toast.makeText(this, \"没有数据\ } else {
cursor.moveToFirst();
show.setText(\"Name:\" + cursor.getString(1) + \"Tel:\" + cursor.getString(2)); }
while (cursor.moveToNext()) {
show.append(\"\\n\" + \"Name\" + cursor.getString(1) + \"Tel\" + cursor.getString(2)); }
cursor.close(); db.close(); break;
case R.id.insert:
uName = name.getText().toString(); uPhone = phone.getText().toString(); db = myHelper.getReadableDatabase(); contentValues = new ContentValues(); contentValues.put(\"name\ contentValues.put(\"phone\
db.insert(\"information\ db.close(); break;
case R.id.update:
db = myHelper.getReadableDatabase(); contentValues = new ContentValues();
contentValues.put(\"phone\
db.update(\"information\ db.close(); break;
case R.id.delete:
db = myHelper.getReadableDatabase(); db.delete(\"information\
Toast.makeText(this, \"信息已经删除\ show.setText(\"\"); db.close(); break; } }}
activity_main.xml
android:background=\"@drawable/background\"> android:layout_width=\"match_parent\" android:layout_height=\"match_parent\" android:orientation=\"vertical\" >android:layout_width=\"match_parent\" android:layout_height=\"wrap_content\" android:orientation=\"horizontal\" >android:layout_width=\"160dp\" android:layout_height=\"120dp\" android:layout_marginTop=\"50dp\" android:layout_marginLeft=\"20dp\"android:src=\"@drawable/expression\">
android:layout_width=\"160dp\" android:layout_height=\"120dp\" android:layout_marginTop=\"50dp\" android:layout_marginLeft=\"20dp\"android:src=\"@drawable/text\">
android:layout_width=\"match_parent\" android:layout_height=\"wrap_content\" android:orientation=\"horizontal\" android:layout_marginTop=\"20dp\" android:paddingHorizontal=\"20dp\" >android:layout_width=\"0dp\"android:layout_height=\"wrap_content\" android:layout_weight=\"1\" android:text=\"姓 名 :\" android:textSize=\"26sp\"
app:layout_constraintBottom_toBottomOf=\"parent\" app:layout_constraintLeft_toLeftOf=\"parent\" app:layout_constraintRight_toRightOf=\"parent\" app:layout_constraintTop_toTopOf=\"parent\" /> android:id=\"@+id/name\" android:layout_width=\"0dp\" android:layout_weight=\"3\"android:layout_height=\"wrap_content\" android:hint=\"请输⼊姓名\" android:textSize=\"22sp\" >
android:layout_width=\"match_parent\" android:layout_height=\"wrap_content\" android:orientation=\"horizontal\" android:layout_marginTop=\"20dp\" android:paddingHorizontal=\"20dp\" >android:layout_width=\"0dp\"android:layout_height=\"wrap_content\" android:layout_weight=\"1\" android:text=\"电 话 :\" android:textSize=\"26sp\"
app:layout_constraintBottom_toBottomOf=\"parent\" app:layout_constraintLeft_toLeftOf=\"parent\" app:layout_constraintRight_toRightOf=\"parent\" app:layout_constraintTop_toTopOf=\"parent\" /> android:id=\"@+id/phone\" android:layout_width=\"0dp\" android:layout_weight=\"3\"android:layout_height=\"wrap_content\" android:hint=\"请输⼊⼿机号码\" android:textSize=\"22sp\" >
android:layout_width=\"match_parent\" android:layout_height=\"wrap_content\" android:orientation=\"horizontal\" android:layout_marginTop=\"20dp\" android:paddingHorizontal=\"20dp\" >
android:id=\"@+id/show\"android:layout_width=\"match_parent\" android:layout_height=\"wrap_content\" android:gravity=\"center\" android:textSize=\"18sp\"
android:background=\"#80ffffff\"
android:layout_marginHorizontal=\"20dp\" >
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。