Android中使用Sqlite数据库
2016-01-25 16:38
579 查看
上代码,慢慢解释。关键点:SQLiteOpenHelper,
注意点:SQLite和sql一样,修改删除返回的是修改的行数,如果需要外部应用调用而且需要实现自增,id需要用_id
==============================================================================================
public class dbhelp extends SQLiteOpenHelper{
public dbhelp(Context context) {
super(context, "mysql.db", null, 1);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase arg0) {
// TODO Auto-generated method stub
//"create table user(id integer primary key autoincrement,username varchar(20),password varchar(20))")
arg0.execSQL("create table user(id integer primary key autoincrement,username varchar(20),password varchar(20))");
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
}
===================================================================================================
数据库操作方法封装
public class server {
dbhelp dp;
String name="user";
public server(Context context) {
super();
this.dp = new dbhelp(context);
}
private static String dbname="user";
//public void creat(Context context){
//dp=new dbhelp(context, dbname, null, 1);
//}
public long add(User user){
SQLiteDatabase sql=dp.getReadableDatabase();
ContentValues values=new ContentValues();
values.put("username", user.getUsername());
values.put("password", user.getPassword());
String st="insert into user(username,password)";
//sql.execSQL(sql);
Long l=sql.insert("user", null, values);
return l;
}
public List<User> selectAll(){
List<User> list=new ArrayList<User>();
SQLiteDatabase sql=dp.getReadableDatabase();
Cursor sursor=sql.query("user", null, null, null, null, null, null);
while(sursor.moveToNext()){
User user=new User();
user.setUsername(sursor.getColumnName(sursor.getColumnIndex("username")));
user.setPassword(sursor.getColumnName(sursor.getColumnIndex("password")));
list.add(user);
}
return list;
//sql.query(table, columns, selection, selectionArgs, groupBy, having, orderBy)
}
public long update(User user){
ContentValues values=new ContentValues();
values.put("username", user.getUsername());
values.put("password", user.getPassword());
SQLiteDatabase sql=dp.getReadableDatabase();
Long l=(long) sql.update("user", values, "id=?", new String []{"1"});
return l;
}
//public long del(User user){
// SQLiteDatabase sql=dp.getReadableDatabase();
// sql.delete("user", whereClause, whereArgs)
// return 0;
//}
}
=================================================================================================
public class MainActivity extends Activity {
ListView listview;
TextView text_username;
EditText edit_username;
TextView text_password;
EditText edit_password;
Button button_add;
Button button_del;
Button button_update;
Button button_select;
server server;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
button_add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
User user=new User();
user.setPassword("123");
user.setUsername("小明");
server=new server(MainActivity.this);
Long l=server.add(user);
if(l>0){
Toast.makeText(MainActivity.this, "成功", 30000).show();
}
}
});
button_update.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
User user=new User();
user.setPassword("修改");
user.setUsername("修改");
server=new server(MainActivity.this);
Long l=server.update(user);
if(l>0){
Toast.makeText(MainActivity.this, "修改成功", 30000).show();
}
}
});
}
public void init(){
listview=(ListView) findViewById(R.id.listview);
text_username=(TextView) findViewById(R.id.text_username);
text_password=(TextView) findViewById(R.id.text_password);
edit_username=(EditText) findViewById(R.id.edit_username);
edit_password=(EditText) findViewById(R.id.edit_password);
button_add=(Button) findViewById(R.id.button_add);
button_del=(Button) findViewById(R.id.button_del);
button_update=(Button) findViewById(R.id.button_update);
button_select=(Button) findViewById(R.id.button_select);
}
}
注意点:SQLite和sql一样,修改删除返回的是修改的行数,如果需要外部应用调用而且需要实现自增,id需要用_id
==============================================================================================
public class dbhelp extends SQLiteOpenHelper{
public dbhelp(Context context) {
super(context, "mysql.db", null, 1);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase arg0) {
// TODO Auto-generated method stub
//"create table user(id integer primary key autoincrement,username varchar(20),password varchar(20))")
arg0.execSQL("create table user(id integer primary key autoincrement,username varchar(20),password varchar(20))");
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
}
===================================================================================================
数据库操作方法封装
public class server {
dbhelp dp;
String name="user";
public server(Context context) {
super();
this.dp = new dbhelp(context);
}
private static String dbname="user";
//public void creat(Context context){
//dp=new dbhelp(context, dbname, null, 1);
//}
public long add(User user){
SQLiteDatabase sql=dp.getReadableDatabase();
ContentValues values=new ContentValues();
values.put("username", user.getUsername());
values.put("password", user.getPassword());
String st="insert into user(username,password)";
//sql.execSQL(sql);
Long l=sql.insert("user", null, values);
return l;
}
public List<User> selectAll(){
List<User> list=new ArrayList<User>();
SQLiteDatabase sql=dp.getReadableDatabase();
Cursor sursor=sql.query("user", null, null, null, null, null, null);
while(sursor.moveToNext()){
User user=new User();
user.setUsername(sursor.getColumnName(sursor.getColumnIndex("username")));
user.setPassword(sursor.getColumnName(sursor.getColumnIndex("password")));
list.add(user);
}
return list;
//sql.query(table, columns, selection, selectionArgs, groupBy, having, orderBy)
}
public long update(User user){
ContentValues values=new ContentValues();
values.put("username", user.getUsername());
values.put("password", user.getPassword());
SQLiteDatabase sql=dp.getReadableDatabase();
Long l=(long) sql.update("user", values, "id=?", new String []{"1"});
return l;
}
//public long del(User user){
// SQLiteDatabase sql=dp.getReadableDatabase();
// sql.delete("user", whereClause, whereArgs)
// return 0;
//}
}
=================================================================================================
public class MainActivity extends Activity {
ListView listview;
TextView text_username;
EditText edit_username;
TextView text_password;
EditText edit_password;
Button button_add;
Button button_del;
Button button_update;
Button button_select;
server server;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
button_add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
User user=new User();
user.setPassword("123");
user.setUsername("小明");
server=new server(MainActivity.this);
Long l=server.add(user);
if(l>0){
Toast.makeText(MainActivity.this, "成功", 30000).show();
}
}
});
button_update.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
User user=new User();
user.setPassword("修改");
user.setUsername("修改");
server=new server(MainActivity.this);
Long l=server.update(user);
if(l>0){
Toast.makeText(MainActivity.this, "修改成功", 30000).show();
}
}
});
}
public void init(){
listview=(ListView) findViewById(R.id.listview);
text_username=(TextView) findViewById(R.id.text_username);
text_password=(TextView) findViewById(R.id.text_password);
edit_username=(EditText) findViewById(R.id.edit_username);
edit_password=(EditText) findViewById(R.id.edit_password);
button_add=(Button) findViewById(R.id.button_add);
button_del=(Button) findViewById(R.id.button_del);
button_update=(Button) findViewById(R.id.button_update);
button_select=(Button) findViewById(R.id.button_select);
}
}
相关文章推荐
- Android 中沉浸式状态栏实现
- Android ListView 几个重要属性
- iOS与PHP/Android AES128 ECB NoPadding加密
- android 震动的实现
- android 如何创建配置文件和读配置文件
- android 程序启动界面的短暂黑屏解决办法
- Android点击EditText之外地方隐藏键盘
- Android关于JavaScript与Native方法相互调用
- Android 的 AlarmManager 和 wakeLock联合使用
- PullToRefresh开源库
- Android遇到的那些坑
- Android通过Intent.ACTION_CLOSE_SYSTEM_DIALOGS监听Home按键事件
- [Android]自定义圆形图片
- 使用Android开源工具PullToRefresh实现上啦刷新下拉加载
- 使用RxBinding处理控件异步调用
- Android音谱
- [置顶] Android实现应用的增量更新\升级
- android AsyncTask使用注意事项以及总结
- Android LayoutInflater详解
- Android开发实现异步加载图片