日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

服务器 远程存储,数据储存——远程服务器存储——框架方式

發(fā)布時間:2024/1/23 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 服务器 远程存储,数据储存——远程服务器存储——框架方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.Volley

1.特點

①輕量級的Android網(wǎng)絡(luò)通信庫

②適合數(shù)量不大但通信頻繁的場景

2.API

1.RequestQueue

①請求隊列

②Volley.newRequestQueue(context)?創(chuàng)建或得到請求隊列 ? ?單例模式

③add(Request)添加請求到隊列中

2.Request

①封裝請求的基類

②子類

1)StringRequest ?返回字符串的請求

構(gòu)造方法:

new ?StringRequest(get_path,正常響應(yīng)監(jiān)聽,異常響應(yīng)監(jiān)聽) ??實現(xiàn)get方式

new ?StringRequest(Request.Method.post,get_path,正常響應(yīng)監(jiān)聽,異常響應(yīng)監(jiān)聽){重寫 Map getParams()} ??實現(xiàn)post方式

2)JsonRequest ?返回Json的請求

3)ImageRequest ?返回圖片的請求

③Request.Method

1)GET ?2)POST

二.加載方法

1.把jar包放到模塊的libs目錄下(切換到project視圖模式)

2.在jar包上鼠標右鍵單機,選擇“add as lib”,加入到開發(fā)環(huán)境

Volley-Get方式

Volley-Post方式

1 <?xml version="1.0" encoding="utf-8"?>

2

3 xmlns:tools="http://schemas.android.com/tools"

4 android:layout_width="match_parent"

5 android:layout_height="match_parent"

6 android:paddingBottom="@dimen/activity_vertical_margin"

7 android:paddingLeft="@dimen/activity_horizontal_margin"

8 android:paddingRight="@dimen/activity_horizontal_margin"

9 android:paddingTop="@dimen/activity_vertical_margin"

10 tools:context="com.hanqi.testapp3.TestActivity3"

11 android:orientation="vertical">

12

13

15 android:layout_height="wrap_content">

16

18 android:layout_height="wrap_content"

19 android:layout_weight="1"

20 android:text="JDK-Post方式"

21 android:onClick="bt2_OnClick"/>

22

24 android:layout_height="wrap_content"

25 android:layout_weight="1"

26 android:text="JDK-Get方式"

27 android:onClick="bt1_OnClick"/>

28

29

30

32 android:layout_height="wrap_content">

33

35 android:layout_height="wrap_content"

36 android:layout_weight="1"

37 android:text="Volley-Get方式"

38 android:onClick="bt3_OnClick"/>

39

41 android:layout_height="wrap_content"

42 android:layout_weight="1"

43 android:text="Volley-Post方式"

44 android:onClick="bt4_OnClick"/>

45

46

48 android:layout_height="200dp"

49 android:id="@+id/et_2"/>

50

51

.xml

1 packagecom.hanqi.testapp3;2

3 importandroid.app.ProgressDialog;4 importandroid.os.Bundle;5 importandroid.support.v7.app.AppCompatActivity;6 importandroid.util.Log;7 importandroid.view.View;8 importandroid.widget.EditText;9 importandroid.widget.Toast;10

11 importcom.android.volley.AuthFailureError;12 importcom.android.volley.Request;13 importcom.android.volley.RequestQueue;14 importcom.android.volley.Response;15 importcom.android.volley.VolleyError;16 importcom.android.volley.toolbox.StringRequest;17 importcom.android.volley.toolbox.Volley;18

19 importjava.io.InputStream;20 importjava.io.OutputStream;21 importjava.net.HttpURLConnection;22 importjava.net.URL;23 importjava.util.HashMap;24 importjava.util.Map;25

26 public class TestActivity3 extendsAppCompatActivity {27

28

29 EditText et_2;30

31 //請求隊列

32 RequestQueue requestQueue;33

34 @Override35 protected voidonCreate(Bundle savedInstanceState) {36 super.onCreate(savedInstanceState);37 setContentView(R.layout.activity_test3);38

39 et_2=(EditText)findViewById(R.id.et_2);40

41 //創(chuàng)建Volley的請求隊列42 //在子線程

43 requestQueue= Volley.newRequestQueue(this);44

45 }46 //Volley的Get

47 public voidbt3_OnClick(View v)48 {49 //1.啟動進度對話框

50 final ProgressDialog pd = ProgressDialog.show(this, null, "正在加載,請稍后...");51

52 //構(gòu)建StringRequest

53 StringRequest stringRequest = new StringRequest("http://192.168.0.128:81/index.asp?name=volley&password=456",54 new Response.Listener() {55 @Override56 public voidonResponse(String s) {57 //處理正常響應(yīng)58 //在主線程響應(yīng)

59 et_2.setText(s);60

61 pd.dismiss();62 }63 },64 newResponse.ErrorListener() {65 @Override66 public voidonErrorResponse(VolleyError volleyError) {67

68 //處理異常響應(yīng)

69 volleyError.printStackTrace();70

71 pd.dismiss();72 Toast.makeText(TestActivity3.this, "響應(yīng)異常 響應(yīng)狀態(tài)碼" +volleyError.networkResponse.statusCode, Toast.LENGTH_SHORT).show();73

74 }75 });76 //加入隊列

77 requestQueue.add(stringRequest);78

79 }80

81

82

83 //Volley的Post

84 public voidbt4_OnClick(View v)85 {86 //1.啟動進度對話框

87 final ProgressDialog pd = ProgressDialog.show(this, null, "正在加載,請稍后...");88

89 //構(gòu)建StringRequest

90 StringRequest stringRequest = new StringRequest(Request.Method.POST,"http://192.168.0.128:81/index.asp",91 new Response.Listener() {92 @Override93 public voidonResponse(String s) {94 //處理正常響應(yīng)95 //在主線程響應(yīng)

96 et_2.setText(s);97

98 pd.dismiss();99 }100 },101 newResponse.ErrorListener() {102 @Override103 public voidonErrorResponse(VolleyError volleyError) {104

105 //處理異常響應(yīng)

106 volleyError.printStackTrace();107

108 pd.dismiss();109 Toast.makeText(TestActivity3.this, "響應(yīng)異常 響應(yīng)狀態(tài)碼" +volleyError.networkResponse.statusCode, Toast.LENGTH_SHORT).show();110

111 }112 }){113

114 //重寫 得到參數(shù)的方法

115 @Override116 protected Map getParams() throwsAuthFailureError {117

118 Map rtn =new HashMap<>();119

120 rtn.put("name","postVolley");121 rtn.put("password","567");122

123 returnrtn;124 }125 };126 //加入隊列

127 requestQueue.add(stringRequest);128

129 }130 }

.java

總結(jié)

以上是生活随笔為你收集整理的服务器 远程存储,数据储存——远程服务器存储——框架方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。