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