Volley用法
发布日期:2021-05-10 06:29:17 浏览次数:17 分类:精选文章

本文共 4432 字,大约阅读时间需要 14 分钟。

Android���������������������������������������������������������������������������������������������������

1. HttpClient���������������

  • ���������
    • ���������������������������HTTP���������
    • ������������������������������������������������������

2. HttpURLConnection

  • ���������
    • ���������������������java.net������
    • ������������������������������������
    • IO������������InputStream���OutputStream������������������
    • ���������������socket���������������������������������������������������

3. OKHttp

  • ���������
    • ������HTTP/HTTPS���������������Okio���������
    • ������IO���������������������socket���������
    • ���������������������������������������������
    • ������������������ headers ��� cookies���������������������

4. Volley

  • ���������
    • Google���������������������������������������
    • ������HttpURLConnection���������������������������������
    • ���������������������������������HTTP������������
    • ���������������������������������������������������������������������������������������

5. Retrofit2

  • ���������
    • ������OKHttp���������������������������������
    • ���������������������������������������������������������
    • ������RxJava������������������������������������������������

������������

  • Volley���
    • ���������������Volley.newRequestQueue(this)
    • ������������������StringRequest���JsonObjectRequest
    • ������������������������requestQueue.add(request)

������������������

  • GET���������

    fun start(view: View) {
    val url = "https://www.example.com"
    val requestQueue = Volley.newRequestQueue(this)
    val request = StringRequest(url, Response.Listener
    {
    Log.i("Response", "body: $it")
    }, Response.ErrorListener {
    Log.i("Response", "Error: $it")
    })
    requestQueue.add(request)
    }
  • POST���������

    fun start(view: View) {
    val url = "https://www.example.com"
    val request = object : StringRequest(Request.Method.POST, url,
    Response.Listener
    {
    Log.i("Response", "body: $it")
    }, Response.ErrorListener {
    Log.i("Response", "Error: $it")
    }) {
    override fun getParams(): MutableMap
    {
    val map = HashMap
    ()
    map["name"] = "Elizabai"
    return map
    }
    }
    val requestQueue = Volley.newRequestQueue(this)
    requestQueue.add(request)
    }
  • JSON���������

    fun start(view: View) {
    val url = "https://www.example.com/api"
    val request = JsonObjectRequest(
    url = url,
    listener = Response.Listener
    {
    Log.i("Response", "body: $it")
    },
    errorListener = Response.ErrorListener {
    Log.i("Response", "Error: $it")
    }
    )
    val requestQueue = Volley.newRequestQueue(this)
    requestQueue.add(request)
    }
  • ���������������

    fun start(view: View) {
    val url = "http://img.example.com/image.jpg"
    val imageLoader = ImageLoader(Volley.newRequestQueue(this), BitmapCache())
    networkImageView.setimageUrl(url, imageLoader)
    }
  • ���������������������GsonRequest������

    fun start(view: View) {
    val gsonRequest = GsonRequest(
    url = "http://www.example.com/data.json",
    clazz = Weather::class.java,
    listener = Response.Listener
    {
    Log.d("TAG", "City: ${it.weatherInfo.city}")
    },
    errorListener = Response.ErrorListener {
    Log.d("TAG", "Error: ${it}")
    }
    )
    val requestQueue = Volley.newRequestQueue(this)
    requestQueue.add(gsonRequest)
    }

���������������

  • ������������Request���������getHeaders���������������������������
    override fun getHeaders(): MutableMap
    {
    var headers = super.getHeaders()
    if (headers == null || headers.isEmpty()) {
    headers = HashMap
    ()
    }
    headers["name"] = "Elizabai"
    return headers
    }

Modified Response Handling

  • ���������parseNetworkResponse���������������������������
    override fun parseNetworkResponse(response: NetworkResponse): Response
    {
    try {
    val parsed = String(response.data)
    response.headers.put("Cache-Control", "public, max-age=180")
    return Response.success(parsed, HttpHeaderParser.parseCacheHeaders(response))
    } catch (e: UnsupportedEncodingException) {
    return Response.error(ParseError(e))
    }
    }

���������������������������������������������������Android������������������������������������������������������������������������������

上一篇:java反射
下一篇:ListView使用以及乱序问题如何解决

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月19日 07时46分54秒