|
在IdeaHub Board设备上,安卓客户端从服务器数据库获取数据的过程可以分为以下几个步骤:
zbhjryytnkome4a.jpg
(图片来源网络,侵删)
1、添加网络权限
在AndroidManifest.xml文件中添加网络权限:
2、创建网络请求工具类
创建一个名为NetworkUtils的网络请求工具类,用于封装网络请求的方法。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class NetworkUtils {
// 获取服务器数据的方法
public static String getDataFromServer(String urlStr) {
StringBuilder result = new StringBuilder();
try {
URL url = new URL(urlStr);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
connection.connect();
if (connection.getResponseCode() == 200) {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
result.append(line);
}
reader.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return result.toString();
}
}
3、编写主Activity代码
在主Activity中调用NetworkUtils的getDataFromServer方法,获取服务器数据,并处理返回的数据。
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import java.io.IOException;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class MainActivity extends AppCompatActivity {
private TextView mTextView;
private OkHttpClient mOkHttpClient;
private String mUrl = "https://api.example.com/data"; // 服务器数据接口地址,需要替换为实际地址
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = findViewById(R.id.textView);
mOkHttpClient = new OkHttpClient(); // 初始化OkHttpClient对象,用于发起网络请求
getDataFromServer(); // 调用获取服务器数据的方法
}
private void getDataFromServer() {
Request request = new Request.Builder().url(mUrl).build(); // 构建请求对象,设置请求的URL地址为服务器数据接口地址
mOkHttpClient.newCall(request).enqueue(new Callback() { // 使用OkHttpClient发起网络请求,并设置回调函数处理返回的数据
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace(); // 打印异常信息,可以根据实际需求进行处理,例如显示错误提示等操作
}
@Override
public void onResponse(Call call, Response response) throws IOException { // 处理服务器返回的数据,这里以JSON格式为例进行解析和展示数据的操作,需要根据实际情况进行调整和修改代码中的变量和方法名等信息,如果返回的数据不是JSON格式,请根据实际格式进行解析和处理。 |
|