单词本实现效果
2013-11-13 00:48
204 查看
继承自SQLiteOpenHelper的MyDataBaseHelper类
主文件
main.xml文件
View Code
效果图
package com.dj.wordsbookdemo; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class MyDataBaseHelper extends SQLiteOpenHelper { public MyDataBaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE IF NOT EXISTS words"+"(_id INTEGER PRIMARY KEY AUTOINCREMENT,word VARCHAR(20),mean VARCHAR(300))"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
主文件
import android.app.Activity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.SimpleCursorAdapter; public class MainActivity extends Activity { private SQLiteDatabase db; private EditText et1, et2; private ListView listview; private MyDataBaseHelper helper; String word; String mean; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et1 = (EditText) findViewById(R.id.et1); et2 = (EditText) findViewById(R.id.et2); listview = (ListView) findViewById(R.id.listView1); helper=new MyDataBaseHelper(this, "sql.db", null, 1); db = helper.getWritableDatabase(); inflater(); } public void addWords(View v) { word = et1.getText().toString(); mean = et2.getText().toString(); //添加单词的时候如果存在相同的,单词的意思被替换为本次的。 if (db.query("words", null, "word=?", new String[]{word}, null, null, null).getCount()>0) { //execSQL()方法 db.execSQL("update words set mean='"+mean+"' where word='"+word+"'"); //db.update()方法 /*ContentValues values = new ContentValues(); values.put("mean", mean); db.update("words", values, "word=?", new String[] { word });*/ }else{ ContentValues values = new ContentValues(); values.put("word", word); values.put("mean", mean); db.insert("words", null, values); } //添加数据后就刷新listview的内容 inflater(); } //删除按钮监听器 public void deleteWords(View v) { word = et1.getText().toString(); if (word.equals("")) { et1.setError("请输入要删除的单词"); } String[] whereArgs={word}; db.delete("words", "word=?", whereArgs); //删除数据后刷新listview的内容 inflater(); } //查询按钮监听器 public void findWords(View v){ word = et1.getText().toString(); //根据单词查找数据 String sql="select * from words where word=?"; Cursor cursor = db.rawQuery(sql, new String[]{word}); SimpleCursorAdapter adapter=new SimpleCursorAdapter(MainActivity.this, R.layout.data, cursor, new String[]{"word","mean"}, new int[]{R.id.textView1, R.id.textView2},SimpleCursorAdapter.IGNORE_ITEM_VIEW_TYPE); listview.setAdapter(adapter); } //定义一个inflater()方法用于及时的刷新数据 public void inflater() { String sql = "select * from words"; Cursor cursor = db.rawQuery(sql, null); SimpleCursorAdapter adapter = new SimpleCursorAdapter( MainActivity.this, R.layout.data, cursor, new String[] {"word", "mean" }, new int[] { R.id.textView1,R.id.textView2 }, SimpleCursorAdapter.IGNORE_ITEM_VIEW_TYPE); listview.setAdapter(adapter); } }
main.xml文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="单词:" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="意思:" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </LinearLayout>
View Code
效果图
相关文章推荐
- Axure设计:百词斩单词翻转还原效果实现
- Android 平台 Button控件如何实现按下效果 (变换风格)
- 用CSS+DIV实现下拉菜单效果
- Android编程实现类似于圆形ProgressBar的进度条效果
- 终于实现了窗口的半透明效果,展示一下,自我庆祝一下
- 基于jquery的loading 加载提示效果实现代码
- Android 定时任务之Timer和Handler实现倒计时效果(附:adapter列表倒计时)
- iOS开发之使用UIimage+ImageEffects实现图片模糊效果
- js面向对象实现canvas制作彩虹球喷枪效果
- 原生Js实现按的数据源均分时间点幻灯片效果(已封装)
- 简单几步为DedeCMS实现LightBox效果
- 利用数组元素交换技术来实现界面的翻页滑动效果
- JS实现的不规则TAB选项卡效果代码
- 使用TextView实现跑马灯效果
- Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果
- CSS实现输入框的高亮效果-------Day50
- Android UI自定义ListView实现下拉刷新和加载更多效果
- JS实现模糊查询带下拉匹配效果
- 纯CSS3实现的动感菜单效果