Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 59
1

Будильник для андроид

25.04.2019, 10:53. Просмотров 331. Ответов 1


Пишу под андроид будильник,и проблема в том,что когда настраиваю будильник на определённое время,то при заходе в приложение,не отображается то время,на которое настроен будильник. Как сделать,чтобы отображалось время,на которое настроен будильник? Нужно ли использовать базу данных для этого?
Вот мои наработки.
XML
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
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
 
    <TimePicker
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:padding="5dp"
        android:timePickerMode="clock"
        android:layout_marginTop="50dp"
        android:id="@+id/timePicker"
        />
     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_centerHorizontal="true"
         android:textColor="@color/colorAccent"
         android:id="@+id/timeTextView"
         android:textStyle="bold"
         android:textSize="20sp"
         android:text="Time: "
 
         />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button"
        android:layout_below="@+id/timePicker"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="11dp"
        android:text="SET ALARM"
        android:onClick="setTimer"
    />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button1"
        android:layout_below="@+id/button"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dp"
        android:text="CANCEL ALARM"
        android:onClick="cancelTimer"
        />
</RelativeLayout>
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
package com.example.edisa.alarm_1;
 
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.TimePicker;
 
import java.util.Calendar;
import java.util.Date;
 
public class MainActivity extends AppCompatActivity {
    TimePicker timePicker;
    TextView textView;
 
    int mHour, mMin;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        timePicker=(TimePicker)findViewById(R.id.timePicker);
        textView=(TextView)findViewById(R.id.timeTextView);
 
        timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
            @Override
            public void onTimeChanged(TimePicker timePicker, int hoursOfDay, int minute) {
                mHour=hoursOfDay;
                mMin=minute;
                textView.setText(textView.getText().toString() + " " +mHour + " : " +mMin);
 
            }
        });
 
 
    }
 
    public void setTimer(View v){
        AlarmManager alarmManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE);
        Date date=new Date();
        Calendar cal_alarm= Calendar.getInstance();
        Calendar cal_now=Calendar.getInstance();
        cal_now.setTime(date);
        cal_alarm.setTime(date);
        cal_alarm.set(Calendar.HOUR_OF_DAY,mHour);
        cal_alarm.set(Calendar.MINUTE,mMin);
        cal_alarm.set(Calendar.SECOND,0);
 
        if(cal_alarm.before(cal_now)){
            cal_alarm.add(Calendar.DATE,1);
        }
 
        Intent i= new Intent(MainActivity.this,AlarmReceiver.class);
        PendingIntent pendingIntent=PendingIntent.getBroadcast(MainActivity.this,0,i,0);
        alarmManager.set(AlarmManager.RTC_WAKEUP,cal_alarm.getTimeInMillis(),pendingIntent);
    }
 
    public void cancelTimer(View v){
        //  Intent i=new Intent()
        Intent intent=new Intent(MainActivity.this,AlarmReceiver.class);
        PendingIntent pendingIntent=PendingIntent.getBroadcast(getBaseContext(),0,intent,0);
        AlarmManager alarmManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE);
        alarmManager.cancel(pendingIntent);
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.widget.Toast;
 
public class AlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "Alarm! Wake up! Wake up!", Toast.LENGTH_LONG).show( );
        MediaPlayer mediaPlayer = MediaPlayer.create(context,R.raw.alarm);
        mediaPlayer.start();
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2019, 10:53
Ответы с готовыми решениями:

Запускать будильник по расписанию (Андроид 2.3.4)
Мне надоело устанавливать будильник на мобиле(Fly Blackrird) в ручную Я работаю сутки через трое...

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

Рандом для андроид
Здравствуйте! Хочу узнать, как сделать рандом для андроид. Чтобы он выводил на экран текстовое...

IDE для андроид
Я вот подумал можно ли создать среду для компиляции и разработку программ на С/С++,java и т.д. Я...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы Android-разработчиков
1
89 / 84 / 12
Регистрация: 08.08.2013
Сообщений: 667
25.04.2019, 15:35 2
EduardSakh, ипользуйте SharedPreference
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2019, 15:35

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Share для андроид
Всем здравствуйте! Ребята подскажите пожалуйста следующее: Есть мобильный сайт, когда открываю...

Программирование приложений для Андроид на C++
Можно ли создавать приложения для Андроид на языке С++? И если да, то с чего посоветуете начать?...

Настройка Eclipse для работы с Андроид
Всем привет! Что то не поулчается настроить такую схему - с андроид только начинаю работать ...

Исходники инстаграмм-клиента для Андроид
Доброго времени суток! очень важный вопрос: Существуют какие-либо исходники инстаграмм-клиента на...


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

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

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