安卓的数据库操作最简单三层

首先是数据库创建:

package com.postdep.dal;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class DBOpenHelper extends SQLiteOpenHelper {private static final int VERSION = 1;private static final String DBNAME = "saccount.db";public DBOpenHelper(Context context) {super(context, DBNAME, null, VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {// 创建数据库db.execSQL("CREATE TABLE [users] ([id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,[username] VARCHAR(50) NOT NULL,[password] VARCHAR(50) NOT NULL)");// 创建users表}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {db.execSQL("drop table if exists users");}}
我上面创建了一个叫saccount.db的数据库和一张叫users的表,表里面id是自增主键,两个varchar的字段

namespace是postdep.dal

DAL+BLL

package com.postdep.dal;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import com.postdep.model.User;public class DBUser {private DBOpenHelper helper;private SQLiteDatabase db;public DBUser(Context context) {helper = new DBOpenHelper(context);db = helper.getWritableDatabase();}// 添加操作public void insert(User user) {ContentValues values = new ContentValues();values.put("username", user.getUsername());values.put("password", user.getPassword());db.insert("users", null, values);}// 修改操作public void update(User user, int id) {db.execSQL("update users set username=?,password=? where id=" + id,new Object[] { user.getUsername(), user.getPassword()});}// 查询操作public User query(int id) {db = helper.getWritableDatabase();// 初始化SQLiteDatabase对象User user = new User();Cursor cursor = db.query("users",new String[] { "username", "password" }, "id =" + id, null,null, null, null);if (cursor.getCount() > 0) {cursor.moveToFirst();user.setUsername(cursor.getString(cursor.getColumnIndex("username")));user.setPassword(cursor.getString(cursor.getColumnIndex("password")));return user;}cursor.close();return null;}}

上面这个一看都懂我就不多解释了

MODEL

package com.postdep.model;public class User// 密码数据表实体类{private int id;private String username;private String password;// 定义字符串,表示用户密码public User() {// 默认构造函数super();}public User(String username, String password) {this.username = username;this.password = password;}public int getId() {return id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

做好以上三个操作后在系统里面调用的例子如下:

插入数据User user = new User("abc","123654");DBUser helper = new DBUser(MainActivity.this);helper.insert(user);查询数据final TextView tv1 = (TextView) findViewById(R.id.textView1);final TextView tv2 = (TextView) findViewById(R.id.textView2);DBUser helper = new DBUser(GrzxActivity.this);User user = helper.query(1);tv1.setText(user.getUsername());tv2.setText(user.getPassword());

更多相关文章

  1. Android中从服务器端向客户端传数据
  2. android 使用Java自带的HttpURLConnection 连接网络 读取返回数
  3. eclipse中Android布局的基本操作
  4. 文件操作与SDCard读写访问
  5. Android录音时,根据PCM数据获取音量值(单位分贝)
  6. Android自学笔记之Android常见命令操作及一些普通布局属性
  7. Android 之往通讯录中添加数据和查询数据

随机推荐

  1. android8.0/android O 新特性
  2. MAC查看某一so文件的cpu匹配
  3. android集成 ijkplayer Ijkplayer集成使
  4. Android(安卓)标题有点难写啊
  5. 证书番外篇之Android证书
  6. Android浏览器Browser二次开发(二)支持WM
  7. Android入门笔记 - 数据存储 - 网络
  8. ReactNative调用android原生View
  9. android Server及IntentServer
  10. Android(安卓)Paging分页库的学习(一)——