我正在使用 android 排球。当我在 github https://github.com/evancharlton/folly上研究这个例子时。该项目为查询json提供了完美的解决方案。
现在问题来了。如果我用另一个替换 json url,那么获取似乎不起作用!
我知道不同的 jsonws 需要不同的解析工作,所以我非常简化了代码。像这样。
public class MainActivity extends SherlockFragmentActivity {
/**
* Called when the activity is first created.
*/
private ViewPager pager;
private PagerSlidingTabStrip tabs;
private MyPagerAdapter adapter;
private String url = "http://konachan.com/post.json?limit=1";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TextView txt = (TextView) findViewById(R.id.text);
txt.setText("initial");
RequestQueue queue = Volley.newRequestQueue(this);
JsonObjectRequest jsObjRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
public void onResponse(JSONObject response) {
txt.setText("somethinghappend");
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// TODO Auto-generated method stub
Log.e("wtf", error.toString()) ;
}
});
queue.add(jsObjRequest);
}
}
如您所知,我删除了有关 json 内容的所有内容,但这样做只是为了弄清楚为什么代码出错的原因只有一个更改:url
为了清楚起见:(我对多链接没有足够的声誉,所以使用评论 insdead)当我将 url 设置为(评论 1)时,我的 TextView 成功更改了他的文本(这是来自 github 的示例项目中使用的 json,虽然这个是毫无意义的信息,因为我从示例中构建了非常不相关的代码)
但是当我将地址切换到(评论 2)时,我的 TextView 没有任何反应!(这是我真正需要使用的 json)
是的,两个 json 都被正确地提取和解析并显示在 firefox 中(没有任何类型的代理),所以我认为 json 和网络没有任何问题。事实上,我认为唯一的区别是它们是不同的 jsons.... 有 2 个不同的 url....
现在我向你们寻求帮助,怎么可能?什么都没有改变,但只有一个更小的 json .. 让一切都坏了?(是关于超时问题吗?但两者都在 Firefox 中加载得非常快......而且显然工作的一个包含比不工作的多得多的字节......)
错误记录 410 错误。页面消失了?!但它在 firefox 中仍然存在......而其他 json 在两种环境(firefox 和应用程序)中都有效