Android 移动开发 新建数据库并从数据库中获取到图片,文字数据显示在Listview列表上
思路:
1.新建数据库(方法有很多,我这里借用SQLiteExpert可视化数据库建的)并添加相应字段字段得到.db文件
2.查询数据库内我们想要的数据(通过自己写的类NewDao中的静态方法查询)
3.显示在控件view上(通过适配器将listview中的内容显示出来,重写适配器中getView方法用”打气筒”inflate去填充listview.)
1.1
如图建如下数据库List和表actor
img (这里要注意一下我就弄了好久)类型用blob类型,然后点load导入图片点再点ok图片就放入表中了.
运行模拟器后打开Database管理视图找到data/data/项目名/database 通过update添加进来或更换如图
1.2也可以通过新建Mydatahelp去继承SQLiteOpenHelper 新建数据库和表
package com.example.android_autolist;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import androidx.annotation.Nullable;
public class Mydatahelp extends SQLiteOpenHelper {
public Mydatahelp( Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
//新建表
public void onCreate(SQLiteDatabase db) {
//id,tile, text , img与数据库中对应
String sql =("create table actor(id integer primary key autoincrement,title varchar(20),text varchar(50),img blob )");
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
2.1在查询数据库中先新建一个与数据库的字段对照的类(我建的是Actor)好去存放从数据库中获得的数据
package com.example.android_autolist;
/*
创建与数据库相对于的时段类型
- */
public class Actor {
private Integer id;
private String title;
private String text;
private byte[] img;
public byte[] getImg() {
return img; }
public void setImg(byte[] img) {
this.img = img; }
public Integer getId() {
return id; }
public void setId(Integer id) {
this.id = id; }
public String getTitle() {
return title; }
public void setTitle(String title) {
this