在Android開發中,處理網絡請求通常使用Android提供的HttpURLConnection或者第三方庫如OkHttp、Retrofit等。以下是一個簡單的示例代碼,演示如何在Android應用中發起網絡請求并處理返回結果:
public class MainActivity extends AppCompatActivity {
private TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = findViewById(R.id.text_view);
// 發起網絡請求
new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... voids) {
try {
URL url = new URL("https://jsonplaceholder.typicode.com/posts/1");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
return response.toString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (s != null) {
// 處理返回結果
mTextView.setText(s);
} else {
mTextView.setText("Error occurred while making the request");
}
}
}.execute();
}
}
在上述示例中,我們使用了AsyncTask來在后臺線程中發起網絡請求,并在請求完成后更新UI。在doInBackground方法中,我們創建一個URL對象并使用HttpURLConnection來發起GET請求,獲取返回結果后通過BufferedReader讀取并返回給onPostExecute方法處理。
注意:在實際開發中,建議在后臺線程中執行網絡請求,以避免阻塞主線程,同時需要注意權限申請和網絡狀態的監測。