Android的SQLite的这个数据库操作有问题么

为什么一运行就崩掉了,编译没错

        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();;
    }