目录

SQLite简单用法介绍     

使用 SQL 操作数据库

     添加数据的方法如下:

    更新数据的方法如下:

   删除数据的方法如下:   

   查询数据的方法如下:  

本地实现登陆注册效果图:

实现代码


  • SQLite简单用法介绍     


    SQLite基本用法很简单,继承SQLiteOpenHelper 中有两个抽象方法,分别是onCreate()和 onUpgrade(),我们必须在自己的帮助类里面重写这两个方法,然后分别在这两个方法中去实现创建、升级数据库的逻辑。

SQLiteOpenHelper 中 还 有 两 个 非 常 重 要 的 实 例 方 法 , getReadableDatabase() 和getWritableDatabase()。

  • 使用 SQL 操作数据库


     

     添加数据的方法如下:

     db.execSQL("insert into Book (name, author, pages, price) values(?, ?, ?, ?)",new String[] { "The Da Vinci Code", "Dan Brown", "454", "16.96" });     db.execSQL("insert into Book (name, author, pages, price) values(?, ?, ?, ?)",new String[] { "The Lost Symbol", "Dan Brown", "510", "19.95" });


    更新数据的方法如下:

    db.execSQL("update Book set price = ? where name = ?", new String[] { "10.99","The Da Vinci Code" });


   删除数据的方法如下:
   

 db.execSQL("delete from Book where pages > ?", new String[] { "500" });


   查询数据的方法如下:
  

  db.rawQuery("select * from Book", null);
  • 本地实现登陆注册效果图:


     

 

 

  • 实现代码


     

 

OpenHelper类

 

