2015-08-27 7 views
-1

Получение ошибки ниже при использовании Android-Volley в android. Та же проблема остается нерешенной here тоже ...Исключенный неверный URL-адрес при использовании Volley

08-27 14:46:18.779 26990-26990/com.rev.volleydemo D/VOLLEY﹕ http://api.androidhive.info/volley/person_object.json 
08-27 14:46:18.879 26990-27004/com.rev.volleydemo E/Volley﹕ [619] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL null 
    java.lang.RuntimeException: Bad URL null 
      at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:151) 
      at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:114) 
    Caused by: java.net.MalformedURLException 
      at java.net.URL.<init>(URL.java:154) 
      at java.net.URL.<init>(URL.java:127) 
      at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:102) 
      at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:97) 
            at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:114) 

public class AppController extends Application { 

    public static final String TAG = AppController.class 
      .getSimpleName(); 

    private RequestQueue mRequestQueue; 
    private ImageLoader mImageLoader; 

    private static AppController mInstance; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     mInstance = this; 
    } 

    public static synchronized AppController getInstance() { 
     return mInstance; 
    } 

    public RequestQueue getRequestQueue() { 
     if (mRequestQueue == null) { 
      mRequestQueue = Volley.newRequestQueue(getApplicationContext()); 
     } 

     return mRequestQueue; 
    } 

    public ImageLoader getImageLoader() { 
     getRequestQueue(); 
     if (mImageLoader == null) { 
      mImageLoader = new ImageLoader(this.mRequestQueue, 
        new BitmapCache()); 
     } 
     return this.mImageLoader; 
    } 

    public <T> void addToRequestQueue(Request<T> req, String tag) { 
     // set the default tag if tag is empty 
     req.setTag(TextUtils.isEmpty(tag) ? TAG : tag); 
     getRequestQueue().add(req); 
    } 

    public <T> void addToRequestQueue(Request<T> req) { 
     req.setTag(TAG); 
     getRequestQueue().add(req); 
    } 

    public void cancelPendingRequests(Object tag) { 
     if (mRequestQueue != null) { 
      mRequestQueue.cancelAll(tag); 
     } 
    } 
} 

public class MainActivity extends AppCompatActivity { 

    public final String URL = new String("http://api.androidhive.info/volley/person_object.json"); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Log.d("VOLLEY", URL); 

     JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Method.POST, null, URL, new Response.Listener<JSONObject>() { 
      @Override 
      public void onResponse(JSONObject response) { 
       Log.d("VOLLEY", response.toString()); 
      } 
     }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       Log.d("VOLLEY", error.toString()); 
      } 
     }); 

     AppController.getInstance().addToRequestQueue(jsonObjectRequest, "JSON_OBJ"); 
    } 
} 

ответ

4

ошибка лежит здесь:

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Method.POST, null, URL, new Response.Listener<JSONObject>() { 

Второй paramete r конструктора должен быть URL, а не третьим.

Смотрите здесь: JsonObjectRequest

+1

пробовал => JsonObjectRequest jsonObjectRequest = новый JsonObjectRequest (Method.POST, URL, пустой, слушатель, errorListener); но он говорит, что не может решить конструктор –

+0

Не могли бы вы показать, какие типы параметров он ожидает? – Thorben

+0

Привет! Какая библиотека волейбола используется? Jar файл или компилировать в build.gradle? Между ними есть некоторые различия. – BNK

Смежные вопросы