求助:Android单击读取按键后如何循环读取并解析JSON数据?
ddlgg 2017-12-15 02:05:54 各位大神:
大家好,请教下Android单击读取按键后如何循环读取并解析JSON数据?
1)我参考https://www.cnblogs.com/smyhvae/p/4063452.html这边文章里的方法,能读取并解析JSON数据,但要一次一次单击,如何实现单击一次按键后,按一定周期循环读取并解析JSON数据?
2)试下通过如 下方式,实现单击一次按键后,循环读取并解析JSON数据,但报错。
private Handler handler = new Handler();
public Runnable task = new Runnable() {
public void run() {
String path = "http://XXXXXX";//JSON数据网址
String jsonString = HttpUtils.getJsonContent(path);//从网络获取数据
Person person = GsonTools.getPerson(jsonString, Person.class);//解析json数据
Log.i(TAG, person.toString());//---------------------------报错,Log显示红色。
System.out.println(person.toString());---------------------------报错
handler.postDelayed(this, 1000);
}
};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.user);
btnOpen = (Button) findViewById(R.id.open);
btnOpen.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
handler.postDelayed(task,1000);//延迟调用
}
});
调试错误:
12-15 14:03:05.264 5588-5588/com.example.foolishfan.user_v10 W/System: ClassLoader referenced unknown path: /system/framework/tcmclient.jar
12-15 14:03:05.300 5588-5588/com.example.foolishfan.user_v10 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.foolishfan.user_v10, PID: 5588
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.foolishfan.user_v10.Person.toString()' on a null object reference
at com.example.foolishfan.user_v10.User$1.run(User.java:39)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5438)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
12-15 14:03:05.372 5588-5588/com.example.foolishfan.user_v10 I/Process: Sending signal. PID: 5588 SIG: 9