为什么我的JsonObjectRequest不工作? [英] Why is my JsonObjectRequest not working?
问题描述
我一直在摆弄这几天了。无法得到它的权利。 Android的工作室会不会让我这个错误编译。所以,我有这样的应用程序,其中我有两个标签和两个片段。一片段被称为新的,并且该片段获取JSON。但我无法得到正确的做到这一点。我已经上传了怎样的错误是这样,类文件的图片。你能帮帮我吗?
错误:无法解析构造JsonObjectRequest(INT,java.lang.String中,空......)
new_fragment.java
公共类new_fragment扩展片段{
私有静态最后弦乐ARG_PARAM1 =参数1;
私有静态最后弦乐ARG_PARAM2 =参数2;
私人字符串mParam1;
私人字符串mParam2;
私人VolleySingleton volleySingleton;
私人ImageLoader的ImageLoader的;
私人请求队列请求队列;
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
如果(getArguments()!= NULL){
mParam1 = getArguments()的getString(ARG_PARAM1)。
mParam2 = getArguments()的getString(ARG_PARAM2)。
}
volleySingleton = VolleySingleton.getsInstance();
请求队列= volleySingleton.getRequestQueue();
请求队列请求队列= VolleySingleton.getsInstance()getRequestQueue()。
JsonObjectRequest请求=新JsonObjectRequest(Request.Method.GET,http://10.0.8.152/json/new.json,空,
新Response.Listener<的JSONObject>(){
@覆盖
公共无效onResponse(JSONObject的响应){
的System.out.println(响应);
}
},
新Response.ErrorListener(){
@覆盖
公共无效onErrorResponse(VolleyError错误){
}
});
requestQueue.add(要求);
}
公共查看onCreateView(LayoutInflater充气,@Nullable的ViewGroup容器,@Nullable捆绑savedIntanceState){
setHasOptionsMenu(真正的);
查看布局= inflater.inflate(R.layout.new_fragment,集装箱,假);
返回布局;
}
@覆盖
公共无效onCreateOptionsMenu(功能菜单,MenuInflater充气){
// TODO自动生成方法存根
super.onCreateOptionsMenu(菜单,充气);
inflater.inflate(R.menu.ref_menu,菜单);
}
@覆盖
公共布尔onOptionsItemSelected(菜单项项){
//处理项目选择
开关(item.getItemId()){
案例R.id.refreshico:
//做s.th.
返回true;
默认:
返回super.onOptionsItemSelected(项目);
}
}
}
VolleySingleton
公共类VolleySingleton {
私有静态VolleySingleton sInstance = NULL;
私人ImageLoader的mImageLoader;
私人请求队列mRequestQueue;
私人VolleySingleton(){
mRequestQueue = Volley.newRequestQueue(appClass.getAppContext());
mImageLoader =新ImageLoader的(mRequestQueue,新ImageLoader.ImageCache(){
私人LruCache<字符串,位图>缓存=新LruCache<>((INT)(调用Runtime.getRuntime()maxMemory()/ 1024)/ 8);
@覆盖
公共位图getBitmap(字符串URL){
返回cache.get(URL);
}
@覆盖
公共无效putBitmap(字符串URL,位图位图){
cache.put(URL,位图);
}
});
}
公共静态VolleySingleton getsInstance(){
如果(sInstance == NULL){
sInstance =新VolleySingleton();
}
返回sInstance;
}
公共请求队列getRequestQueue(){
返回mRequestQueue;
}
公共ImageLoader的getImageLoader(){
返回mImageLoader;
}
}
投(字符串)空。
JsonObjectRequest请求=新JsonObjectRequest(Request.Method.GET,http://10.0.8.152/json/new.json(字符串)空,
新Response.Listener<的JSONObject>(){
@覆盖
公共无效onResponse(JSONObject的响应){
的System.out.println(响应);
}
},
新Response.ErrorListener(){
@覆盖
公共无效onErrorResponse(VolleyError错误){
}
});
I have been fiddling with this for a few days now. Couldn't get it right. Android studio won't let me compile it with this error. So, I have this application where I have two tabs and two fragments. One fragment is called new, and that fragment fetches json. But I couldn't get to do it properly. I have uploaded a picture of how the error looks like, and the class files. Can you please help me out?
Error: "Cannot resolve constructor JsonObjectRequest(int, java.lang.String, null.......)
new_fragment.java
public class new_fragment extends Fragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String mParam1;
private String mParam2;
private VolleySingleton volleySingleton;
private ImageLoader imageLoader;
private RequestQueue requestQueue;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() !=null){
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
volleySingleton = VolleySingleton.getsInstance();
requestQueue = volleySingleton.getRequestQueue();
RequestQueue requestQueue = VolleySingleton.getsInstance().getRequestQueue();
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET,"http://10.0.8.152/json/new.json",null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
System.out.println(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestQueue.add(request);
}
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedIntanceState) {
setHasOptionsMenu(true);
View layout = inflater.inflate(R.layout.new_fragment, container, false);
return layout;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.ref_menu, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// handle item selection
switch (item.getItemId()) {
case R.id.refreshico:
// do s.th.
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
VolleySingleton
public class VolleySingleton {
private static VolleySingleton sInstance = null;
private ImageLoader mImageLoader;
private RequestQueue mRequestQueue;
private VolleySingleton(){
mRequestQueue = Volley.newRequestQueue(appClass.getAppContext());
mImageLoader = new ImageLoader(mRequestQueue,new ImageLoader.ImageCache() {
private LruCache<String, Bitmap> cache = new LruCache<>((int)(Runtime.getRuntime().maxMemory()/1024)/8);
@Override
public Bitmap getBitmap(String url) {
return cache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
cache.put(url, bitmap);
}
});
}
public static VolleySingleton getsInstance(){
if(sInstance==null){
sInstance = new VolleySingleton();
}
return sInstance;
}
public RequestQueue getRequestQueue(){
return mRequestQueue;
}
public ImageLoader getImageLoader(){
return mImageLoader;
}
}
cast (String)null.
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET,"http://10.0.8.152/json/new.json",(String)null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
System.out.println(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
这篇关于为什么我的JsonObjectRequest不工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!