首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

android中怎么进行sqlite操作

2013-10-31 
android中如何进行sqlite操作小弟最近开始android的学习,进行到了sqlite这一环节了。。可是视频中的例子我怎

android中如何进行sqlite操作
小弟最近开始android的学习,进行到了sqlite这一环节了。。
可是视频中的例子我怎么也做不出来,不知道是不是我用模拟器的原因。。。
求各位大大给一个完整的例子。。
包括 包括 增删改查等操作。。。
网上搜的前几页的就不要发了,我也搜过。看起来太难理解了。。


public class SQLITEPage extends RelativeLayout {

Activity activity;
Context context;
Context othercontext;

TextView showresult;

Button insertbtn;
Button updatebtn;
Button selectbtn;
Button deletebtn;

public CopyOfShowPage(Context context) {
super(context);
this.context = context;
this.activity =(Activity)activity;
init();
}

private void init() {
// TODO Auto-generated method stub
MyListen myListen = new MyListen();

showresult=new TextView(context);
showresult.setBackgroundColor(Color.WHITE);
showresult.setId(99);
showresult.setText("空");
LayoutParams lpshowresult = new LayoutParams(-1, -2);
lpshowresult.addRule(RelativeLayout.ALIGN_PARENT_TOP);

insertbtn = new Button(context);
insertbtn.setText("插入");
insertbtn.setId(100);
insertbtn.setBackgroundColor(Color.YELLOW);
LayoutParams lpinsertbtn = new LayoutParams(-1, -2);
lpinsertbtn.addRule(RelativeLayout.BELOW, 99);
insertbtn.setOnClickListener(myListen);

updatebtn = new Button(context);
updatebtn.setText("更新");
updatebtn.setId(101);
updatebtn.setBackgroundColor(Color.YELLOW);
LayoutParams lpupdatebtn = new LayoutParams(-1, -2);
lpupdatebtn.addRule(RelativeLayout.BELOW, 100);
updatebtn.setOnClickListener(myListen);

selectbtn = new Button(context);
selectbtn.setText("查询");
selectbtn.setId(102);
selectbtn.setBackgroundColor(Color.YELLOW);
LayoutParams lpselectbtn = new LayoutParams(-1, -2);
lpselectbtn.addRule(RelativeLayout.BELOW, 101);
selectbtn.setOnClickListener(myListen);


deletebtn = new Button(context);
deletebtn.setText("删除");
deletebtn.setId(103);
deletebtn.setBackgroundColor(Color.YELLOW);
LayoutParams lpdeletebtn = new LayoutParams(-1, -2);
lpdeletebtn.addRule(RelativeLayout.BELOW, 102);
deletebtn.setOnClickListener(myListen);

addView(showresult, lpshowresult);
addView(insertbtn, lpinsertbtn);
addView(updatebtn, lpupdatebtn);
addView(selectbtn, lpselectbtn);
addView(deletebtn, lpdeletebtn);
}

// 得到数据库
public SQLiteDatabase getDb() {
DBHelper dbhelper = new DBHelper(othercontext);
SQLiteDatabase db = dbhelper.getWritableDatabase();
return db;
}

// 增加
public void insert(SQLiteDatabase db, List<User> userlist) {
for (User user : userlist) {
ContentValues values = new ContentValues();
values.put("_id", user.get_id());
values.put("name", user.getName());
values.put("info", user.getInfo());
values.put("age", user.getAge());
db.insert(DBHelper.TABLE_NAME, null, values);
}
}

// 删除
public void delete(SQLiteDatabase db, List<Integer> idlist) {
for (Integer i : idlist) {
db.delete(DBHelper.TABLE_NAME, "id = ?", new String[] { i.toString() });
}
}

// 修改
public void update(SQLiteDatabase db, List<User> userlist) {
for (User user : userlist) {
ContentValues values = new ContentValues();
values.put("name", user.getName());
values.put("info", user.getInfo());
values.put("age", user.getAge());
db.update(DBHelper.TABLE_NAME, values, "_id=",
new String[] { Integer.toString(user.get_id()) });
}
}

// 查询
public List<User> queryAll(SQLiteDatabase db) {
ArrayList<User> list = new ArrayList<User>();
Cursor c = db.rawQuery("SELECT * FROM "+DBHelper.TABLE_NAME, null);
while (c.moveToNext()) {
for(int i=0;i<c.getColumnCount();i++){
System.out.print(c.getColumnName(i).toString()+":"+c.getString(i)+",");
}
System.out.println();
}
c.close();
return list;
}

class MyListen implements OnClickListener {

@Override
public void onClick(View v) {


// TODO Auto-generated method stub
System.out.println("点击了");
if (v == insertbtn) {
List<User> userlist = new ArrayList<User>();
userlist.add(new User(1, "name1", 20, "很简单1"));
userlist.add(new User(2, "name2", 20, "很简单2"));
SQLiteDatabase db = getDb();
insert(db, userlist);
showresult.setText("插入数据成功");
System.out.println("插入数据成功");
}else if(v == updatebtn) {
List<User> userlist = new ArrayList<User>();
userlist.add(new User(1, "name1update", 20, "很简单1更新"));
SQLiteDatabase db = getDb();
update(db, userlist);
showresult.setText("更新数据成功");
System.out.println("更新数据成功");
}else if(v == selectbtn) {

SQLiteDatabase db = getDb();
List<User> queryAll = queryAll(db);
for(User u:queryAll){
System.out.println(u.toString());
}
showresult.setText("查询数据成功");
System.out.println("查询数据成功");
}else if(v == deletebtn) {
List<Integer> numlist = new ArrayList<Integer>();
numlist.add(1);
SQLiteDatabase db = getDb();
delete(db, numlist);
showresult.setText("删除数据成功");
System.out.println("删除数据成功");
}else{
System.out.println("有数据");
}
}

}
}


[解决办法]
不知道你那一步出现问题。你也可以用真机测试。有第三方工具可以查看sqllite 里面的数据情况。

热点排行