如何通过示例在 Android 中使用快速 Android 网络库?
在 Android 中,我们知道多个网络库,例如 Retrofit、Volley。我们专门使用这些库来发出网络请求,例如在 API 上执行操作。但除此之外,还有一个名为 Fast Networking Library 的库,它比其他库有一些优势。在本教程中,我们将特别关注学习这个库。我们将做以下事情。
- 快速网络库入门
- 发出一个简单的 GET 请求
分步实施
第 1 步:创建一个新项目
要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。请注意,选择Java作为编程语言。
第二步:添加依赖
复制以下依赖项并将其粘贴到您的应用级 build.gradle 文件中。
implementation ‘com.amitshekhar.android:android-networking:1.0.2
第 3 步:在清单文件中添加 Internet 权限
确保在 Android 清单文件中添加以下代码行。这将使您可以访问互联网,否则应用程序将崩溃。
第 4 步:在 activity_main.xml 中添加 TextView
为了测试我们的快速网络库代码的工作,我们需要添加一个文本并更改它的文本,以确保我们得到响应成功还是出错。所以activity_main.xml文件的代码如下
XML
Java
package com.example.gfgfastnetworkinglib;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import com.androidnetworking.AndroidNetworking;
import com.androidnetworking.error.ANError;
import com.androidnetworking.interfaces.JSONObjectRequestListener;
import org.json.JSONObject;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Defining TextView which we made in XML
TextView textView = findViewById(R.id.textView);
// Initializing Android Networking
AndroidNetworking.initialize(getApplicationContext());
// Actually making the GET request
AndroidNetworking.get("https://meme-api.herokuapp.com/gimme")
.build()
.getAsJSONObject(new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
// Text will show success if Response is success
textView.setText("Response Successful");
}
@Override
public void onError(ANError anError) {
// Text will show failure if Response is failure
textView.setText("Response Failure");
}
});
}
}
第 5 步:初始化 Android 网络类
首先,我们必须先初始化 Android Networking Class,然后才能使用它。可以通过在 MainActivity 中添加一行来完成,如下所示
AndroidNetworking.initialize(getApplicationContext());
第 6 步:发出获取请求
我们将尝试从 REST API 获取数据。我们将使用的 API 的链接如下所示
https://meme-api.herokuapp.com/gimme
在 MainActivity 中添加以下代码,这实际上将在 API 上发出 GET 请求
AndroidNetworking.get("https://meme-api.herokuapp.com/gimme")
.build()
.getAsJSONObject(new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
textView.setText("Response Successful");
}
@Override
public void onError(ANError anError) {
textView.setText("Response Failure");
}
});
第 7 步:使用 MainActivity。Java
执行上述所有步骤后,我们在 MainActivity 中的代码将如下面的代码所示。您也可以直接复制以下代码并将其粘贴到您的 MainActivity 文件中。
Java
package com.example.gfgfastnetworkinglib;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import com.androidnetworking.AndroidNetworking;
import com.androidnetworking.error.ANError;
import com.androidnetworking.interfaces.JSONObjectRequestListener;
import org.json.JSONObject;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Defining TextView which we made in XML
TextView textView = findViewById(R.id.textView);
// Initializing Android Networking
AndroidNetworking.initialize(getApplicationContext());
// Actually making the GET request
AndroidNetworking.get("https://meme-api.herokuapp.com/gimme")
.build()
.getAsJSONObject(new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
// Text will show success if Response is success
textView.setText("Response Successful");
}
@Override
public void onError(ANError anError) {
// Text will show failure if Response is failure
textView.setText("Response Failure");
}
});
}
}
上面代码的解释:
正如您在上面的代码中所见,我们必须在 AndroidNetworking 的 get() 方法中传递 API 链接。随着我们进一步进行,我们有两个重写的方法 onResponse 和 onError。根据我们从 API 获得的响应,这两种方法中的任何一种都会得到。
如果响应成功,onResponse 方法将被调用,因此文本将设置为 Response Success,如果我们从 API 获得失败响应,则 onError 方法将被调用,因此其中的代码将被执行,文本将设置为响应失败。由于互联网的某些问题或 API 的某些安全问题,我们可能会收到失败响应。
输出:
我们可以清楚地看到输出显示响应成功,这意味着我们使用快速网络的 GET 请求是成功的。如果发生了一些问题,那么在输出中我们会看到响应失败。