与凌空联网的Android网络
#kotlin #android #volley #networking

介绍

凌空抽射是一个HTTP库,它使Android应用程序的网络更加容易,最重要,更快。它可以在GitHub上找到。

代码

在本文中,我们将使用Kotlin创建一个小型Android项目。与Java相比,我选择了Kotlin,因为它提供了更快的开发。您可以选择Java。源代码可在GitHub

上获得

Process

步骤01

创建一个Android Studio项目,并将其命名为您喜欢的任何东西。

步骤02

在清单文件中添加以下权限,因为我们将从Internet获取数据:
<uses-permission android:name="android.permission.INTERNET"/>

步骤03

将以下依赖项添加到您的等级文件中。您可以根据工具集的版本更新版本号。
implementation 'com.android.volley:volley:1.2.1'

步骤04

创建一个将管理我们的凌空请求的队列。以下代码将为我们做到这一点:

val queue = Volley.newRequestQueue(this)

在这里,这是指当前的应用程序上下文。您可以将其包括在代码中的任何地方。为简单起见,将其添加到活动的方法中。

步骤05

创建一个请求对象。凌空中有四种类型的请求:

  1. jsonobjectRequest
  2. jsonarrayrequest
  3. ImagereQuest
  4. String Request

我们将使用 stringRequest 。它需要我们的四件事:

  1. 方法:获取,发布等
  2. 源链接
  3. 成功的听众
  4. 失败的听众

这是代码

 val request = StringRequest(
            Request.Method.GET,
            "https://jsonplaceholder.typicode.com/users",
            Response.Listener<String> {
                findViewById<TextView>(R.id.textview).text = it
            },
            Response.ErrorListener {Log.d("error",it.toString())}
 )

步骤06

将请求添加到我们的队列对象:

 queue.add(request)

最终代码

主要活动

package com.example.volleydemo

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.TextView
import com.android.volley.Request
import com.android.volley.Response
import com.android.volley.toolbox.StringRequest
import com.android.volley.toolbox.Volley

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val queue = Volley.newRequestQueue(this)
        val request = StringRequest(
            Request.Method.GET,
            "https://jsonplaceholder.typicode.com/users",
            Response.Listener<String> {
                findViewById<TextView>(R.id.textview).text = it
            },
            Response.ErrorListener {Log.d("error", it.toString())}
        )

        queue.add(request)
    }
}

UI

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            android:id="@+id/textview"
            />
    </ScrollView>

</LinearLayout>

谢谢!

Thanks