Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
AlexxeiS
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 5
#1

AsyncTask должен использовать Context - Программирование Android

16.04.2013, 13:53. Просмотров 1095. Ответов 1
Метки нет (Все метки)

Добрый день!

Мое приложение должно использовать сетевое соединение, вынесенное в отдельный поток. В этом потоке я выполняю POST запрос и пытаюсь записать результат в БД, но экземпляр класса создаваемый для работы с БД требует в качестве параметра переменную типа Context. Каким образом можно решить эту проблему? Возможно ли использовать параметр Context (AsyncTask<Context, Void, String>), если да, то как реализовать?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class JsonRequest extends AsyncTask<Void, Void, String> {
 
    @Override
    protected String doInBackground(Void... noargs) {
        return POSTreq();
    }
 
    @Override
    protected void onPostExecute(String result) {
        JsonDataSource datasource = new JsonDataSource(this); //ошибка, т.к. нужен Context
        datasource.open();
        datasource.createJsonData(result);
        datasource.close();
    }
 
    private String POSTreq() {
     пост-запрос
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2013, 13:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос AsyncTask должен использовать Context (Программирование Android):

AsyncTask - Программирование Android
Использую AsyncTasc class MyT extends AsyncTask&lt;Void, Void, Void&gt; { @Override protected Void doInBackground(Void......

AsyncTask и get() - Программирование Android
Создаю асинхронный процесс, где в onPreExecute() запускаю анимированный ProgressDialog. После выполнения задачи нужно выполнить действия....

AsyncTask - Программирование Android
Привет. Знаю, что в AsyncTask doInBackground() обращатся к компонентам UI нельзя. Когда я пытаюсь обновить вывод (в EditText) в...

AsyncTask - Программирование Android
Здравствуйте, при использовании двух одинаковых методов получается разный результат. AsyncTask в одном случае успешно передает данные в...

Exception в AsyncTask - Программирование Android
Доброго всем. Проблема вот в чем: периодически во время выполнения одного из потоков в AsyncTask вылетает следующее: 04-21...

AsyncTask и Jsoup - Программирование Android
Не работает вот такой код: package com.example.projecta; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.04.2013, 14:21 #2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class JsonRequest extends AsyncTask<Void, Void, String> {
    private Context mContext;
 
    public JsonRequest(Context context) {
          mContext = context;
    }
 
    @Override
    protected String doInBackground(Void... noargs) {
        return POSTreq();
    }
 
    @Override
    protected void onPostExecute(String result) {
        JsonDataSource datasource = new JsonDataSource(mContext);
        datasource.open();
        datasource.createJsonData(result);
        datasource.close();
    }
 
    private String POSTreq() {
     пост-запрос
    }
}
 
 
JsonRequest task = new JsonRequest(context);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2013, 14:21
Привет! Вот еще темы с ответами:

AsyncTask и Activity - Программирование Android
Здравствуйте! Назрел новый вопрос. Когда запускаешь асинхронную задачу в методе onCreate(), активити появляется только после того, как...

Отмена AsyncTask - Программирование Android
Привет. Есть такой код: @Override protected Void doInBackground(Void... params) { try { Interpret(Source.get()); }...

AsyncTask тормозит - Программирование Android
Подскажите пожалуйста, делалю загрузку данных с сервера через asyncTask и возвращаются результат, а дальше делаю обработку этих данных во...

MainActivity AsyncTask - Программирование Android
Добрый вечер. Ребята тут небольшая проблема. Мне нужно Заполнить NavigatorDrawer (из базы). Почему когда я пытаюсь в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru