Android 从联机数据库检索今天的数据
我是kinvey的新手,我想从今天存储的在线数据库中获取结果,我希望我的应用程序每10秒刷新一次 目前,我可以从在线数据库中获得结果,并以简单的形式显示出来,下面是代码Android 从联机数据库检索今天的数据,android,mysql,eclipse,kinvey,Android,Mysql,Eclipse,Kinvey,我是kinvey的新手,我想从今天存储的在线数据库中获取结果,我希望我的应用程序每10秒刷新一次 目前,我可以从在线数据库中获得结果,并以简单的形式显示出来,下面是代码 public void getData(String sensorid){ AsyncAppData<Sensor> mySensors = myJavaClient.appData("tdSensorData", Sensor.class); mySensors.getEnt
public void getData(String sensorid){
AsyncAppData<Sensor> mySensors = myJavaClient.appData("tdSensorData", Sensor.class);
mySensors.getEntity("5514e7c06356be824801c207",new KinveyClientCallback<Sensor>(){
@Override
public void onFailure(Throwable arg0) {
Toast.makeText(getApplicationContext(),arg0.getMessage(),Toast.LENGTH_LONG).show();
}
@Override
public void onSuccess(Sensor sensor) {
String times = sensor.getDatetime();
System.out.print(times);
float f1 = Float.parseFloat(sensor.getSensorr1());
String sens1 = Float.toString(f1);
Senso1.setText(sens1);
float f2 = Float.parseFloat(sensor.getSensorr2());
String sens2 = Float.toString(f2);
Senso2.setText(sens2);
float f3 = Float.parseFloat(sensor.getSensorr3());
String sens3 = Float.toString(f3);
Senso3.setText(sens3);
temper.setText(sensor.getTemp()+ " " + "°C");
}
});
}
下面是我的在线数据库中的数据示例
{"_id":"51a71254d06fdbee04000653","DATETIME":"2013-05-23T11:16:34Z","MAC":"0013a200407e0086","SENSOR_1":"91.19","SENSOR_2":"19.093333333333334","SENSOR_3":"439.3097042968143","SENSOR_4":"0.0","TEMP":"-17","BAT":"47","_acl":{"creator":"kid_VPuam4pfqf"},"_kmd":{"lmt":"2013-05-30T08:48:20.335Z","ect":"2013-05-30T08:48:20.335Z"}},{"_id":"51a71255d06fdbee04000654","DATETIME":"2013-05-23T11:17:33Z","MAC":"0013a200407e0086","SENSOR_1":"91.19","SENSOR_2":"19.093333333333334","SENSOR_3":"494.4776331634671","SENSOR_4":"0.0","TEMP":"-17","BAT":"47","_acl":
谢谢你的帮助 检查以下链接并修改代码 一, 二, 三,
检查以下代码,每10秒刷新一次数据 首先为处理程序声明一个全局变量,以从线程更新UI控件,如下所示
Handler mHandler = new Handler();
现在创建一个线程,并使用while循环使用线程的sleep方法定期执行任务
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
try {
Thread.sleep(10000);
mHandler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
// Write your code here to update the UI.
}
});
} catch (Exception e) {
// TODO: handle exception
}
}
}
}).start();
检查此链接
它有这样的例子
Date.compareTo()
Date.before(), Date.after() and Date.equals()
Calender.before(), Calender.after() and Calender.equals()
[那么什么exacty不起作用呢?我无法获取今天日期的数据,也无法刷新应用程序以获取10秒前存储的数据。您只需将您的日期时间与今天的日期进行比较即可。@JigneshJain如果您有兴趣,请提供一个例子,好吗?@jignesh我已经发现了这些链接,目前我很好剩下的就是让我的应用程序每10秒刷新一次最新的结果。要每10秒刷新一次数据,请检查我为您更新的代码。
Date.compareTo()
Date.before(), Date.after() and Date.equals()
Calender.before(), Calender.after() and Calender.equals()