为什么一运行就崩掉了,编译没错
private String user;
private String privilege;
private String[] kekongfangjian;
private PrivilegeHelper ph;
private SQLiteDatabase db;
ph = new PrivilegeHelper(ControlActivity.this,"Privilege.db",null,1);
db = ph.getWritableDatabase();
Cursor cursor = db.query("privilege_table",new String[]{"id","user","privilege"},"id=?",new String[]{"1"},null,null,null);
while (cursor.moveToNext()){
user = cursor.getString(cursor.getColumnIndex("user"));
privilege = cursor.getString(cursor.getColumnIndex("privilege"));
}
String[] strs=privilege.split("@");
System.arraycopy(strs,4,kekongfangjian,0,strs.length-4);
db.close 打开数据库使用结束要关闭
查一下错误信息 如果见表错误 会告诉你找不到这个表 建库失败会告诉你 没有这个库 查询的话 要么是下标越界异常 要么是 找不到这个字段 具体看一下你的错误信息
我最近没事也在玩android 但是我喜欢封装起来 这样代码看起来舒服点
/**
* 添加书籍信息
* @param city
* @return
*/
public Integer addCity(City city){
db.beginTransaction();;
try{
db.execSQL("INSERT INTO city VALUES(NULL,?,?,?,?,?,?,?,?,?)",city.toArrObject());
db.setTransactionSuccessful();
return 1;
}catch (Exception e){
Log.e("loginService-add",e.toString());
}finally{
db.endTransaction();
}
return 0;
}
/**
* 根据小说分类查询
* @param bookClass
* @return
*/
public List<City> findListCity(String bookClass){
List<City> list= new ArrayList<City>();
db.beginTransaction();
try{
String sql = "select * from city WHERE bookClass = ?";
Cursor cursor = db.rawQuery(sql,new String[]{bookClass});
db.setTransactionSuccessful();
for (cursor.moveToFirst(); !(cursor.isAfterLast()); cursor.moveToNext()) {
City ct = new City();
ct.saveArrObject(cursor);
list.add(ct);
}
return list;
}catch (Exception e){
e.printStackTrace();
return list;
} finally {
db.endTransaction();
}
}
/**
* 根据小说url查询
* @param bookUrl
* @return
*/
public City findURLCity(String bookUrl){
db.beginTransaction();
try{
String sql = "select * from city WHERE bookUrl = ?";
Cursor cursor = db.rawQuery(sql,new String[]{bookUrl});
db.setTransactionSuccessful();
if (cursor.moveToNext()) {
City ct = new City();
ct.saveArrObject(cursor);
return ct;
}
}catch (Exception e){
e.printStackTrace();
return null;
} finally {
db.endTransaction();
}
return null;
}
/**
* 释放数据库资源
*/
public void closeDB(){
db.close();;
}