Android SQLite数据库(一 )
来源:互联网 发布:js怎么定义数组的长度 编辑:程序博客网 时间:2024/05/29 09:57
创建SQLite数据库
一般来做法,采用继承SQLiteOpenHelp来实现数据库的创建和打开。继承类需要重写它的2个函数,分别为:
1.onCreate(SQLiteDatabase db)
该方法一般是生成数据库的。
2.onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)
数据库升级时被调用。
另外继承类还必须实现这样的一个构造方法:
public LoginSql(Context context,String databasename,CursorFactory factory,int version) { super(context,databasename,factory, version);// }
然后创建该类的实例,调用getWritableDatabase 返回一个SQLiteDatabase,该方法是以读写的方式开打数据库的,如果磁盘空间满了,则会报错。
或者调用 getReadableDatabase ,该方法同样返回一个SQLliteDatabase,该方法是先以读写方式打开数据库,如果磁盘空间满了,则会尝试以只读方式打开数据库。
得到了 SQLiteDatabase对象后,则可以对数据库进行相关的增删查改操作。
继承SQLiteOpenHelp类的代码如下:
import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.os.Build;/** * Created by Adminzz on 2016/5/27. */public class LoginSql extends SQLiteOpenHelper { public LoginSql(Context context) { super(context,"logindata",null, 1); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { String sql="create table login(_id integer primary key autoincrement, name text not null,password text not null)"; sqLiteDatabase.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { }}
Activity 代码:
import android.content.ContentValues;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends AppCompatActivity { private EditText name; private EditText password; private LoginSql sql; private SQLiteDatabase databasewrite; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.share); name=(EditText)findViewById(R.id.name); password=(EditText)findViewById(R.id.password); sql=new LoginSql(this); databasewrite=sql.getWritableDatabase(); } public void login(View view) { String n=this.name.getText().toString(); String p=this.password.getText().toString(); ContentValues contentValues=new ContentValues(); contentValues.put("name",n); contentValues.put("password",p); this.databasewrite.insert("login",null,contentValues); } public void show(View view) { Cursor cursor =this.databasewrite.query("login",new String[]{"name","password"},null,null,null,null,null); cursor.moveToFirst(); String n=cursor.getString(cursor.getColumnIndex("name")); String p=cursor.getString(cursor.getColumnIndex("password")); Toast.makeText(this,n+" "+p,Toast.LENGTH_SHORT).show(); }}
0 0
- Android SQLite数据库(一 )
- Android数据库 之 SQLite数据库(一)
- android之SQLite数据库应用(一)
- Android SQLite数据库操作(一)
- Android数据库(一)之SQLite命令
- Android Studio SQLite数据库应用(一)
- Android Studio SQLite数据库应用(一)
- SQLite数据库(一)
- 《一》Android 数据库 SQlite SQLiteOpenHelper
- Android SQLite数据库操作(一)
- Android SQLite (一) 数据库简介
- android 做着玩(一)简单记账软件 sqlite数据库开发
- Android 使用SQLiteDatabase操作SQLite数据库(一)
- Android 使用SQLiteDatabase操作SQLite数据库(一)
- Android 使用SQLiteDatabase操作SQLite数据库(一)
- Android中使用Sqlite数据库 (一) 建表
- Android SQLite数据库创建和使用实战(一)
- android对SQLite数据库进行操作(一)SQL语句
- 常用网站
- vertica-console
- Python学习 (六 面向对象高级编程)
- Android 序列化
- 折叠
- Android SQLite数据库(一 )
- JSP脚本 9大内置对象
- hdu 3400(三分)
- 图解SQL的Join
- TableLayout和TableRow注意事项
- 浅谈crl(转)
- LaTex编辑器LyX 维基教程
- centos6.5 安装mongodb 服务端
- android 命令行签名apk