android-我想把SQLite数据库里的数据显示到ListView上,代码有什么问题吗?

问题描述

我想把SQLite数据库里的数据显示到ListView上,代码有什么问题吗?

private ListView listview = null;

private List> list = new ArrayList>();

private SimpleAdapter simpleAdapter = null;
private ImageView iv;
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//适配器添加查询结果,并加到ListView中显示

simpleAdapter = new SimpleAdapter(this, getData(),
R.layout.item,

new String[] {"name", "waimao","time","contact" ,"image"},
new int[] { R.id.name, R.id.waimao,R.id.time,R.id.contact,R.id.imageView1 });

listview.setAdapter(simpleAdapter);

}
/**
*
* @return
*/

private List> getData() {

DBHelper dbHelper = new DBHelper(this);

SQLiteDatabase db = dbHelper.getReadableDatabase();

Cursor cursor = db.rawQuery("select * from post", null);

while (cursor.moveToNext()) {

Integer pid = cursor.getInt(cursor.getColumnIndex("id"));

String pname = cursor.getString(cursor.getColumnIndex("name"));

String waimao = cursor.getString(cursor.getColumnIndex("waimao"));
String time=cursor.getString(cursor.getColumnIndex("time"));
String contact=cursor.getString(cursor.getColumnIndex("contact"));
//从数据库中提取图片
byte[] pimage=null;
pimage=cursor.getBlob(cursor.getColumnIndex("image"));
Bitmap imagebitmap=BitmapFactory.decodeByteArray(pimage, 0, pimage.length);
iv=(ImageView)findViewById(R.id.imageView1);
iv.setImageBitmap(imagebitmap);
//这里同样是查询,只不过把查询到的数据添加到list集合,可以参照ListView的用法

Map map = new HashMap();

map.put("id", pid); //获取_id

map.put("name", pname); //获取name

map.put("waimao", waimao);
map.put("time", time);
map.put("contact", contact);
map.put("image",imagebitmap);
list.add(map);

        }
    return list;  

}

解决方案

把 iv=..... 和 iv.set.... 两行删去

解决方案二:

先调用cursor.moveToFirst()

解决方案三:

已经解决了,但还是感谢你们

时间: 2024-11-08 19:00:08

android-我想把SQLite数据库里的数据显示到ListView上,代码有什么问题吗?的相关文章

android 从ftp下载sqlite数据库后覆盖原有数据库,为什么不能运行?

问题描述 android 从ftp下载sqlite数据库后覆盖原有数据库,为什么不能运行? android的sqlite数据库,存在data/data/packagename/databases/下, 用org.apache.commons.net.ftp.FTPClient 上传数据库到ftp,再下载下来后,为什么提示损坏,打不开? 我测试过,ftp上的文件是正确的,下载也成功了,文件有更新,文件的大小和ftp上的也是一样的.但是为什么打不开呢?用sqlexpert打开sqlite,提示dat

app-关于android APP开发中SQLITE数据库的问题

问题描述 关于android APP开发中SQLITE数据库的问题 代码如下,首先请问我写的这段创建数据库的代码有没有错误?然后把这个类的文件放在哪里才对啊,目前程序一打开就是程序已经停止运行,APP的第一个ACTIVITY我设置的就是判断这个库中的某个表中有没有数据.我现在感觉就是程序打开,这个库还没有创建,是不存在的,所以运行不了.请大神指教下我.或者说怎么让APP一开始运行的第一步就是运行以下的代码来创建这个数据库.求指教. //数据库创建类 package com.captain.dao

js-我想要将数据库里的图片显示在页面上

问题描述 我想要将数据库里的图片显示在页面上 $(function(){ $.post("${ctx}/importJpg/queryRecommendBook.do",{},function(data) { $.each(data.recommendList, function(index, content) { $("#recommend_box_book").append("<div class='recommend_box_1'><

Sqlite数据库里插入数据的条数上限是500_SQLite

今天在向Sqlite数据库里插入数据的时候,报了这样一个错: 复制代码 代码如下: "too many terms in compound SELECT" 去Stackoverflow上查了一下,发现有人回答这个问题:链接 原来一次性向数据库里插入数据的条数不能太多,上限是500条.超出会报错. 解决方案就是只好分多次插入数据库了.

Android开发中使用SQLite 数据库

SQPte 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使用了 SQPte. SQPte 由以下几个组件组成:SQL 编译器.内核.后端以及附件.SQPte 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试.修改和扩展 SQPte 的内核变得更加方便. 图 1. SQPte 内部结构 开发中使用SQLite 数据库-android sqlite数据库"&g

详解Android数据存储—使用SQLite数据库

SQLite是Android自带的关系型数据库,是一个基于文件的轻量级数据库.Android提供了3种操作数据的方式,SharedPreference(共享首选项).文件存储以及SQLite数据库. SQLite数据库文件被保存在/data/data/package_name/databases目录下. 一.创建和删除表 1.创建表 创建表的SQL语句为: CREATE TABLE userInfo_brief ( id INTEGER PRIMARY KEY AUTOINCREMENT, na

如何将sqlite数据库移植到ARM开发板上

近段时间在学数据库,因为自身需求,所以注重研究了点嵌入式sqlite数据库, SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它, 它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统, 同时能够跟很多程序语言相结合,比如 Tcl.C#.PHP.Java等,还有ODBC接口, 同样比起Mysql.PostgreSQL这两款开源世界著名的

Android 通过ContentProvider向SQLite数据库插入数据不成功

问题描述 我自己写了一个ContentProvider,在执行向SQLiteDatabase数据库中插入一条记录时不成功,打出的log如下:11-27 02:00:11.696: ERROR/Database(997): android.database.sqlite.SQLiteException: table employee has no column named name: , while compiling: INSERT INTO employee(name) VALUES(?);

Android记事本开发之SQLite数据库实现

package com.jk.service; /** * 完成数据库的创建和版本更新 */ import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class D