小编给大家分享一下安卓工作室怎样获取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 =,(字符串,Mapfragment_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数据并显示到视图上