Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Программирование Android Gif в WebView В одном известном браузере просмотр гиф реализован так: статическая картинка (фрейм), после клика по нему этот фрейм преобразуется в гифку. Прямо на этой же странице. Как реализовать сие кто знает? Фрейм уже есть как получать, осталось остальное. https://www.cyberforum.ru/ android-dev/ thread1814700.html Работа с файлом из папки Assets Программирование Android
Вопрос к знающим. При старте приложения в методе onCreate() постоянно копирую файл с расширением .sh в папку приложения своего из папки assets(data/data/...). Перезаписывается ли файл самостоятельно? А то при редактировании .sh файла в студии, изменения при работе приложения не видно. Спасибо за внимание!!!
Программирование Android Организация справки по приложению затемнением неинтересующих областей https://www.cyberforum.ru/ android-dev/ thread1814541.html
Приветствую. Встал вопрос об организации справочной системы по использованию приложения. И захотелось сделать это следующим образом. Грубо говоря, при нажатии пользователя на соотв. кнопку с вызовом справки затемняется вся область приложения, а затем, после каждого клика, подсвечивается конкретный элемент и приводится небольшое текстовое описание этого элемента. И вопрос в том, как вообще...
Программирование Android Уведомления по времени Здравствуйте.Пытаюсь создать что то типо напоминалки пить лекарства. Устанавливается время и дни, а затем в нужное время выводится уведомление со звуком в статус бар. Везде пишется что нужно использовать AlarmManager, но я так читал что он грузит процессор и ест батарею.Да и реализация его для меня сложновата. Можно ли как-то обойтись без него? Оно не будить телефон как будильник и включать... https://www.cyberforum.ru/ android-dev/ thread1814538.html
Программирование Android Activity в Portrait/Landscape Orientation с разными фрагментами
Подскажите, как реализовать два разных фрагмента в Activity в Portrait/Landscape Orientation. Нужно, чтобы в Portrait загружался один фрагмент, а в Landscape совершенно другой. Помещаю один content_layout в /layout-land и там даю id и layout на FragmentLandscape. Всегда грузится только один фрагмент и при перевороте просто пустой экран. Привожу пример: MainActivity.class import...
Программирование Android База данных для новостной ленты Приложение должно выводить новостную ленту. То есть на всех устройствах лента и кол-во лайков должна быть идентично. Подойдёт ли для этой цели SQLite (Если нет,то что подойдет ?Где должна хранится БД? https://www.cyberforum.ru/ android-dev/ thread1814404.html
Программирование Android Снимать видео с двух камер Вопрос! Как можно вести видео съемку сразу с двух камер можно без превью нужны только файлы? https://www.cyberforum.ru/ android-dev/ thread1814400.html ListView с датами Программирование Android
Есть дата рождения(выбирается пользователем через DialogDatePicker), отталкиваясь от нее нужно рассчитать на перед расписание прививок по определенным дня(их дату) и добавить их в ListView. Как можно сделать?
Программирование Android Создаю новостное приложение https://www.cyberforum.ru/ android-dev/ thread1814209.html
Необходимо написать приложение которое будет брать новости (текст +изображение) из паблика vk и выводить его отфарматированную версию. Так же приложение должно уметь скачивать с сайта world документ выводить его от фарматированную версию. Вопрос такой: как это лучше делать (не откажусь от ссылки на соответствующий источник) и нужна ли для этого база данных? Зарание спасибо
Программирование Android Как добавить динамически в ToolBar виджет SearchView в нужных фрагментах https://www.cyberforum.ru/ android-dev/ thread1814185.html
У меня есть Toolbar в MainActivity и нужно получить доступ к этому ToolBar во фрагменте MainActivity и добавить туда SearchView. Как такое лучше реализовать?? То есть есть ToolBar MainActivity без SearchView и только когда открывается фрагмент в этот ToolBar нужно добавить SearchView
Программирование Android Загрузка векторного изображения из внешней памяти
Доброго дня всем. Такая проблема возникла, уже весь мозг сломал. Согласно нынешней моде повсеместно перехожу на векторные изображения. Пока речь шла о ресурсах, все было нормально. Сконвертированные в AssetStudio svg файлы из InkScape отображаются отлично. Но вот возникла необходимость загрузить вектор с внешней памяти - и полный тупик. Попробовал стандартную иконку в xml. Код: File file =...
Программирование Android Работа с гитом в Android Studio https://www.cyberforum.ru/ android-dev/ thread1814053.html
Если у меня репозиторий находится на github и мне нужно склонировать проект из ветки(не из master) а из ветки develop то как правильно в терминале AS переключится на нужную ветку и сделать clone?
3 / 3 / 0
Регистрация: 19.07.2016
Сообщений: 15
28.10.2016, 16:14 0

Как приложение Вконтакте узнаёт о новом сообщении? - Программирование Android - Ответ 9699622

28.10.2016, 16:14. Показов 2704. Ответов 37
Метки (Все метки)

Ответ

Я немного подредактировал код сервиса и его вызов
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
public class PollService extends IntentService {
    private static final String TAG = "PollService";
    public static final String EXTRA_MEETING = "meeting";
    private Meeting mMeeting;
 
 
    public static Intent newIntent(Context context) {
        return new Intent(context, PollService.class);
    }
 
    public PollService() {
        super(TAG);
    }
 
    @Override
    public void onCreate() {
        super.onCreate();
        Log.d(TAG,"onCreate");
 
    }
 
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.d(TAG,"onStartCommand");
        return super.onStartCommand(intent, flags, startId);
 
    }
 
    @Override
    public void onDestroy() {
        Log.d(TAG,"onDestroy");
        Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        Notification notification = new NotificationCompat.Builder(PollService.this)
                .setTicker("Бегущая строка")
                .setSmallIcon(android.R.drawable.ic_menu_report_image)
                .setContentTitle("OnDestroy!")
                .setContentText("service destroyd")
                .setAutoCancel(true)
                .setSound(defaultSoundUri)
                .build();
        NotificationManagerCompat notificationManager =
                NotificationManagerCompat.from(PollService.this);
        notificationManager.notify(0, notification);
        super.onDestroy();
    }
 
    @Override
    protected void onHandleIntent(Intent intent) {
        if (!isNetworkAvailableAndConnected()) {
            return;
        }
        Log.d(TAG, "onHandle");
        mMeeting=intent.getParcelableExtra(EXTRA_MEETING);
        DatabaseReference reference = FirebaseDatabase.getInstance()
                .getReference("meetings/" + mMeeting.getId());
        reference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                Log.d(TAG,"data updates");
                Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
                Notification notification = new NotificationCompat.Builder(PollService.this)
                        .setTicker("Бегущая строка")
                        .setSmallIcon(android.R.drawable.ic_menu_report_image)
                        .setContentTitle("OnCreate!")
                        .setContentText("data updates message")
                        .setAutoCancel(true)
                        .setSound(defaultSoundUri)
                        .build();
                NotificationManagerCompat notificationManager =
                        NotificationManagerCompat.from(PollService.this);
                notificationManager.notify(0, notification);
            }
 
            @Override
            public void onCancelled(DatabaseError databaseError) {
 
            }
        });
        
    }
 
    private boolean isNetworkAvailableAndConnected() {
        ConnectivityManager cm =
                (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
        boolean isNetworkAvailable = cm.getActiveNetworkInfo() != null;
        boolean isNetworkConnected = isNetworkAvailable &&
                cm.getActiveNetworkInfo().isConnected();
        return isNetworkConnected;
    }
 
 
    public static void setCheckAlarm(Context context, boolean shouldDelete, Meeting meeting) {
        Intent i = PollService.newIntent(context);
        i.putExtra(EXTRA_MEETING, meeting);
        PendingIntent pi = PendingIntent.getService(context, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
        AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
        if (!shouldDelete) {
            alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                    SystemClock.elapsedRealtime()+meeting.getEndDate()-System.currentTimeMillis(), pi);
        } else {
            alarmManager.cancel(pi);
            pi.cancel();
        }
    }
 
    public static boolean isServiceAlarmOn(Context context) {
        Intent i = PollService.newIntent(context);
        PendingIntent pi = PendingIntent
                .getService(context, 0, i, PendingIntent.FLAG_NO_CREATE);
        return pi == null;
    }
}
Вызов
Java
1
2
3
Intent i=PollService.newIntent(getApplicationContext());
                        i.putExtra(PollService.EXTRA_MEETING, mMeeting);
                        startService(i);
