我正在使用离子库从php web服务下载json对象响应。 我这样用它:
bool (__fastcall fun)(float par1, float par2)
{
return (par1 == par2) ? true : false;
}
bool (__fastcall *newFun())(std::string str)
{
//...
return fun;
}
现在我想问两个问题:
如何以良好的方式显示“请稍候”和进度条?进度条应该出现,然后在达到服务器响应时消失。
如何解析我得到的json?我已经记录了我的结果
Log.v(“IonResult”,result.toString());
我可以看到响应,但是如何使用它并解析它并获取我想要的项目?
请帮忙,我知道这是一个基本问题,但我是Android的初学者,请帮助我改进。感谢。
答案 0 :(得分:0)
我最近开始使用Ion,所以我不确定这是否是最好的方法(如果你知道,请在这里发表评论!)。
所以,我正在使用回调将值返回给另一个类。
public interface ResponseCallback {
public void onSuccess(String result);
public void onError(String result);
}
我的代码中的一个例子:
public void getChats(final Context context, final String url,final ResponseCallback responseCallback) {
Ion.with(context)
.load(url)
.asString()
.setCallback(new FutureCallback<String>() {
@Override
public void onCompleted(Exception e, String result) {
if (e != null) {
if (responseCallback != null) {
responseCallback.onError(e.toString());
}
Toast.makeText(context, "Error loading chat list.", Toast.LENGTH_SHORT);
return;
}
if (responseCallback != null) {
responseCallback.onSuccess(result);
}
}
});
}
因此,当我调用getChats()时,我实现了ResponseCallback方法。我希望它有所帮助,即使我认为还有更好的方法。