Я создаю виджет, который должен сделать сетевое подключение для обновления своей информации.Как обновить виджет, который зависит от AsyncTask
Я довольно много с помощью шаблона шаблонного Android Studio для виджетов, и метод его onUpdate
приходит с этим:
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
// There may be multiple widgets active, so update all of them
final int N = appWidgetIds.length;
for (int i = 0; i < N; i++) {
updateAppWidget(context, appWidgetManager, appWidgetIds[i]);
}
}
где updateAppWidget
является статической функции.
Проблема заключается в том, что я делаю использование AsyncTask
сделать подключение к сети, получить некоторые данные и обновление виджета его значение:
private class APIQuery extends AsyncTask<Connection, Integer, String> {
@Override
protected String doInBackground(Connection... params) {
// ...
}
}
Проблема заключается в updateAppWidget
, потому что если я пытаюсь создать экземпляр APIQuery
изнутри updateAppWidget
, Android Studio говорит, что я не могу вызывать нестатический метод из статического метода.
На основании этого ответа:
calling non-static method in static method in Java
Единственный способ назвать нестатический способом является создание экземпляра класса, но если я создаю экземпляр APIQuery, то Android говорит, что я должен либо сделать updateAppWidget
нестатический, или APIQuery
статический.
Каков правильный подход к этой ситуации? Я новичок в разработке Java и Android, и изучаю, когда я иду.
попробовать из PublishProgress из Asyntask Http: // code2concept. blogspot.in/2015/01/asynctask-android-example.html – nitesh