В логах видно, что сервис создается в следующем порядке (смотри ниже) и тут же уничтожается.
При этом на изменения в базе есть реакция (логи data updates). Это все при живом приложении. Если приложение уничтожить - реакция на изменения в базе пропадают.

10-28 13:02:33.441 30061-30061/com.android.teambuilder D/PollService: onCreate
10-28 13:02:33.468 30061-30061/com.android.teambuilder D/PollService: onStartCommand
10-28 13:02:33.479 30061-32253/com.android.teambuilder D/PollService: onHandle
10-28 13:02:49.693 30061-30061/com.android.teambuilder D/PollService: onDestroy
10-28 13:02:51.361 30061-30061/com.android.teambuilder D/PollService: data updates
10-28 13:04:06.590 30061-30061/com.android.teambuilder D/PollService: data updates

Добавлено через 1 минуту
IntentService рекомендуют использовать в книжке, тем боле, что он наследуется от Service.

Вернуться к обсуждению:
Как приложение Вконтакте узнаёт о новом сообщении? Программирование Android
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2016, 16:14
Готовые ответы и решения:

Как сделать оповещение о новом сообщении.
Здравствуйте подскажите пожалуйста как можно реализовать оповещение о новом сообщение сделал...

Как отправить на e-mail сообщение о новом сообщении
Здравствуйте, Мне нужна помощь, я новичок в php, и ещё многого не знаю, но изучаю. Перейду к делу:...

Социальные сети: как на MVC 3 можно организовать быстрое уведмомление о новом сообщении
Мне в голову пришло несколько вариантов: 1) организовать запросы со страницы пользователя на...

Уведомление о новом сообщении
Всем доброго времени суток! Никак не могу найти варианта где я бы мог видеть свои новые сообщения....

37
28.10.2016, 16:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2016, 16:14
Помогаю со студенческими работами здесь

Оповещение о новом сообщении
Пытаюсь сделать систему оповещения о новых сообщениях. Пока сделано с помощью перезагрузки...

Событие о новом сообщении
Доброго времени суток. Разрабатываю сайт ms sql, linq c#, iis, ms. Общение с пользователем ajax...

Уведомление о новом входящем сообщении
Ребят, подкиньте идеи, как организовать уведомление о новом входящем сообщении в виде: Мои...

как раскрутить приложение вконтакте?
Господа! Есть приложение http://vkontakte.ru/app1643300_3466634 (ugadaikino.ru) Требуется...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru