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

Организовать что бы AsyncTask запускался в фрагменте раз в определененное время - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Доступ к атрибутам объекта при наступлении события http://www.cyberforum.ru/android-dev/thread1493228.html
Проблема: приложение загружает JSON и программно отображает содержимое. В процессе отображения формируется несколько TextView, в каждый из которых нужно вложить набор параметров (я это сделал через setHint) и получить к ним доступ внутри события (в моём случае "onClick"). TextView someText = new TextView(context); someText.setHint("НАБОР ПАРАМЕТРОВ"); someText.setOnClickListener( ...
Программирование Android Как убрать прокрутку ListView Здравствуйте! Как можно сделать так, чтобы скроллился не ListView, а Layout, в котором этот ListView находится? Тоесть сделать так, чтобы ListView вывелся полностью, а из-за его большого размера прокручивался Layout. Заранее спасибо http://www.cyberforum.ru/android-dev/thread1493209.html
Получать с сайта картинки, и выводить из через слайдер Программирование Android
Использовал такой парсер : http://www.androidbegin.com/tutorial/android-basic-jsoup-tutorial/. Хочу применить такой слайдер: http://habrahabr.ru/post/131889/ Задача: получать с сайта картинки, и выводить из через слайдер. Добавлено через 9 часов 12 минут Всё, решил проблему.
Программирование Android Проблемы при работе с NDK в Android Studio 1.0 и выше
Только не спамьте пожалуйста вконтакте вопрос реальный. Почему в Android Studio 1.0 и выше возникают проблемы при работе с ndk. Подключить подключил а вот там невозможно использовать библиотеку STL и протом утилита ndk-build плохо отлаживает код на C++ а стандартный отладчик студии в ndk не заходит. Можно ли как то решить проблему с STL и отладкой кода или Android Studio 1.0 и выше уже не...
Программирование Android как нажатием на кнопку запустить установку приложения из папки? http://www.cyberforum.ru/android-dev/thread1493023.html
Всем привет :) Вопрос такой - запускаю приложение там есть кнопка "установить новую версию"(файл 111.apk к примеру находится на СД папка Download ). нажав на кнопку будет стандартная установка приложения. не знаю как это реализовать? перерыл много разной информации , но нигде нет подобного. Дядя гугиль ничего не понимает. :umnik: Буду очень благодарен за помощь! :senor:
Программирование Android Gradient или как сделать теневые границы у кнопки Привет всем, я создаю тестовое приложение под Android и у меня образовался вопрос по дизайну: как сделать границу-тень у кнопки,такую как в Material Design, по определённым сторонам кнопки, не используя встроенные темы. Android API 15. Заранее спасибо. подробнее

Показать сообщение отдельно
DoomGrey
0 / 0 / 0
Регистрация: 03.07.2015
Сообщений: 1

Организовать что бы AsyncTask запускался в фрагменте раз в определененное время - Программирование Android

05.07.2015, 16:50. Просмотров 202. Ответов 0
Метки (Все метки)

Я использую Asynctask для загрузки данных через Volley. Не могу понять как организовать что бы этот AsyncTask запускался в фрагменте раз в определененное время. По сколько я только начинаю разбираться в AsyncTask и вообще в Android программирование то не совсем понимаю как это можно эффективно реализовать. Это приложение было построенно по примерам и в я не совсем понимаю зачем вообще этот Listner.

Это мой отдельный класс для AsyncTask
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.aa.qc.task;
 
import android.os.AsyncTask;
 
import com.aa.qc.callbacks.ZleceniaLoadedListner;
import com.aa.qc.extras.ZleceniaSorter;
import com.aa.qc.extras.ZleceniaUtils;
import com.aa.qc.network.VolleySingleton;
import com.aa.qc.pojo.Zlecenia;
import com.android.volley.RequestQueue;
 
import java.util.ArrayList;
 
 
public class TaskLoadZlecenia extends AsyncTask<Void, Void, ArrayList<Zlecenia>>{
 
    private ZleceniaLoadedListner myComponent;
    private VolleySingleton volleySingleton;
    private RequestQueue requestQueue;
    private ZleceniaSorter mSorter = new ZleceniaSorter();
 
 
    public TaskLoadZlecenia(ZleceniaLoadedListner myComponent) {
        this.myComponent = myComponent;
        volleySingleton = VolleySingleton.getsInstance();
        requestQueue = volleySingleton.getmRequestQueue();
 
    }
 
 
    @Override
    protected ArrayList<Zlecenia> doInBackground(Void... params) {
 
        ArrayList<Zlecenia> listZlecenias = ZleceniaUtils.loadZlecenia(requestQueue);
        mSorter.sortZleceniaByTime(listZlecenias);
        return listZlecenias;
    }
 
