在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方法处理。
注意:在实际开发中,建议在后台线程中执行网络请求,以避免阻塞主线程,同时需要注意权限申请和网络状态的监测。