1.布局<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名:" />
<EditText
android:id="@+id/edit_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性别:" />
<EditText
android:id="@+id/edit_sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="部门:" />
<EditText
android:id="@+id/edit_department"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="工资:" />
<EditText
android:id="@+id/edit_salary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btn_insert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="添加" />
<Button
android:id="@+id/btn_clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="清除" />
<Button
android:id="@+id/btn_showall"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="显示全部" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" ID: " />
<EditText
android:id="@+id/secachID"
android:layout_width="79dp"
android:layout_height="wrap_content"
android:ems="10" />
<Button
android:id="@+id/btn_search"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="显示" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/text_show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
<ScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView android:id="@+id/display"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
</LinearLayout>
</ScrollView>
</LinearLayout>
2.src中的People类
1 package com.example.sqltest;
2
3 public class People {
4 public int ID = -1;
5 public String Name ;
6 public String Sex;
7 public String Department;
8 public float Salary;
9 @Override
10 public String toString( ){
11 String result = "";
12 result += "ID: " + this.ID + "," ;
13 result += "姓名:" + this.Name + ",";
14 result += "性别:" + this.Sex + ",";
15 result += "部门:" + this.Department + "," ;
16 result += "薪水:" + this.Salary + "," ;
17 return result;
18 }
19
20 }
3.DBAdapter.java
1 package com.example.sqltest;
2
3 import android.content.ContentValues;
4 import android.content.Context;
5 import android.database.Cursor;
6 import android.database.sqlite.SQLiteDatabase;
7 import android.database.sqlite.SQLiteDatabase.CursorFactory;
8 import android.database.sqlite.SQLiteException;
9 import android.database.sqlite.SQLiteOpenHelper;
10
11
12
13 public class DBAdapter {
14 private static final String DB_NAME = "test.db";
15 private static final String DB_TABLE = "peopleinfo";
16 private static final int DB_VERSION = 1;
17
18 public static final String KEY_ID = "id";
19 public static final String KEY_NAME = "name";
20 public static final String KEY_SEX = "sex";
21 public static final String KEY_DEPARTMENT = "department";
22 public static final String KEY_SALARY = "salary";
23
24 private SQLiteDatabase db;
25 private final Context context;
26 private DBOpenHelper dbOpenHelper;
27
28 public DBAdapter(Context _context) {
29 context = _context;
30 }
31 public void close() {
32 if (db != null) {
33 db.close();
34 db = null;
35 }
36 }
37 public void open() throws SQLiteException {
38 dbOpenHelper = new DBOpenHelper(context, DB_NAME, null, DB_VERSION);
39 try {
40 db = dbOpenHelper.getWritableDatabase();
41 } catch (SQLiteException ex) {
42 db = dbOpenHelper.getReadableDatabase();
43 }
44 }
45 public long insert(People people) {
46 ContentValues newValues = new ContentValues();
47
48 newValues.put(KEY_NAME, people.Name);
49 newValues.put(KEY_SEX, people.Sex);
50 newValues.put(KEY_DEPARTMENT, people.Department);
51 newValues.put(KEY_SALARY, people.Salary);
52 return db.insert(DB_TABLE, null, newValues);
53 }
54 public People[] queryAllData() {
55 Cursor results = db.query(DB_TABLE, new String[] { KEY_ID, KEY_NAME,
56 KEY_SEX,KEY_DEPARTMENT,KEY_SALARY }, null, null, null, null, null);
57 return ConvertToPeople(results);
58 }
59 public People[] queryOneData(long id) {
60 Cursor results = db.query(DB_TABLE, new String[] { KEY_ID, KEY_NAME,
61 KEY_SEX,KEY_DEPARTMENT,KEY_SALARY }, KEY_ID + "=" + id, null, null, null,
62 null);
63 return ConvertToPeople(results);
64 }
65 private People[] ConvertToPeople(Cursor cursor) {
66 int resultCounts = cursor.getCount();
67 if (resultCounts == 0 || !cursor.moveToFirst()) {
68 return null;
69 }
70 People[] peoples = new People[resultCounts];
71 for (int i = 0; i < resultCounts; i++) {
72 peoples[i] = new People();
73 peoples[i].ID = cursor.getInt(0);
74 peoples[i].Name = cursor.getString(cursor.getColumnIndex(KEY_NAME));
75 peoples[i].Sex = cursor.getString(cursor.getColumnIndex(KEY_SEX));
76 peoples[i].Department = cursor.getString(cursor.getColumnIndex(KEY_DEPARTMENT));
77 peoples[i].Salary = cursor.getFloat(cursor.getColumnIndex(KEY_SALARY));
78 cursor.moveToNext();
79 }
80 return peoples;
81 }
82 public long deleteAllData() {
83 return db.delete(DB_TABLE, null, null);
84 }
85
86 public long deleteOneData(long id) {
87 return db.delete(DB_TABLE, KEY_ID + "=" + id, null);
88 }
89 public long updateOneData(long id , People people){
90 ContentValues updateValues = new ContentValues();
91 updateValues.put(KEY_NAME, people.Name);
92 updateValues.put(KEY_SEX,people.Sex);
93 updateValues.put(KEY_DEPARTMENT, people.Department);
94 updateValues.put(KEY_SALARY, people.Salary);
95
96 return db.update(DB_TABLE, updateValues, KEY_ID + "=" + id, null);
97 }
98 private static class DBOpenHelper extends SQLiteOpenHelper {
99
100 public DBOpenHelper(Context context, String name,
101 CursorFactory factory, int version) {
102 super(context, name, factory, version);
103 } // 构造方法
104
105 private static final String DB_CREATE = "create table " + DB_TABLE
106 + " (" + KEY_ID + " integer primary key autoincrement, "
107 + KEY_NAME + " text not null," + KEY_SEX + " text," + KEY_DEPARTMENT
108 + " text," + KEY_SALARY + " float);";
109
110 @Override
111 public void onCreate(SQLiteDatabase _db) {
112 _db.execSQL(DB_CREATE);
113 }
114
115 @Override
116 public void onUpgrade(SQLiteDatabase _db, int _oldVersion,
117 int _newVersion) {
118 _db.execSQL("DROP TABLE IF EXISTS " + DB_TABLE);
119 onCreate(_db);
120 }
121
122 }
123 }
4.编写MainActivity.java
1 package com.example.sqltest;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.view.Menu;
6 import android.view.View;
7 import android.view.View.OnClickListener;
8 import android.widget.Button;
9 import android.widget.EditText;
10 import android.widget.TextView;
11
12 public class MainActivity extends Activity {
13
14 private EditText name;
15 private EditText salary;
16 private EditText department;
17 private EditText sex;
18 private EditText secachID;
19 private Button btn_insert;
20 private Button btn_clear;
21 private Button btn_showall;
22 private Button btn_search;
23 private TextView text;
24 private TextView display;
25 private DBAdapter dbAdepter;
26
27 @Override
28 protected void onCreate(Bundle savedInstanceState) {
29 super.onCreate(savedInstanceState);
30 setContentView(R.layout.activity_main);
31
32 name = (EditText)findViewById(R.id.edit_name);
33 salary = (EditText)findViewById(R.id.edit_salary);
34 department = (EditText)findViewById(R.id.edit_department);
35 sex = (EditText)findViewById(R.id.edit_sex);
36 secachID = (EditText)findViewById(R.id.secachID);
37 btn_insert = (Button)findViewById(R.id.btn_insert);
38 btn_clear = (Button)findViewById(R.id.btn_clear);
39 btn_showall = (Button)findViewById(R.id.btn_showall);
40 btn_search = (Button)findViewById(R.id.btn_search);
41 text = (TextView)findViewById(R.id.text_show);
42 display = (TextView) findViewById(R.id.display);
43
44 dbAdepter = new DBAdapter(this);
45 dbAdepter.open();
46
47 btn_insert.setOnClickListener(new OnClickListener() {
48
49 @Override
50 public void onClick(View v) {
51 // TODO Auto-generated method stub
52 People people = new People();
53 people.Name = name.getText().toString();
54 people.Sex = sex.getText().toString();
55 people.Department = department.getText().toString();
56 people.Salary = Float.parseFloat(salary.getText().toString());
57 long colunm = dbAdepter.insert(people);
58
59 if (colunm == -1 ){
60 text.setText("添加过程错误!");
61 } else {
62 text.setText("成功添加数据,ID:"+String.valueOf(colunm));
63
64 }
65 }
66 });
67 btn_clear.setOnClickListener(new OnClickListener() {
68
69 @Override
70 public void onClick(View v) {
71 // TODO Auto-generated method stub
72 display.setText("");
73 }
74 });
75 btn_showall.setOnClickListener(new OnClickListener() {
76
77 @Override
78 public void onClick(View v) {
79 // TODO Auto-generated method stub
80 People[] peoples = dbAdepter.queryAllData();
81 if (peoples == null){
82 text.setText("数据库中没有数据");
83 return;
84 }
85 text.setText("数据库:");
86 String msg = "";
87 for (int i = 0 ; i<peoples.length; i++){
88 msg += peoples[i].toString()+"\n";
89 }
90 display.setText(msg);
91 }
92 });
93 btn_search.setOnClickListener(new OnClickListener() {
94
95 @Override
96 public void onClick(View v) {
97 // TODO Auto-generated method stub
98 int id = Integer.parseInt(secachID.getText().toString());
99 People[] peoples = dbAdepter.queryOneData(id);
100
101 if (peoples == null){
102 text.setText("数据库中没有ID为"+String.valueOf(id)+"的数据");
103 return;
104 }
105 text.setText("数据库:");
106 display.setText(peoples[0].toString());
107 }
108 });
109
110 }
111
112 @Override
113 public boolean onCreateOptionsMenu(Menu menu) {
114 // Inflate the menu; this adds items to the action bar if it is present.
115 getMenuInflater().inflate(R.menu.main, menu);
116 return true;
117 }
118
119 }


来源:https://www.cnblogs.com/anylemons/p/6891916.html