Android 在listview上显示sqlite数据
我必须在listview上显示保存的sqlite数据。但只有一列的数据就足够显示了。这是我的代码。我想获取“tarih”列的数据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
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;
}
}