以下是一个使用Android的示例代码,用于在页面刷新后获取HTTP内容的解决方法:
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
private TextView responseText;
private Button refreshButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
responseText = findViewById(R.id.response_text);
refreshButton = findViewById(R.id.refresh_button);
refreshButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 在按钮点击事件中执行获取HTTP内容的操作
new HttpGetTask().execute();
}
});
}
private class HttpGetTask extends AsyncTask {
@Override
protected String doInBackground(Void... voids) {
HttpURLConnection urlConnection = null;
BufferedReader reader = null;
String result = null;
try {
URL url = new URL("http://example.com"); // 替换为实际的URL地址
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.connect();
InputStream inputStream = urlConnection.getInputStream();
StringBuilder builder = new StringBuilder();
reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line).append("\n");
}
result = builder.toString();
} catch (IOException e) {
Log.e(TAG, "Error", e);
} finally {
if (urlConnection != null) {
urlConnection.disconnect();
}
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
Log.e(TAG, "Error", e);
}
}
}
return result;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
responseText.setText(result); // 将HTTP内容显示在TextView中
}
}
}
这个示例中,我们创建了一个HttpGetTask
类,继承自AsyncTask
,并在doInBackground
方法中执行HTTP请求获取内容,在onPostExecute
方法中更新UI来显示获取到的内容。点击刷新按钮时,会创建一个HttpGetTask
对象并执行execute
方法,从而触发HTTP请求和页面刷新的操作。