2015-05-12 18 views
0

我使用下面的代碼來建立網絡的URL。我一直在使用BasicNameValuePairURLEncodedUtils來構建URL,但現在因爲android 5.0都已被棄用。那麼我應該用什麼來創建URl?什麼應該用於替代建築物URL中的BasicNameValuePair?

List<NameValuePair> pairs = new ArrayList<NameValuePair>(); 

pairs.add(new BasicNameValuePair("APPID", "0000000000000000")); 
       pairs.add(new BasicNameValuePair("lat", String.valueOf(latitude))); 
       pairs.add(new BasicNameValuePair("lon", String.valueOf(longitude))); 
       pairs.add(new BasicNameValuePair("type", "accurate")); 
       pairs.add(new BasicNameValuePair("units", "metric")); 

       // Create a new URL 
       URL url = new URL("http://api.openweathermap.org/data/2.5/weather" + "?" + URLEncodedUtils.format(pairs, "utf-8")); 

回答

0

@Samvid ...使用凌空庫

public static void postNewComment(Context context,final UserAccount userAccount,final String comment,final int blogId,final int postId){ 
mPostCommentResponse.requestStarted(); 
RequestQueue queue = Volley.newRequestQueue(context); 
StringRequest sr = new StringRequest(Request.Method.POST,"http://api.someservice.com/post/comment", new Response.Listener<String>() { 
    @Override 
    public void onResponse(String response) { 
     mPostCommentResponse.requestCompleted(); 
    } 
}, new Response.ErrorListener() { 
    @Override 
    public void onErrorResponse(VolleyError error) { 
     mPostCommentResponse.requestEndedWithError(error); 
    } 
}){ 
    @Override 
    protected Map<String,String> getParams(){ 
     Map<String,String> params = new HashMap<String, String>(); 
     params.put("user",userAccount.getUsername()); 
     params.put("pass",userAccount.getPassword()); 
     params.put("comment", Uri.encode(comment)); 
     params.put("comment_post_ID",String.valueOf(postId)); 
     params.put("blogId",String.valueOf(blogId)); 

     return params; 
    } 

    @Override 
    public Map<String, String> getHeaders() throws AuthFailureError { 
     Map<String,String> params = new HashMap<String, String>(); 
     params.put("Content-Type","application/x-www-form-urlencoded"); 
     return params; 
    } 
}; 
queue.add(sr); 
} 

public interface PostCommentResponseListener { 
public void requestStarted(); 
public void requestCompleted(); 
public void requestEndedWithError(VolleyError error); 
} 

這是基本的例子...您可以使用ACC。您的需要

0

在我的代碼我有一個非常簡單的小自寫類取代它 - 一個內部類,在我的情況:對於BasicNameValuePair https://github.com/murraycu/android-galaxyzoo/commit/38964e79fa4eb36ced4a14e3d2565b6e78763080

 
public static class NameValuePair { 
     private final String name; 
     private final String value; 

     public NameValuePair(final String name, final String value) { 
      this.name = name; 
      this.value = value; 
     } 

     String getName() { 
      return name; 
     } 

     String getValue() { 
      return value; 
     } 
    } 

棄用評論的確是無益的。

但是,這不是建立一個URL。

相關問題