android SQLite(单词的添加与查询应用)

本人小白,刚接触android,为方便记忆,将平时练习的代码写下来,跟大家分享,也希望大神批评指正。

这个实例主要用到的SQLite数据库的操作,可以向数据库添加单词,查询,修改以及删除单词,描述如有不当之处,还请帮忙纠正,下面上源码。

------------------------------------------我是邪恶的分割线----------------------------------------------

下面是java文件

1.创建数据库:

  

 1 import android.content.Context;
 2 import android.database.sqlite.SQLiteDatabase;
 3 import android.database.sqlite.SQLiteOpenHelper;
 4 
 5 public class DatabaseHelper extends SQLiteOpenHelper {
 6     
 7     //定义创建数据表的语句
 8     private static final String CREATE_TABLES="create table word_dic(_id INTEGERT PRIMARY KEY AUTOINCREMENT,word,detail)";
 9     
10     //定义构造函数
11     public DatabaseHelper(Context context,String name,int version){
12         super(context,name,null,version);
13     }
14     @Override
15     public void onCreate(SQLiteDatabase db) {
16         // TODO Auto-generated method stub
17         db.execSQL(CREATE_TABLES);
18     }
19 
20     @Override
21     public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) {
22         // TODO Auto-generated method stub
23 
24     }
25 
26 }

2.创建界面UI

  

  2 
  3 import java.util.ArrayList;
  4 import java.util.HashMap;
  5 
  6 import android.app.Activity;
  7 import android.content.ContentValues;
  8 import android.content.Intent;
  9 import android.database.Cursor;
 10 import android.database.sqlite.SQLiteDatabase;
 11 import android.os.Bundle;
 12 import android.view.Menu;
 13 import android.view.View;
 14 import android.view.View.OnClickListener;
 15 import android.widget.Button;
 16 import android.widget.EditText;
 17 import android.widget.Toast;
 18 
 19 public class MainActivity extends Activity {
 20     private EditText word;
 21     private EditText detail;
 22     private Button insert;
 23     private Button query;
 24     private Button update;
 25     private Button delete;
 26     DatabaseHelper dbHelper=null;
 27     @Override
 28     protected void onCreate(Bundle savedInstanceState) {
 29         super.onCreate(savedInstanceState);
 30         setContentView(R.layout.main);
 31         
 32         //获取控件对象
 33         word=(EditText)findViewById(R.id.word);
 34         detail=(EditText)findViewById(R.id.detail);
 35         insert=(Button)findViewById(R.id.insert);
 36         query=(Button)findViewById(R.id.query);
 37         update=(Button)findViewById(R.id.update);
 38         delete=(Button)findViewById(R.id.delete);
 39         
 40         //生成DatabaseHelper对象
 41         dbHelper=new DatabaseHelper(MainActivity.this,"english_db",1);
 42         
 43         //两个EditText用来获取用户的输入
 44         //String wordStr=word.getText().toString();
 45         //String detailStr=detail.getText().toString();
 46         
 47         //**************************
 48         //为按钮绑定相应的监听器
 49         //**************************
 50         
 51         //添加单词
 52         insert.setOnClickListener(new OnClickListener() {
 53             
 54             @Override
 55             public void onClick(View v) {
 56                 // TODO Auto-generated method stub
 57                 SQLiteDatabase db=dbHelper.getWritableDatabase();
 58                 String wordStr=word.getText().toString();
 59                 String detailStr=detail.getText().toString();
 60                 ContentValues values=new ContentValues();
 61                 values.put("word", wordStr);
 62                 values.put("detail", detailStr);
 63                 db.insert("word_dic", null, values);
 64                 Toast.makeText(MainActivity.this, "添加单词成功", Toast.LENGTH_LONG).show();
 65             }
 66         });
 67         
 68         //查询单词
 69         query.setOnClickListener(new OnClickListener() {
 70             
 71             @Override
 72             public void onClick(View v) {
 73                 // TODO Auto-generated method stub
 74                 SQLiteDatabase db=dbHelper.getReadableDatabase();
 75                 String wordStr=word.getText().toString();
 76                 
 77                 Cursor cursor=db.query("word_dic", new String[]{"_id","word","detail"}, "word like ?", 
 78                         new String[]{wordStr},null, null, null);
 79                 ArrayList<HashMap<String, String>> list=new ArrayList<HashMap<String,String>>();
 80                 while(cursor.moveToNext()){
 81                     HashMap<String, String> map=new HashMap<String, String>();
 82                     map.put("word", cursor.getString(cursor.getColumnIndex("word")));
 83                     map.put("detail", cursor.getString(cursor.getColumnIndex("detail")));
 84                     list.add(map);
 85                 }
 86                 Intent intent=new Intent(MainActivity.this,OtherActivity.class);
 87                 Bundle bundle=new Bundle();
 88                 bundle.putSerializable("data", list);
 89                 intent.putExtras(bundle);
 90                 startActivity(intent);
 91             }
 92         });
 93         
 94         //修改单词
 95         update.setOnClickListener(new OnClickListener() {
 96             
 97             @Override
 98             public void onClick(View v) {
 99                 // TODO Auto-generated method stub
100                 SQLiteDatabase db=dbHelper.getWritableDatabase();
101                 String wordStr=word.getText().toString();
102                 String detailStr=detail.getText().toString();
103                 ContentValues values=new ContentValues();
104                 values.put("word", wordStr);
105                 values.put("detail", detailStr);
106                 db.update("word_dic", values, "word like ?", new String[]{wordStr});
107                 Toast.makeText(MainActivity.this, "单词已更新", Toast.LENGTH_LONG).show();
108             }
109         });
110         
111         //删除单词
112         delete.setOnClickListener(new OnClickListener() {
113             
114             @Override
115             public void onClick(View v) {
116                 // TODO Auto-generated method stub
117                 SQLiteDatabase db=dbHelper.getWritableDatabase();
118                 String wordStr=word.getText().toString();
119                 
120                 db.delete("word_dic", "word like ?", new String[]{wordStr});
121                 Toast.makeText(MainActivity.this, "单词已删除", Toast.LENGTH_LONG).show();
122             }
123         });
124     }
125 
126     @Override
127     public boolean onCreateOptionsMenu(Menu menu) {
128         // Inflate the menu; this adds items to the action bar if it is present.
129         getMenuInflater().inflate(R.menu.main, menu);
130         return true;
131     }
132 
133 }

