Android数据库操作小例子

 

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

继承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);
	}

	@Override
	public 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')");
	}

	@Override
	public 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;
	@Override
	protected 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{

		@Override
		public 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{
		@Override
		public 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();
		}
	}
	
	@Override
	public 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;
	}
	
	@Override
	protected void onDestroy() {
		super.onDestroy();
		//退出程序时关闭MySQLiteOpenHelper里面的SQLiteDataBase
		if(conn!=null){
			conn.close();
		}
	}

}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值