Android工作室怎样获取SQLite数据并显示到视图上

  介绍

小编给大家分享一下安卓工作室怎样获取SQLite数据并显示到视图上,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

我们在使用ListView的时候需要和数据进行绑定,那么问题来了,如何获取SQLite数据库中的数据并动态的显示到ListView当中呢?其实过程很简单:首先要获取SQLite数据(当然首先你要创建一个SQLite数据库并填写了一些数据),然后引入ListView控件,最后将数据和ListView绑定就好了。

一获取SQLite数据库中的数据

SQLite是一个轻量级的数据库,它能将数据保存到你的手机,但缺点是一旦软件卸载所有数据将一同被销毁。所以要根据自己的项目需要选择性的使用。下面要演示将SQLite中的数据提取出来。

首先定义一个类用来实例化数据库

public  class  initdate  {   public 才能Bitmap 位图;   public 才能;String 内容;   public 才能;String 数据;   public 才能;initdate  (Bitmap  Bitmap  String 上下文,String 时间){   ,,,this.bitmap =位图;   ,,,this.content =上下文;   ,,,this.data =时间;   ,,}   }

创建一个列表对象用来存储数据

List,列表=new ArrayList<的在();

获取SQLite中对应表的数据

, DBOpenHelper  helper =, new  DBOpenHelper (getActivity(),“数据库的名称“,,空,,1);//创建对象   ,,,SQLiteDatabase  db =, helper.getWritableDatabase ();   ,,,Cursor  c =, db.query(“表名,,,空,,空,,空,,空,,空,,null);   ,,,if  (c  !=, null ,,, c.getCount(),在=,1),{   ,,,,,while  (c.moveToNext ()), {   ,,,,,,,list.add (new  initdate (base64ToBitmap (c.getString (c.getColumnIndex(“字段名1“))),,c.getString (c.getColumnIndex(“字段名2“)),   ,,,,,,,,,,,c.getString (c.getColumnIndex(“字段3名“))));   ,,,,,}   ,,,,,c.close ();   ,,,,,db.close();//关闭数据库   ,,,}

base64ToBitmap方法用于将字符串类型转换成位图

, public  static  Bitmap  base64ToBitmap (String  base64info), {   ,,,byte [], bytes =, Base64.decode (Base64.DEFAULT base64info也);   ,,,return  BitmapFactory.decodeByteArray(0字节,还以为;bytes.length);   以前,,}

<强>二引入ListView控件

ListView的引入是比较简单的,我们可以直接将ListView控件拖拽到xml文件中即可。这里不过多介绍

, & lt;列表视图   ,,,android: id=癅 + id/lv_expense"   ,,,,   ,,,android: layout_width=癿atch_parent"   ,,,android: layout_height=皐rap_content"/祝辞

<强>三将数据和ListView绑定

首先将获取到的数据通过一个循环存放到地图对象中

, for  (int 小姐:=,0;,小姐:& lt;, list.size();,我+ +),{   ,,,,,Map<字符串,Object>, map =, new  HashMap<字符串,Object> ();   ,,,,,map.put (“image",, list.get(我).bitmap);   ,,,,,map.put (“category",, list.get(我).content);   ,,,,,map.put (“money",, list.get(我). data);   ,,,,,listitem.add(地图);   ,,,}      ,,,SimpleAdapter  adapter =, new  SimpleAdapter (getActivity ()   ,,,,,,,,列   ,,,,,,,,R.layout.fragment_one_item   ,,,,,,,,,new  String [] {“category",,“money",,“image"}   ,,,,,,,,,new  int [] {R.id.tv_expense_category, R.id.tv_expense_money,, R.id.image_expense});   ,,   ,,,ListView  ListView =,(视图),v.findViewById (R.id.lv_expense);   ,,,listView.setAdapter(适配器);      ,,,listView.setOnItemClickListener (new  AdapterView.OnItemClickListener(),{//设置监听器   ,,,,@Override   ,,,,,public  void  onItemClick (AdapterView<?祝辞,母公司,View 看来,,int 位置,,long  id), {   ,,,,,,,Map<字符串,Object>, map =,(字符串,Map), parent.getItemAtPosition(位置);   ,,,,,,,Toast.makeText (getActivity (),, map.get (“category") .toString (),, Toast.LENGTH_LONG),告诉();   ,,,,,}   ,,,});

fragment_one_item。null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Android工作室怎样获取SQLite数据并显示到视图上

Copyright © 2020-2023 feiqueyun.cn. All Rights Reserved. 肥雀云_南京肥雀信息技术有限公司版权所有 南京肥雀信息技术有限公司 苏ICP备16063723号-5