public class OpenHelper extends SQLiteOpenHelper {    //建表语句    public static final String CREATE_USER = "create table User ("            + "id integer primary key autoincrement, "            + "username text, "            + "userpwd text)";    public OpenHelper(Context context, String name, CursorFactory factory,                      int version) {        super(context, name, factory, version);        // TODO Auto-generated constructor stub    }    @Override    public void onCreate(SQLiteDatabase db) {        // TODO Auto-generated method stub        db.execSQL(CREATE_USER);//创建用户表    }    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        // TODO Auto-generated method stub    }}
SqliteDB类:

 

public class SqliteDB {    /**     * 数据库名     */    public static final String DB_NAME = "sqlite_dbname";    /**     * 数据库版本     */    public static final int VERSION = 1;    private static SqliteDB sqliteDB;    private SQLiteDatabase db;    private SqliteDB(Context context) {        OpenHelper dbHelper = new OpenHelper(context, DB_NAME, null, VERSION);        db = dbHelper.getWritableDatabase();    }    /**     * 获取SqliteDB实例     * @param context     */    public synchronized static SqliteDB getInstance(Context context) {        if (sqliteDB == null) {            sqliteDB = new SqliteDB(context);        }        return sqliteDB;    }    /**     * 将User实例存储到数据库。     */    public int  saveUser(User user) {        if (user != null) {           /* ContentValues values = new ContentValues();            values.put("username", user.getUsername());            values.put("userpwd", user.getUserpwd());            db.insert("User", null, values);*/            Cursor cursor = db.rawQuery("select * from User where username=?", new String[]{user.getUsername().toString()});            if (cursor.getCount() > 0) {                return -1;            } else {                try {                    db.execSQL("insert into User(username,userpwd) values(?,?) ", new String[]{user.getUsername().toString(), user.getUserpwd().toString()});                } catch (Exception e) {                    Log.d("错误", e.getMessage().toString());                }                return 1;            }        }        else {            return 0;        }    }    /**     * 从数据库读取User信息。     */    public List loadUser() {        List list = new ArrayList();        Cursor cursor = db                .query("User", null, null, null, null, null, null);        if (cursor.moveToFirst()) {            do {                User user = new User();                user.setId(cursor.getInt(cursor.getColumnIndex("id")));                user.setUsername(cursor.getString(cursor                        .getColumnIndex("username")));                user.setUserpwd(cursor.getString(cursor                        .getColumnIndex("userpwd")));                list.add(user);            } while (cursor.moveToNext());        }        return list;    }    public int Quer(String pwd,String name)    {        HashMap hashmap=new HashMap();        Cursor cursor =db.rawQuery("select * from User where username=?", new String[]{name});       // hashmap.put("name",db.rawQuery("select * from User where name=?",new String[]{name}).toString());        if (cursor.getCount()>0)        {            Cursor pwdcursor =db.rawQuery("select * from User where userpwd=? and username=?",new String[]{pwd,name});            if (pwdcursor.getCount()>0)            {                return 1;            }            else {                return -1;            }        }        else {            return 0;        }    }}
User类:

 

package model;/** * Created by Administrator on 2015/11/10. */public class User {    private int id;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getUserpwd() {        return userpwd;    }    public void setUserpwd(String userpwd) {        this.userpwd = userpwd;    }    private String username;    private String userpwd;}

 

LoginActivity:
package activity;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import com.example.administrator.sqlitetest.R;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import model.SqliteDB;import model.User;public class LoginActivity extends AppCompatActivity {    private Button reg;    private Button login;    private EditText count;    private EditText pwd;    private TextView state;    private List userList;    private List dataList = new ArrayList<>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_login);        reg= (Button) findViewById(R.id.regin);        login= (Button) findViewById(R.id.login);        count= (EditText) findViewById(R.id.count);        pwd= (EditText) findViewById(R.id.pwd);        state= (TextView) findViewById(R.id.state);        reg.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                String name=count.getText().toString().trim();                String pass=pwd.getText().toString().trim();                User user=new User();                user.setUsername(name);                user.setUserpwd(pass);             int result=SqliteDB.getInstance(getApplicationContext()).saveUser(user);                if (result==1){                    state.setText("注册成功!");                }else  if (result==-1)                {                    state.setText("用户名已经存在!");                }                else                {                    state.setText("!");                }            }        });        login.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                String name=count.getText().toString().trim();                String pass=pwd.getText().toString().trim();                //userList=SqliteDB.getInstance(getApplicationContext()).loadUser();                int result=SqliteDB.getInstance(getApplicationContext()).Quer(pass,name);                if (result==1)                {                        state.setText("登录成功!");                }                else if (result==0){                    state.setText("用户名不存在!");                }                else if(result==-1)                {                    state.setText("密码错误!");                }/*                for (User user : userList) {                    if (user.getUsername().equals(name))                    {                        if (user.getUserpwd().equals(pass))                        {                            state.setText("登录成功!");                        }else {                            state.setText("密码错误!");                        }                    }                    else {                        state.setText("用户名不存在!");                    }                }*/            }        });    }}

 

 

 

 

 

 

 

 

 

更多相关文章

  1. 收藏老罗的----------Android应用程序组件Content Provider简要
  2. android AQuery框架执行回调 AjaxCallback
  3. Android图像处理简介の图像存储和元数据
  4. 谷歌官方Android应用架构库——ViewModel
  5. Android中使用SQLiteOpenHelper管理SD卡中的数据库
  6. 如何在Android(安卓)Quick Search Box中添加自己的app,按照我的意
  7. Android(安卓)SQLite数据库操作
  8. Android(安卓)Databinding数据绑定框架
  9. android学习日记13--数据存储之ContentProvide

随机推荐

  1. Android(安卓)Service和广播联合更新UI的
  2. Android使用Https请求服务器,信任所有证书
  3. Android发布项目到JCenter
  4. Android制作update.zip
  5. android 开启新的task
  6. Unity For Android(安卓)iOS 的本地推送
  7. android ViewGroup删除子视图时应该注意
  8. android ndk 编程总结
  9. Android(安卓)7.0 Launcher3的启动和加载
  10. Android(安卓)ViewPager不可滑动