基于Sqlite数据开发的安卓简易通讯录
开发环境
Android Studio集成开发环境,下载,安装教程及无法联网更新问题,请转至:Android Studio下载安装教程
进入主题
效果图
目录结构
其中user_info.java和acticity_main.xml作为附加调试时使用的,项目没有使用。
废话不多说,直接上代码
主页面
MainActivity.java
package com.example.administrator.pc;
import android.content.Intent;
import android.widget.Button;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import android.database.sqlite.SQLiteDatabase;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity
{
public Button button_add_info;
public Button button_query;
public Button button_delete;
public Button button_addition;
public SQLiteDatabase call_db;
public DBHelper db;
//定义Button,ListView,list数据集合,simpleAdapter适配器
private Button create,query;
private ListView listview = null;
private List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
private SimpleAdapter simpleAdapter = null;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
query=(Button)findViewById(R.id.query_phone);
create=(Button)findViewById(R.id.add_phone_name);
}
public void onclick0(View view){
Intent intent=new Intent(MainActivity.this,addrelation.class);
startActivity(intent);
}
public void onclick1(View view){
Intent inte1=new Intent(MainActivity.this,query_activity.class);
startActivity(inte1);
}
public void onclick2(View view){
Intent int_del=new Intent(MainActivity.this,delete_activity.class);
startActivity(int_del);
//delete_table();
}
public void onclick4(View view)
{
Intent inte_up=new Intent(MainActivity.this,update_activity.class);
startActivity(inte_up);
}
public void delete_table(){
db.execsql_w();
Toast.makeText(MainActivity.this,"删除成功",Toast.LENGTH_LONG).show();
}
}
添加联系人
addrelation.java
package com.example.administrator.pc;
import android.widget.Spinner;
import android.widget.ArrayAdapter;
import android.widget.*;
import android.os.Bundle;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.View;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class addrelation extends AppCompatActivity
{
public EditText username;
public EditText userphone;
public Spinner userattribute;
private static int ch=0;
private Spinner spinner1;
DBHelper db=new DBHelper(this,null,null,0);
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO: Implement this method
super.onCreate(savedInstanceState);
setContentView(R.layout.addrelation);
spinner1=(Spinner) findViewById(R.id.spinner1);
initSpinner1();
init();
Button save=(Button)findViewById(R.id.save);
//save.setOnClickListener(new MySaveBtnListener());
}
private void init(){
username=(EditText)findViewById(R.id.addName);
userphone=(EditText)findViewById(R.id.addTel);
userattribute=(Spinner)findViewById(R.id.spinner1);
}
public void insert_db(int ch){
String name=username.getText().toString();
String phone=userphone.getText().toString();
String attribute=(String)spinner1.getSelectedItem();
if(ch==1){
String sql="insert into Userinfo values(?,?,?,?)";
db.execsql(sql, new Object[]{null,name,phone,attribute});
Toast.makeText(addrelation.this,"保存成功",Toast.LENGTH_LONG).show();
}
else{
return;
}
}
public void initSpinner1(){
String[] city=new String[]{"同事","家人","朋友","同学"};
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, city);
spinner1.setAdapter(adapter);
}
public void onclick_save(View view) //这个方法是弹出一个对话框
{
initEvent();
}
public void onclick_exit(View view)//退出按钮响应
{
finish();
}
private void initEvent() { //初始化事件,即:对话框的显示
showDialog();
}
private void showDialog(){
String name=username.getText().toString();
String phone=userphone.getText().toString();
if(name.equals("")){
Toast.makeText(addrelation.this,"温馨提示:请输入联系人名称", Toast.LENGTH_LONG).show();
}
else if(phone.equals("")){
Toast.makeText(addrelation.this,"温馨提示:请输入联系人号码", Toast.LENGTH_LONG).show();
}
else{
AlertDialog.Builder builder=new AlertDialog.Builder(this);
// builder.setIcon(R.drawable..);
builder.setTitle("提示");
builder.setMessage("是否保存?");
builder.setPositiveButton("保存",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
ch=1;
insert_db(ch);
ch=0;
}
});
builder.setNegativeButton("放弃",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialogInterface,int i){
ch=0;
insert_db(ch);
}
});
AlertDialog dialog=builder.create();
dialog.show();
}
}
}
删除联系人
delete_activity.java
package com.example.administrator.pc;
import android.os.Bundle;
import android.view.*;
import android.database.sqlite.SQLiteDatabase;
import android.widget.EditText;
import android.widget.Toast;
import android.app.AlertDialog;
import android.content.DialogInterface;
import androidx.appcompat.app.AppCompatActivity;
public class delete_activity extends AppCompatActivity {
private DBHelper db;
private int VERSION=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.delete_user);
}
public void onclick0(View view)
{
finish();
}
public void onclick1(View view)
{
showDialog();
}
public void deleteById()
{
EditText dele_id=findViewById(R.id.del_id);
EditText dele_name=findViewById(R.id.del_name);
EditText dele_phone=findViewById(R.id.del_phone);
EditText dele_attribute=findViewById(R.id.del_attribute);
String id=dele_id.getText().toString();
String name=dele_name.getText().toString();
String phone=dele_phone.getText().toString();
String attribute=dele_attribute.getText().toString();
DBHelper helper=new DBHelper(getApplicationContext(),"contact_db",null,VERSION);
SQLiteDatabase db=helper.getWritableDatabase();
if(!id.equals("")||!name.equals("")||!phone.equals("")||!attribute.equals(""))
{
if (!id.equals(""))
//if(id!=0)
{
db.execSQL("Delete from Userinfo where id= ? ", new Obje