Android 在listview上显示sqlite数据

Android 在listview上显示sqlite数据,android,sqlite,android-listview,Android,Sqlite,Android Listview,我必须在listview上显示保存的sqlite数据。但只有一列的数据就足够显示了。这是我的代码。我想获取“tarih”列的数据 public class TarihDataSource { private SQLiteDatabase database; private DatabaseOlusturma dbOlustur; private String []allColumns = {"tarih","gunluknotu","resim"}; public TarihDataSour

我必须在listview上显示保存的sqlite数据。但只有一列的数据就足够显示了。这是我的代码。我想获取“tarih”列的数据

public class TarihDataSource {

private SQLiteDatabase database;
private DatabaseOlusturma dbOlustur;
private String []allColumns = {"tarih","gunluknotu","resim"};

public TarihDataSource(Context context) {
    dbOlustur = new DatabaseOlusturma(context);
}

public void open() throws SQLException {
    database = dbOlustur.getReadableDatabase();
}

public void close() {
    dbOlustur.close();
}

public List<TarihListHelper> getAllTarih() {
    List<TarihListHelper> tarihlistesi = new ArrayList<TarihListHelper>();
    Cursor cursor = database.query("gunluker", allColumns, null, null,
            null, null, null);
    cursor.moveToFirst();
    while (!cursor.isAfterLast()) {
        TarihListHelper comment = cursorToComment(cursor);
        tarihlistesi.add(comment);
        cursor.moveToNext();
    }
    // Make sure to close the cursor
    cursor.close();
    return tarihlistesi;
}

private TarihListHelper cursorToComment(Cursor cursor) {
    TarihListHelper comment = new TarihListHelper();
    comment.setTarih(cursor.getString(1));
    return comment;
  }

}
公共类TarihDataSource{
专用数据库;
私有数据库olusturma dbOlustur;
私有字符串[]allColumns={“tarih”、“gunluknotu”、“resim”};
公共TarihDataSource(上下文){
dbOlustur=新数据库olusturma(上下文);
}
public void open()引发SQLException{
database=dbOlustur.getReadableDatabase();
}
公众假期结束(){
dbOlustur.close();
}
公共列表getAllTarih(){
List tarihlisti=new ArrayList();
Cursor Cursor=database.query(“gunluker”),allColumns,null,null,
空,空,空);
cursor.moveToFirst();
而(!cursor.isAfterLast()){
TarihListHelper comment=cursorToComment(游标);
添加(注释);
cursor.moveToNext();
}
//确保关闭光标
cursor.close();
返回Tarihlisti;
}
私有TarihListHelper游标或注释(游标){
TarihListHelper comment=新的TarihListHelper();
comment.setTarih(cursor.getString(1));
回复评论;
}
}

这段代码有什么问题?

这段代码应该对您有所帮助

public List<TarihListHelper> getAllTarih()
{       
    List<TarihListHelper> tarihlistesi = new ArrayList<TarihListHelper>();

    Cursor cursor = database.query(DB_NAME, columns, null, null, null, null, null);

    while(cursor.moveToNext())
    {
        TarihListHelper tarihlistesi= cursorToComment(cursor);
        tarihlistesi.add(comment);


    }

    cursor.close();
    return tarihlistesi;
}
public List getAllTarih()
{       
List tarihlisti=new ArrayList();
Cursor Cursor=database.query(数据库名称、列、null、null、null、null、null);
while(cursor.moveToNext())
{
TarihListHelper Tarihlisti=光标或注释(光标);
添加(注释);
}
cursor.close();
返回Tarihlisti;
}
其中
columns
字符串[]
,它包含数据库表中所有列的
名称。

这样,您将获得所有列,然后您可以选择要从哪个列读取数据

希望这能有所帮助。

您只需在列表中添加一个适配器即可。在你的情况下,我认为一个简单的或自适应的是最好的

检查并删除。

公共类TarihDataSource{
专用数据库;
私有数据库olusturma dbOlustur;
私人最终语境;
私有字符串[]allColumns={“tarih”、“gunluknotu”、“resim”};
公共TarihDataSource(上下文_上下文){
上下文=_上下文;
dbOlustur=newdatabasehelper(上下文、数据库名称、null、数据库版本);
public void open()引发SQLException{
database=dbOlustur.getReadableDatabase();
}
公众假期结束(){
dbOlustur.close();
}
公共列表getAllTarih(){
List tarihlisti=new ArrayList();
Cursor Cursor=database.query(“gunluker”),allColumns,null,null,
空,空,空);
cursor.moveToFirst();
而(!cursor.isAfterLast()){
TarihListHelper comment=cursorToComment(游标);
添加(注释);
cursor.moveToNext();
}
//确保关闭光标
cursor.close();
返回Tarihlisti;
}
私有TarihListHelper游标或注释(游标){
TarihListHelper comment=新的TarihListHelper();
comment.setTarih(cursor.getString(1));
回复评论;
}
}

试试这个。

TarihListHelper data=cursor.getString(c.getColumnIndex(DB_COMMENT_COL));comments.add(data);//您将传递给ListView以显示数据的列表我不理解这一行。cursor.getString返回字符串类型。但是数据的类型是TarihListHelper TarihListHelper data=cursor.getType(cursor.getColumnIndex(“tarih”));这是给定错误。是否要发布日志?否。不接受。游标。getType(…)返回int。但我们已将getType返回的数据强制转换为TarihListHelper type。type将getType返回的数据强制转换为TarihListHelper
public class TarihDataSource {

private SQLiteDatabase database;
private DatabaseOlusturma dbOlustur;
private final Context context;
private String []allColumns = {"tarih","gunluknotu","resim"};

public TarihDataSource(Context _context) {
    context = _context;
    dbOlustur = new DataBaseHelper(context, DATABASE_NAME, null, DATABASE_VERSION);

public void open() throws SQLException {
    database = dbOlustur.getReadableDatabase();
}

public void close() {
    dbOlustur.close();
}

public List<TarihListHelper> getAllTarih() {
    List<TarihListHelper> tarihlistesi = new ArrayList<TarihListHelper>();
    Cursor cursor = database.query("gunluker", allColumns, null, null,
            null, null, null);
    cursor.moveToFirst();
    while (!cursor.isAfterLast()) {
        TarihListHelper comment = cursorToComment(cursor);
        tarihlistesi.add(comment);
        cursor.moveToNext();
    }
    // Make sure to close the cursor
    cursor.close();
    return tarihlistesi;
}

private TarihListHelper cursorToComment(Cursor cursor) {
    TarihListHelper comment = new TarihListHelper();
    comment.setTarih(cursor.getString(1));
    return comment;
  }

}