Java 如何在android studio中从url获取数据
我想从url中获取数据并在文本视图中显示,但在接收后,它只显示html代码 我使用了一个教育视频,但我的结果是错误的 我也使用了其他方法,但所有结果都是相同的,只显示html代码 main活动:Java 如何在android studio中从url获取数据,java,android,android-asynctask,Java,Android,Android Asynctask,我想从url中获取数据并在文本视图中显示,但在接收后,它只显示html代码 我使用了一个教育视频,但我的结果是错误的 我也使用了其他方法,但所有结果都是相同的,只显示html代码 main活动: public static final String SAMPLE_URL = "http://nimatest.epizy.com/ffff.json"; findViewById(R.id.btn_get_data).setOnClickListener(new View.OnClickListe
public static final String SAMPLE_URL = "http://nimatest.epizy.com/ffff.json";
findViewById(R.id.btn_get_data).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new TaskGetData().execute(SAMPLE_URL);
}
});
public class TaskGetData extends AsyncTask<String , String , String>{
@Override
protected void onPreExecute() {
textView.append("Get data ...\n\n");
}
@Override
protected String doInBackground(String... params) {
return MyHttpUtils.getDataHttpUriConnection(params[0]);
}
@Override
protected void onPostExecute(String result) {
textView.append(result + "\n");
}
}
public static String getDataHttpUriConnection(String uri){
try {
URL url = new URL(uri);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
String result = inputStreamToString(con.getInputStream());
return result;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static String inputStreamToString(InputStream stream) {
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
StringBuilder sb = new StringBuilder();
String line = "";
try
{
while ((line = reader.readLine()) != null)
{
sb.append(line);
sb.append("\n");
}
return sb.toString();
}
catch (IOException e)
{
e.printStackTrace();
}
return null;
}
您的代码很好。它从URL读取HTML 此站点需要Javascript才能工作 HttpUrlConnection不使用或呈现动态Javascript创建的网页,只使用静态html内容 请尝试JSON数据的其他端点
另外,请考虑为Android使用合适的HTTP库,而不是像Okhttp或Volley那样使用AsyncTask。根据上述代码,它只提供html代码,您对代码有什么期望?