class GetData extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
HttpURLConnection urlConnection = null;
String result = "";
try {
URL url = new URL("http://192.168.0.100/index.php?kod=1eba7936&mode=1");
urlConnection = (HttpURLConnection) url.openConnection();
int code = urlConnection.getResponseCode();
if(code==200){
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
if (in != null) {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));
String line = "";
while ((line = bufferedReader.readLine()) != null)
result += line;
}
in.close();
}
return result;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally {
urlConnection.disconnect();
}
return result;
}
@Override
protected void onPostExecute(String result) {
System.out.println(result);
super.onPostExecute(result);
}
}
我有这样的课程,它的工作非常出色,因为它返回void,所以我无法捕获变量。结果为其单个整数值。并且System.out.println(result)在控制台上显示正确的值。
我通过
从MainActivity调用函数new GetData().execute();
我的目标是将GetData的结果作为MainActivity中的整数变量。
答案 0 :(得分:0)
我用公共字符串上了新课
public class Data {
public static String data;
}
在onPostExecute中,我添加:
Data.data = result.toString();
现在我可以根据需要使用Data.data作为字符串。