返回列表 发新帖

android客户端访问服务器_Android

[复制链接]

8

主题

23

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2024-10-22 07:03:24  | 显示全部楼层 | 阅读模式
在Android客户端访问服务器,通常使用HTTP协议进行通信,以下是详细的步骤和小标题:

zbhjk2jqxbzffde.jpg

zbhjk2jqxbzffde.jpg


(图片来源网络,侵删)
1、添加网络权限
在AndroidManifest.xml文件中添加网络权限:


2、创建网络请求类
创建一个名为NetworkRequest的类,用于封装网络请求的方法:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class NetworkRequest {
    private static final String REQUEST_METHOD = "GET";
    private static final int READ_TIMEOUT = 15000;
    private static final int CONNECTION_TIMEOUT = 15000;
    public String sendGetRequest(String requestUrl) {
        StringBuilder result = new StringBuilder();
        try {
            URL url = new URL(requestUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setReadTimeout(READ_TIMEOUT);
            connection.setConnectTimeout(CONNECTION_TIMEOUT);
            connection.setRequestMethod(REQUEST_METHOD);
            connection.connect();
            if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
                BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String line;
                while ((line = reader.readLine()) != null) {
                    result.append(line);
                }
                reader.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result.toString();
    }
}
3、发送网络请求并处理响应结果
在需要发送网络请求的地方,调用NetworkRequest类的sendGetRequest方法,并处理响应结果:

public class MainActivity extends AppCompatActivity {
    private NetworkRequest networkRequest;
    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.textView);
        networkRequest = new NetworkRequest();
        getDataFromServer("https://api.example.com/data");
    }
    private void getDataFromServer(String requestUrl) {
       networkRequest.sendGetRequest(requestUrl) { response >
            runOnUiThread(() > {
                textView.setText(response);
            });
        };
    }
}
4、单元表格:Android客户端访问服务器的主要步骤和代码示例:
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表