使用getter和setter发送SELECT查询数据时,Sqlite很困惑

时间:2017-02-06 15:09:31

标签: android sqlite

在sqlite上使用getter和setter时很少混淆,因为我是sqlite的新手,我觉得它非常复杂。我的数据库中有各种数据,我想将这些数据发送到另一个类。我怎样才能做到这一点?我尝试了类似下面的东西,但我卡住了,我不知道另一个代码会是什么?有人帮帮我!!

Encap.java

public class Encap {
int _id;
String _phoneno;
String _Msg;
int _year;
int _month;
int _day;
int _hour;
int _minute;

public int get_id() {
    return _id;
}

public void set_id(int _id) {
    this._id = _id;
}

public String get_phoneno() {
    return _phoneno;
}

public void set_phoneno(String _phoneno) {
    this._phoneno = _phoneno;
}

public String get_Msg() {
    return _Msg;
}

public void set_Msg(String _Msg) {
    this._Msg = _Msg;
}

public int get_year() {
    return _year;
}

public void set_year(int _year) {
    this._year = _year;
}

public int get_month() {
    return _month;
}

public void set_month(int _month) {
    this._month = _month;
}

public int get_day() {
    return _day;
}

public void set_day(int _day) {
    this._day = _day;
}

public int get_hour() {
    return _hour;
}

public void set_hour(int _hour) {
    this._hour = _hour;
}

public int get_minute() {
    return _minute;
}

public void set_minute(int _minute) {
    this._minute = _minute;
}

}

AppalaHelperAdapter.java

  public List<Encap> getAll(){
    List<Encap> Encapli=new ArrayList<Encap>();
    try{
        SQLiteDatabase db=appalaHelper.getWritableDatabase();
        String[] columns={appalaHelper.UID,appalaHelper.PHONE_NUMBER,appalaHelper.MESSAGE,appalaHelper.YEAR,appalaHelper.MONTH,appalaHelper.DAY,appalaHelper.HOUR,appalaHelper.MINUTE};
        Cursor cursor=db.query(AppalaHelper.TABLE,columns,null,null,null,null,null);
        Encap encap=new Encap();
        while (cursor.moveToNext()){
            encap.set_id(cursor.getInt(cursor.getColumnIndex(appalaHelper.UID)));
            encap.set_phoneno(cursor.getString(cursor.getColumnIndex(appalaHelper.PHONE_NUMBER)));
            encap.set_Msg(cursor.getString(cursor.getColumnIndex(appalaHelper.MESSAGE)));
            encap.set_year(cursor.getInt(cursor.getColumnIndex(appalaHelper.YEAR)));
            encap.set_month(cursor.getInt(cursor.getColumnIndex(appalaHelper.MONTH)));
            encap.set_day(cursor.getInt(cursor.getColumnIndex(appalaHelper.DAY)));
            encap.set_hour(cursor.getInt(cursor.getColumnIndex(appalaHelper.HOUR)));
            encap.set_minute(cursor.getInt(cursor.getColumnIndex(appalaHelper.MINUTE)));

            Encapli.add(encap);
        }
    }catch (Exception ex){}
    return Encapli;
}

现在,上面的代码是否正确?我如何从anotherClass调用它?

Another.class //我需要数据库中的数据

//I dont know how the List<Encap> are called.
//I only know to  call single values like String data=appalaHelperAdapter.getAll(); and use the return string data to other

先谢谢

2 个答案:

答案 0 :(得分:1)

我还没有阅读你们所有的代码,但是你正在读取数据库,对吗? 然后

SQLiteDatabase db=appalaHelper.getWritableDatabase();

应该是

SQLiteDatabase db=appalaHelper.getReadableDatabase();

答案 1 :(得分:1)

如果AppalaHelperAdapter是您的数据库类,您只需创建此类的对象并variable = new AppalaHelperAdapter(context);,然后您只需调用相关方法。