android如何将从数据库读取的数据显示在listview中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android如何将从数据库读取的数据显示在listview中相关的知识,希望对你有一定的参考价值。

本地数据就用ormlite-android-4.19.jar和ormlite-core-4.19.jar 可以帮助你管理本地数据,网络上的数据应该要后台做接口让你去调用,adapter可以写一个方法addpendList或者setList,这两个方法都是控制当前adapter持有的list的,adapter可以持有这个list并且给每个item设置布局。

本地得到的数据就是List,如果是服务器的数据就是JSON格式,可以用JSONUtil.java之类的去解析然后获取list,不是list的数据就直接res.getString("name");

ListView.SetAdapter();就可以设置adapter了,然后adapter如果有数据就会填充List

刷新的话是adapter.notifyDataSetChanged();

本地数据就用ormlite-android-4.19.jar和ormlite-core-4.19.jar 可以帮助你管理本地数据,网络上的数据应该要后台做接口让你去调用,adapter可以写一个方法addpendList或者setList,这两个方法都是控制当前adapter持有的list的,adapter可以持有这个list并且给每个item设置布局。

本地得到的数据就是List,如果是服务器的数据就是JSON格式,可以用JSONUtil.java之类的去解析然后获取list,不是list的数据就直接res.getString("name");

ListView.SetAdapter();就可以设置adapter了,然后adapter如果有数据就会填充List

刷新的话是adapter.notifyDataSetChanged();

参考技术A final SimpleAdapter adapter = new SimpleAdapter(this, getData(),
R.layout.mainlayout, new String[] "text", "time", "image" ,
new int[] R.id.PL_TextView01, R.id.PL_TextView02,
R.id.PL_ImageView01 );
lv.setAdapter(adapter);

private List<Map<String, Object>> getData()
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();

Cursor cur = DR.query("DB", new String[] "text", "time" , null,
null, null, null, "time desc");
while (cur.moveToNext())
for (int i = 0; i < cur.getCount(); i++)
cur.moveToPosition(i);
String text = cur.getString(0);
String time = cur.getString(1);

map = new HashMap<String, Object>();

map.put("text", text);
map.put("time", time);
map.put("image", R.drawable.ic_menu_close_clear_cancel);
list.add(map);



return list;


我是使用SimpleAdapter 作为listview的适配器 通过数据的query方法 将数据放入listview本回答被提问者采纳

pyqtgraph:如何在 00:00 时间之前不显示时间序列(使用 AxisItem)

【中文标题】pyqtgraph:如何在 00:00 时间之前不显示时间序列(使用 AxisItem)【英文标题】:pyqtgraph: how to do not display time series before 00:00 time (using AxisItem) 【发布时间】:2015-06-16 08:41:53 【问题描述】:

如何显示从 00:00 开始的时间轴而不显示 00:00 之前的时间轴?图表将显示从 sersor 读取的实时数据。它将从 00:00(数据到达的时间)开始在图表的最右侧绘制数据,并随着数据的到达向左滑动。所以我想摆脱 00:00 之前的时间轴值? 感谢您的所有建议。

from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg
from PySide.QtCore import QTime, QTimer
from collections import deque

t = QTime()
t.start()
data = deque()
class TimeAxisItem(pg.AxisItem):
def tickStrings(self, values, scale, spacing):
    return [QTime().addMSecs(value).toString('mm:ss') for value in values]

app = QtGui.QApplication([])
win = pg.GraphicsWindow()
win.resize(1000,600)
print type(win)
axis = TimeAxisItem('bottom')
plot = win.addPlot(title='Timed data',axisItems='bottom':axis,enableMenu=False)
curve = plot.plot()

now = 0
timeStart = -15000
minX =-15000
i = 0
def update():
global i, plot, curve, data,minX,now,timeStart
time = t.elapsed()
data.append('x': time, 'y': np.random.randint(0, 100))
timeStart += 1
x = [item['x'] for item in data]
y = [item['y'] for item in data]
if i == 0:
            difference = x[-1]
            i = 1
else:
            difference = x[-1] - x[-2]
minX += difference
plot.setXRange(minX,x[-1])
curve.setData(x=x, y=y)
tmr = QTimer()
tmr.timeout.connect(update)
tmr.start(100)
if __name__ == '__main__':
    import sys
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
    QtGui.QApplication.instance().exec_()

【问题讨论】:

【参考方案1】:

你能为小于 0 的任何东西提供一个空白字符串吗?

def tickStrings(self, values, scale, spacing):
    return ['' if value < 0 else 
            QTime().addMSecs(value).toString('mm:ss') for value in values]

【讨论】:

以上是关于android如何将从数据库读取的数据显示在listview中的主要内容,如果未能解决你的问题,请参考以下文章

android 存在数据库中的动态图片,如何读取出来,显示在ImageView中

如何将从 csv 文件中读取的数据帧打印成字典格式?

android开发: EditText中插入的相册图片如何保存在数据库里,查看的时候又如何读取?

android 怎么读取数据库中的数据?

如何在android中利用shared preferences存储和读取数据

Android HTTPS 客户端不从套接字读取数据