我正在尝试在我的应用程序中获取地震数据,结果我的应用停止工作。我的代码中没有错误。甚至我也添加了互联网权限。但当获取数据时,我认为会发生这种错误。我已调试过,但找不到问题。
日志猫:
2021-03-27 15:23:32.118 9533-9560/com . example . quakereportapp E/eglCodecCommon:glUtilsParamSize:unknow param 0x 000082 da 2021-03-27 15:23:32.118 9533-9560/com . example . quakereportapp E/eglCodecCommon:glUtilsParamSize:unknow param 0x 000082 da ioctl _ ping
我的AsyncTask子类
private void updateUi(List<Earthquake> earthquakes) {
listView = findViewById(R.id.list_view);
ArrayList<Earthquake> earthquake = QueryUtils.fetchEarthquakeData(url);
EarthquakeAdapter earthquakeAdapterArrayAdapter = new EarthquakeAdapter(this, earthquake);
listView.setAdapter(earthquakeAdapterArrayAdapter);
}
private class EarthQuakeAsyncTask extends AsyncTask<String, Void, List<Earthquake>> {
@Override
protected ArrayList<Earthquake> doInBackground(String... urls) {
ArrayList<Earthquake> result = QueryUtils.fetchEarthquakeData(urls[0]);
return result;
}
@Override
protected void onPostExecute(List<Earthquake> result) {
updateUi(result);
}
我的来自QueryUtils Class的JSON Extractor方法
private static ArrayList<Earthquake> extractFeatureFromJson(String earthquakeJSON) {
// If the JSON string is empty or null, then return early.
if (TextUtils.isEmpty(earthquakeJSON)) {
return null;
}
ArrayList<Earthquake> earthquakes = new ArrayList<>();
try {
JSONObject baseJsonResponse = new JSONObject(earthquakeJSON);
JSONArray earthquakeArray = baseJsonResponse.getJSONArray("features");
for (int i = 0; i < earthquakeArray.length(); i++) {
//creates object from the given array
JSONObject currentEarthquake = earthquakeArray.getJSONObject(i);
//stores all the data from properties to properties object
JSONObject properties = currentEarthquake.getJSONObject("properties");
//here we assign the value of the specified keys from the properties
String magnitude = properties.getString("mag");
String location = properties.getString("place");
long time = properties.getLong("time");
//and now we create a new earthquake in every loop
Earthquake earthquake = new Earthquake(magnitude, location, time);
//finally we add it to the earthquakes list
earthquakes.add(earthquake);
}
} catch (JSONException e) {
Log.e(LOG_TAG, "Problem parsing the earthquake JSON results", e);
}
return earthquakes;
}
引发异常是因为您是从主线程调用 API。代码中的问题是您调用 API 两次。一次在 do InBackground
中,然后再次在更新Ui
中。从更新中删除
对查询工具的调用地球地震数据(网址),
它应该看起来像这样。
private void updateUi(List<Earthquake> earthquakes) {
listView = findViewById(R.id.list_view);
EarthquakeAdapter earthquakeAdapterArrayAdapter = new EarthquakeAdapter(this, earthquakes);
listView.setAdapter(earthquakeAdapterArrayAdapter);
}
问题内容: 在Android应用程序中,我想从方法返回JSONObject 。 这是代码: 我尝试了此代码,但出现错误。是否可以从方法返回JSONObject ? 问题答案: 编辑: 这可以帮助您, 很明显, 可能您不需要在方法声明中更改返回值和参数。 只需创建以下行 方法将根据您在中提到的参数和返回类型自动创建
我的想法是,我启动一个异步任务,从Tweeter获取状态...在这里之前一切正常...但是当我遇到一些特定的tweets时,我需要用服务器上的一些信息来修改它们,这里我将进行另一个网络操作,因为我需要等待,直到我从服务器上获取信息,我做: 这是从doInBackground()方法中的allready启动的AsyncTask启动的... 我知道我可以在AsyncTask中添加方法并在doInBac
问题内容: 我必须动态获取ES6类的属性和功能。这有可能吗? 使用for … in循环,我只能循环访问类实例的属性: 输出: 问题答案: 此功能将获取所有功能。是否继承,是否可枚举。包括所有功能。 做测试 控制台输出: 注意 它不返回通过符号定义的函数。
我一直在尝试使用nativescript创建一个android应用程序。我正在使用fetch模块从服务器获取响应。当我试图从httpbin获得响应时。org/get,没关系。但当我试图从本地服务器获取响应时,网络请求失败。错误 发送到httpbin。组织/获取- 发送到本地主机:8000/api- 当我尝试从纯节点中的localhost:8000/api获取响应时。js通过请求模块。它工作得很好。
我有一个内部类,它在我的主类中扩展了异步任务 我在内部类中获得了分配给我的字符串变量“变量”的正确值,但我无法访问我的主类中的值。
问题内容: 我遵循了很多我认为确实正确的指南和其他问题,但是我有一个无法解决的错误。 反对这条线 我收到此错误 MainActivity.loadNotams类型必须实现继承的抽象方法AsyncTask.doInBackground(String …) 并反对这条线 我收到此错误: MainActivity.loadNotams类型的方法doInBackground(String)必须重写或实现一