    @Override
    protected void onPostExecute(ArrayList<Zlecenia> listZlecenias) {
        if (myComponent != null) {
            myComponent.onZleceniaLoaded(listZlecenias);
 
        }
    }
 
}
Это мой listner.class
Java
1
2
3
4
5
6
7
8
package com.aa.qc.callbacks;
 
import com.aa.qc.pojo.Zlecenia;
import java.util.ArrayList;
 
public interface ZleceniaLoadedListner {
    public void onZleceniaLoaded(ArrayList<Zlecenia> listZlecenias);
}
Это мой фрагмент где я это хочу реализовать
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
public class FragmentZlecenia extends Fragment implements SortListener, ZleceniaLoadedListner, SwipeRefreshLayout.OnRefreshListener {
 
    // TODO: Rename parameter arguments, choose names that match
    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
    private static final String ARG_PARAM1 = "param1";
    private static final String ARG_PARAM2 = "param2";
 
    private ArrayList<Zlecenia> listZlecenias = new ArrayList<>();
    private RecyclerView zleceniaArrived;
    private AdapterZlecenia adapterZlecenia;
 
    private SwipeRefreshLayout mSwipeRefreshLayout;
    private ZleceniaSorter mSorter = new ZleceniaSorter();
 
 
    // TODO: Rename and change types of parameters
    private String mParam1;
    private String mParam2;
 
 
    /**
     * Use this factory method to create a new instance of
     * this fragment using the provided parameters.
     *
     * @param param1 Parameter 1.
     * @param param2 Parameter 2.
     * @return A new instance of fragment FragmentZlecenia.
     */
    // TODO: Rename and change types and number of parameters
    public static FragmentZlecenia newInstance(String param1, String param2) {
        FragmentZlecenia fragment = new FragmentZlecenia();
        Bundle args = new Bundle();
        args.putString(ARG_PARAM1, param1);
        args.putString(ARG_PARAM2, param2);
        fragment.setArguments(args);
        return fragment;
    }
 
    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
    }
 
    public FragmentZlecenia() {
        // Required empty public constructor
    }
 
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getArguments() != null) {
            mParam1 = getArguments().getString(ARG_PARAM1);
            mParam2 = getArguments().getString(ARG_PARAM2);
        }
    }
 
    public void onSortByTime() {
        L.t(getActivity(), "Sort by time");
        mSorter.sortZleceniaByTime(listZlecenias);
        adapterZlecenia.notifyDataSetChanged();
    }
 
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        // Inflate the layout for this fragment
 
        View layout = inflater.inflate(R.layout.fragment_zlecenia, container, false);
 
        mSwipeRefreshLayout = (SwipeRefreshLayout) layout.findViewById(R.id.swipeZlecenia);
        mSwipeRefreshLayout.setOnRefreshListener(this);
 
 
        zleceniaArrived = (RecyclerView) layout.findViewById(R.id.listZlecenia);
        zleceniaArrived.setLayoutManager(new LinearLayoutManager(getActivity()));
 
        adapterZlecenia = new AdapterZlecenia(getActivity());
        zleceniaArrived.setAdapter(adapterZlecenia);
 
        if (savedInstanceState != null) {
            //if this fragment starts after a rotation or configuration change, load the existing zlecenias from DB
            listZlecenias = MyApplication.getWritableDatabase().getAllZlecenia();
        } else {
            //if this fragment starts for the first time, load the list of zlecenias from a database
            MyApplication.getWritableDatabase().deleteAll();
            //if the database is empty, trigger an AsycnTask to download zlecenias list from the web
            if (listZlecenias.isEmpty()) {
                new TaskLoadZlecenia(this).execute();
            }
        }
        //update your Adapter to containg the retrieved zlecenias
        adapterZlecenia.setListZlecenia(listZlecenias);
 
        return layout;
    }
 
 
    @Override
    public void onZleceniaLoaded(ArrayList<Zlecenia> listZlecenias) {
 
        L.m("onZleceniaLoaded Fragment");
 
        new TaskLoadZlecenia(this).execute();
        adapterZlecenia.setListZlecenia(listZlecenias);
    }
 
 
    @Override
    public void onRefresh() {
        L.t(getActivity(), "onRefresh");
        new TaskLoadZlecenia(this).execute();
 
    }
 
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru