Android数据库操作小例子

来源:互联网 发布:网络行为控制软件 编辑:程序博客网 时间:2024/06/05 07:38

 

这个例子很简单,如下图,点击添加用户按钮将会添加一个用户名和电话为界面上所填写的用户,点击查看用户按钮会在控制台输出所有的用户信息

继承SQLiteOpenHelper的数据库工具类

package com.example.helloword.conn;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;public class MySQLiteOpenHelper extends SQLiteOpenHelper {//数据库版本private static final int version = 1;/** * 构造方法 * @param context 上下文对象 * @param name 数据库名称 * @param factory * @param version 数据库版本号 */private MySQLiteOpenHelper(Context context, String name,CursorFactory factory, int version) {super(context, name, factory, version);}public MySQLiteOpenHelper(Context context) {this(context, "test.db3", null, version);}@Overridepublic void onCreate(SQLiteDatabase db) {String sql = "CREATE TABLE [users] ( "+  " [_id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "+  " [username] VARCHAR2(20), "+  " [phone] VARCHAR2(2))";db.execSQL(sql);db.execSQL("insert into users(username,phone) values('小明','11111111')");db.execSQL("insert into users(username,phone) values('中明','22222222')");db.execSQL("insert into users(username,phone) values('大明','33333333')");}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}}


Activity:

 

package com.example.helloword;import com.example.helloword.conn.MySQLiteOpenHelper;import android.app.Activity;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {//页面上的查看用户按钮和新增用户按钮private Button btnLook,btnSave;//页面上的姓名和电话输入框private EditText txtName,txtPhone;//数据库工具类private MySQLiteOpenHelper conn;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}/** * 页面初始化方法 */private void init() {btnLook = (Button) findViewById(R.id.btnLook);btnSave = (Button) findViewById(R.id.btnSave);txtName = (EditText) findViewById(R.id.txtName);txtPhone = (EditText) findViewById(R.id.txtPhone);btnSave.setOnClickListener(new SaveClickListener());btnLook.setOnClickListener(new LookClickListener());//创建数据库工具类实例conn = new MySQLiteOpenHelper(this);}/** * 保存按钮的监听事件类 */private class SaveClickListener implements View.OnClickListener{@Overridepublic void onClick(View v) {//创建新增sql语句String sql = "INSERT INTO USERS (USERNAME,PHONE) VALUES(?,?)";//获取SQLiteDatabase对象SQLiteDatabase data = conn.getWritableDatabase();//通过SQLiteDatabase对象执行sql语句data.execSQL(sql, new String[]{txtName.getText().toString(),MainActivity.this.txtPhone.getText().toString()});Toast.makeText(MainActivity.this, "保存成功",Toast.LENGTH_SHORT).show();}}/** * 查看按钮的监听事件类 */private class LookClickListener implements View.OnClickListener{@Overridepublic void onClick(View v) {//创建新增sql语句String sql = "SELECT * FROM USERS";//获取SQLiteDatabase对象SQLiteDatabase data = conn.getReadableDatabase();//通过SQLiteDatabase对象进行数据库查询,返回Cursor对象Cursor cursor = data.rawQuery(sql, new String[]{});//循环输出cursor中的内容while(cursor.moveToNext()){System.out.println("姓名:"+cursor.getString(1)+",电话:"+cursor.getString(2));}//关闭cursor对象cursor.close();}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overrideprotected void onDestroy() {super.onDestroy();//退出程序时关闭MySQLiteOpenHelper里面的SQLiteDataBaseif(conn!=null){conn.close();}}}


 

0 0