3.创建查询结果的ACTIVITY:

  

 1 import java.util.ArrayList;
 2 import java.util.HashMap;
 3 
 4 import android.app.Activity;
 5 import android.content.Intent;
 6 import android.os.Bundle;
 7 import android.widget.ListView;
 8 import android.widget.SimpleAdapter;
 9 
10 public class OtherActivity extends Activity {
11     private ListView listView;
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         // TODO Auto-generated method stub
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.result);
17         
18         listView=(ListView)findViewById(R.id.listView);
19         Intent intent=getIntent();
20         Bundle bundle=intent.getExtras();
21         
22         @SuppressWarnings("unchecked")
23         ArrayList<HashMap<String, String>> list=(ArrayList<HashMap<String,String>>)bundle.getSerializable("data");
24         SimpleAdapter adapter=new SimpleAdapter(this, list, R.layout.option, new String[]{"word","detail"}, 
25                 new int[]{R.id.wordShow,R.id.detailShow});
26         listView.setAdapter(adapter);
27     }
28 
29 }

*********************************以下是用到的资源文件*********************************************

1.main.xml:

 1 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:layout_width="fill_parent"
 3     android:layout_height="fill_parent" >
 4     <TableRow android:paddingLeft="10dp">
 5         <TextView
 6             android:layout_width="50dp"
 7             android:layout_height="wrap_content"
 8             android:text="单词:"
 9             android:textSize="16sp"
10             />
11         <EditText
12             android:id="@+id/word"
13             android:layout_width="250dp"
14             android:layout_height="wrap_content"
15             android:selectAllOnFocus="true"
16             android:hint="请输入单词"
17             />
18     </TableRow>
19     <TableRow android:paddingLeft="10dp">
20         <TextView
21             android:layout_width="50dp"
22             android:layout_height="wrap_content"
23             android:text="释意:"
24             android:textSize="16sp"
25             />
26         <EditText
27             android:id="@+id/detail"
28             android:layout_width="250dp"
29             android:layout_height="wrap_content"
30             android:selectAllOnFocus="true"
31             android:hint="请输入单词的解释"
32             />
33     </TableRow>
34     <Button
35         android:id="@+id/insert"
36         android:layout_width="fill_parent"
37         android:layout_height="wrap_content"
38         android:text="添加单词"
39         />
40     <Button
41         android:id="@+id/query"
42         android:layout_width="fill_parent"
43         android:layout_height="wrap_content"
44         android:text="查询单词"
45         />
46     <Button
47         android:id="@+id/update"
48         android:layout_width="fill_parent"
49         android:layout_height="wrap_content"
50         android:text="修改单词"
51         />
52     <Button
53         android:id="@+id/delete"
54         android:layout_width="fill_parent"
55         android:layout_height="wrap_content"
56         android:text="删除单词"
57         />
58 </TableLayout>

2.result.xml:

  

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:layout_width="fill_parent"
 3     android:layout_height="fill_parent"
 4     android:orientation="vertical" >
 5 
 6     <ListView
 7         android:id="@+id/listView"
 8         android:layout_width="fill_parent"
 9         android:layout_height="wrap_content" >
10     </ListView>
11 
12 </LinearLayout>

3.option.xml:

  

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:layout_width="fill_parent"
 3     android:layout_height="fill_parent" >
 4 
 5     <TextView
 6         android:id="@+id/wordShow"
 7         android:layout_width="100dp"
 8         android:layout_height="wrap_content"
 9         android:layout_alignParentLeft="true"
10         android:layout_alignParentTop="true"
11         />
12 
13     <TextView
14         android:id="@+id/detailShow"
15         android:layout_width="fill_parent"
16         android:layout_height="wrap_content"
17         android:layout_alignParentRight="true"
18         android:layout_alignParentTop="true"
19         android:layout_toRightOf="@+id/wordShow"
20         />
21 
22 </RelativeLayout>

 

posted @ 2014-03-29 15:22  zhuxian300c  阅读(749)  评论(1编辑  收藏  举报