昨天进行了GUI界面设计,感受了一下android初次设计的愉悦,今天接着学习其SQLite数据库试用,将昨天的例子中数据存到数库中,并读取查看一下。

具体看代码(原写的有点问题,再改写如下):

1) 库操作类:

package com.topsun;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.util.Log;public class DBHelper {private static final String TAG = "UserDB_DBHelper.java";private static final String DataBaseName = "UserDB";SQLiteDatabase db;Context context;public DBHelper(Context context) {this.open(context);}private void createTabel() {// TODO Auto-generated method stubString sql = "";try {sql = "CREATE TABLE IF NOT EXISTS TestUser    (ID INTEGER PRIMARY KEY autoincrement,  NAME TEXT,  SEX TEXT, AGES INTEGER)";this.db.execSQL(sql);Log.v(TAG, "Create Table TestUser ok");} catch (Exception e) {Log.v(TAG, "Create Table TestUser fail");} finally {//this.db.close();Log.v(TAG, "Create Table TestUser ");}}public boolean save(String name, String sex, Integer ages) {String sql = "insert into TestUser values(null,'" + name + "','" + sex+ "'," + ages + ")";try {this.db.execSQL(sql);Log.v(TAG, "insert  Table TestUser 1 record ok");return true;} catch (Exception e) {Log.v(TAG, "insert  Table TestUser 1 record fail");return false;} finally {//this.db.close();Log.v(TAG, "insert  Table TestUser ");}}public Cursor loadAll() {Cursor cur = db.query("TestUser", new String[] { "ID", "NAME","SEX","AGES"}, null,null, null, null, null);return cur;}   public void open(Context context){   if (null == db || !this.db.isOpen()){   this.context = context;this.db = context.openOrCreateDatabase(this.DataBaseName,context.MODE_PRIVATE, null);createTabel();Log.v(this.TAG, "create  or Open DataBase。。。");    }   }public void close() {db.close();}}

2) 交互代码

package com.topsun;import android.app.Activity;import android.database.Cursor;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class guiwindows extends Activity implements OnClickListener {EditText TEditname;EditText TEditsex;EditText TEditages;EditText TEditmerge;Button TSavebutton;Button TViewbutton;DBHelper db;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);this.TEditname = (EditText) this.findViewById(R.id.widgeteditname);this.TEditsex = (EditText) this.findViewById(R.id.widgeteditsex);this.TEditages = (EditText) this.findViewById(R.id.widgeteditages);TEditmerge = (EditText) this.findViewById(R.id.widgeteditmerge);this.TSavebutton = (Button) this.findViewById(R.id.widgetSavebutton);TViewbutton = (Button) this.findViewById(R.id.widgetViewbutton);this.db = new DBHelper(this);this.TSavebutton.setOnClickListener(this);this.TViewbutton.setOnClickListener(this);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stub// this.TEditages.setText(this.TEditname.getText().toString()+this.TEditsex.getText().toString());if (v.getId() == R.id.widgetSavebutton) {try {this.db.open(this);this.db.save(this.TEditname.getText().toString(), this.TEditsex.getText().toString(), Integer.valueOf(this.TEditages.getText().toString()));} catch (Exception e) {Log.v("save data", "save data fail");} finally {this.db.close();}} else if (v.getId() == R.id.widgetViewbutton && null != db) {this.db.open(this);// 浏览所有数据Cursor cur = db.loadAll();StringBuffer sf = new StringBuffer();cur.moveToFirst();while (!cur.isAfterLast()) {sf.append(cur.getInt(0)).append(" : ").append(cur.getString(1)).append(" : ").append(cur.getString(2)).append(" : ").append(cur.getInt(3)).append("\n");cur.moveToNext();}db.close();this.TEditmerge.setText(sf.toString());}}}

3)具体效果

更多相关文章

  1. Android来电号码获取代码
  2. 开源项目之Android DataFramework(数据库框架)
  3. Java/Android 中使用Protocol Buffers传输数据
  4. Android studio查看SQLIte数据库文件
  5. Android 数据库事务的个人理解

随机推荐

  1. Android HTTPS 导读
  2. Android使用自定义View继承SurfaceView实
  3. Android(安卓)Bitmap 改变的时候可能会抛
  4. Android Context完全解析,Context你用对了
  5. RadioButton样式自定义
  6. Android之分頁效果-ViewPager、Indicator
  7. Android使用OKHttp3实现下载(断点续传、
  8. 使Android开发方便快捷的8个好工具
  9. Android中Intent对象与Intent Filter过滤
  10. Android使用局和数据实现天气项目-androi