Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android學習筆記:Andorid網絡請求框架Volley的使用(上)

Android學習筆記:Andorid網絡請求框架Volley的使用(上)

編輯:關於Android編程

Volley框架是Google I/O 2013大會上發布的。Volley是Google針對Android平台上的網絡通信庫而誕生,該框架能使網絡通信更快,更簡單,更健壯。Volley的特點有:

Ⅰ:通信更簡單更快捷

ll:Get,Post網絡請求及網絡圖像進行高效異步處理

III:可以對多個網絡請求進行優先級排序以級多級別取消操作

IV:網絡請求緩存及與Activity生命周期進行聯動,在Activity銷毀的時候可以對網絡請求進行取消操作,防止內存洩露。

Volley的使用很簡單:

1,下載Volley的jar包或是源代碼,

2,獲取RequestQueue,一般我們是放到Application中進行初始化操作

3,實例化一個Request對象(StringRequest,JsonObjectRequest,JsonArrayRequest) 4,將Request加入RequestQueue即可。
首先學習的是最基礎的StringRequest: 主頁面布局文件:activity_main.xml
xmlns:tools=http://schemas.android.com/tools
android:layout_width=match_parent
android:layout_height=wrap_content
android:orientation=vertical
android:layout_margin=10dp >
android:id=@+id/get_btn
android:layout_width=match_parent
android:layout_height=wrap_content
android:gravity=center
android:text=GET請求
android:textSize=16sp
android:layout_marginTop=15dp/>
android:id=@+id/post_btn
android:layout_width=match_parent
android:layout_height=wrap_content
android:gravity=center
android:text=POST請求
android:textSize=16sp />


-------------請求操作------------------------ public class MainActivity extends Activity implements OnClickListener {
private Button getBtn, postBtn;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getBtn = (Button) findViewById(R.id.get_btn);
postBtn = (Button) findViewById(R.id.post_btn);
getBtn.setOnClickListener(this);
postBtn.setOnClickListener(this);
}

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.get_btn:// GET請求獲取數據
getStringRequest();
break;
case R.id.post_btn:// POST請求獲取數據
postStringequest();
break;
}
}


private void getStringRequest() {// 用GET方法使用字符串數據請求StringRequest
String url = http://apis.juhe.cn/mobile/get?phone=134****4320&key=d6099881640aed5e0bacc058cfd4357b;//key值是在聚合數據上申請的api
StringRequest strRequest = new StringRequest(Method.GET, url, new Listener() {
@Override
public void onResponse(String arg0) {// 請求成功
Toast.makeText(MainActivity.this, arg0, Toast.LENGTH_LONG).show();
}
}, new ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {// 請求失敗
Toast.makeText(MainActivity.this, arg0.toString(), Toast.LENGTH_LONG).show();
}
});
strRequest.setTag(getLDM);
MyApplication.getRequestQueues().add(strRequest);
}

private void postStringequest() {// 用POST方法使用字符串數據請求StringRequest
String url = http://apis.juhe.cn/mobile/get?;
StringRequest postRequest = new StringRequest(Method.POST, url, new Listener() {
@Override
public void onResponse(String arg0) {
Toast.makeText(MainActivity.this, arg0, Toast.LENGTH_LONG).show();
}
}, new ErrorListener() {

@Override
public void onErrorResponse(VolleyError arg0) { Toast.makeText(MainActivity.this, arg0.toString(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map getParams() throws AuthFailureError {// getparams方法是Volley中使用POST請求數據時傳遞參數信息
Map map = new HashMap();
map.put(phone, 134****4320);
map.put(key, d6099881640aed5e0bacc058cfd4357b);
return map;
}
};
postRequest.setTag(postLDM);
MyApplication.getRequestQueues().add(postRequest);
}
}

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved