banner



How To Create Alarm App In Android

Introduction

Android is one of the most popular operating systems for mobiles. The alarm app takes place in day by day Android usage. Each Android mobile contains an alarm application. Simply alarm is our wake-up assistant. So, I will show you how to create an alarm android application using Android Studio. Android is the kernel-based operating system.it allows the user can modify the GUI components and source code.

Requirements

  • Android Studio
  • Little bit XML and JAVA knowledge.
  • Android Emulator (or) Android mobile

Download link (Android Studio): https://developer.android.com/studio/index.html

Steps should be followed

Carefully follow my steps to create an Alarm Android Application using Android Studio. I have included the source code below.

Step 1

Open the Android Studio and start a new project.

Android Studio

Step 2

Put the application name and company domain. If you wish to use C++ for coding the project, mark the "Include C++ support" checkbox and then click Next.

Android Studio

Step 3

Select the Android minimum SDK. After you chose the minimum SDK, it will show an approximate percentage of people who use that SDK. Click Next.

Android Studio

Step 4

Choose the basic activity, then click Next.

Android Studio

Step 5

Put the activity name and layout name. Android Studio basically takes the java class name that you provide as the activity name and click Finish.

Android Studio

Step 6

Go to activity_main.xml then click the text bottom. This xml file contains the designing code for the android app. Into the activity_main.xml copy and paste the below code.

Activity_main.xml code

  1. <?xml version= "1.0"  encoding= "utf-8" ?>
  2. <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     xmlns:app="http://schemas.android.com/apk/res-auto"
  4.     xmlns:tools="http://schemas.android.com/tools"
  5.     android:layout_width="match_parent"
  6.     android:layout_height="match_parent"
  7.     android:fitsSystemWindows="true"
  8.     tools:context="ganeshannt.alarm.MainActivity" >
  9.     <android.support.design.widget.AppBarLayout
  10.         android:layout_width="match_parent"
  11.         android:layout_height="wrap_content"
  12.         android:theme="@style/AppTheme.AppBarOverlay" >
  13.         <android.support.v7.widget.Toolbar
  14.             android:id="@+id/toolbar"
  15.             android:layout_width="match_parent"
  16.             android:layout_height="?attr/actionBarSize"
  17.             android:background="?attr/colorPrimary"
  18.             app:popupTheme="@style/AppTheme.PopupOverlay"  />
  19.     </android.support.design.widget.AppBarLayout>
  20.     <include layout="@layout/content_main"  />
  21. </android.support.design.widget.CoordinatorLayout>

Android

Step 7

Create a new content_main.xml file (File ⇒ New ⇒Activity⇒Empty_activity).

Go to content_main.xml then click the text bottom. This xml file contains the designing code for the android app. Into the content_main.xml copy and paste the below code.

content_main.xml code

  1. <?xml version= "1.0"  encoding= "utf-8" ?>
  2. <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     xmlns:app="http://schemas.android.com/apk/res-auto"
  4.     xmlns:tools="http://schemas.android.com/tools"
  5.     android:layout_width="match_parent"
  6.     android:layout_height="match_parent"
  7.     android:fitsSystemWindows="true"
  8.     tools:context="ganeshannt.alarm.MainActivity" >
  9.     <android.support.design.widget.AppBarLayout
  10.         android:layout_width="match_parent"
  11.         android:layout_height="wrap_content"
  12.         android:theme="@style/AppTheme.AppBarOverlay" >
  13.         <android.support.v7.widget.Toolbar
  14.             android:id="@+id/toolbar"
  15.             android:layout_width="match_parent"
  16.             android:layout_height="?attr/actionBarSize"
  17.             android:background="?attr/colorPrimary"
  18.             app:popupTheme="@style/AppTheme.PopupOverlay"  />
  19.     </android.support.design.widget.AppBarLayout>
  20.     <include layout="@layout/content_main"  />
  21. </android.support.design.widget.CoordinatorLayout>

Android

Step 8

Into the MainActivity.java copy and paste the below code.java programming is the backend language for android. Do not replace your package name otherwise, the app will not run.

MainActivity.java code

  1. package  ganeshannt.alarm;
  2. import  android.annotation.TargetApi;
  3. import  android.app.AlarmManager;
  4. import  android.app.PendingIntent;
  5. import  android.content.Context;
  6. import  android.content.Intent;
  7. import  android.os.Build;
  8. import  android.os.Bundle;
  9. import  android.support.v7.app.AppCompatActivity;
  10. import  android.support.v7.widget.Toolbar;
  11. import  android.util.Log;
  12. import  android.view.Menu;
  13. import  android.view.MenuItem;
  14. import  android.view.View;
  15. import  android.widget.AdapterView;
  16. import  android.widget.ArrayAdapter;
  17. import  android.widget.Button;
  18. import  android.widget.Spinner;
  19. import  android.widget.TextView;
  20. import  android.widget.TimePicker;
  21. import  java.util.Calendar;
  22. public class  MainActivity extends  AppCompatActivity implements  AdapterView.OnItemSelectedListener {
  23.     AlarmManager alarm_manager;
  24.     TimePicker alarm_timepicker;
  25.     TextView update_text;
  26.     Context context;
  27.     PendingIntent pending_intent;
  28. int  choose_whale_sound;
  29.     @Override
  30. protected void  onCreate(Bundle savedInstanceState) {
  31. super .onCreate(savedInstanceState);
  32.         setContentView(R.layout.activity_main);
  33.         Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  34.         setSupportActionBar(toolbar);
  35. this .context = this ;
  36.         alarm_manager = (AlarmManager) getSystemService(ALARM_SERVICE);
  37.         alarm_timepicker = (TimePicker) findViewById(R.id.timePicker);
  38.         update_text = (TextView) findViewById(R.id.update_text);
  39. final  Calendar calendar = Calendar.getInstance();
  40. final  Intent my_intent = new  Intent( this .context, Alarm_Receiver. class );
  41.         Spinner spinner = (Spinner) findViewById(R.id.richard_spinner);
  42.         ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this ,
  43.                 R.array.whale_array, android.R.layout.simple_spinner_item);
  44.         adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  45.         spinner.setAdapter(adapter);
  46.         spinner.setOnItemSelectedListener(this );
  47.         Button alarm_on = (Button) findViewById(R.id.alarm_on);
  48.         alarm_on.setOnClickListener(new  View.OnClickListener() {
  49.             @TargetApi(Build.VERSION_CODES.M)
  50.             @Override
  51. public void  onClick(View v) {
  52.                 calendar.set(Calendar.HOUR_OF_DAY, alarm_timepicker.getHour());
  53.                 calendar.set(Calendar.MINUTE, alarm_timepicker.getMinute());
  54. int  hour = alarm_timepicker.getHour();
  55. int  minute = alarm_timepicker.getMinute();
  56.                 String hour_string = String.valueOf(hour);
  57.                 String minute_string = String.valueOf(minute);
  58. if  (hour > 12) {
  59.                     hour_string = String.valueOf(hour - 12);
  60.                 }
  61. if  (minute < 10) {
  62.                     minute_string ="0"  + String.valueOf(minute);
  63.                 }
  64.                 set_alarm_text("Alarm set to: "  + hour_string + ":"  + minute_string);
  65.                 my_intent.putExtra("extra" , "alarm on" );
  66.                 my_intent.putExtra("whale_choice" , choose_whale_sound);
  67.                 Log.e("The whale id is"  , String.valueOf(choose_whale_sound));
  68.                 pending_intent = PendingIntent.getBroadcast(MainActivity.this , 0,
  69.                         my_intent, PendingIntent.FLAG_UPDATE_CURRENT);
  70.                 alarm_manager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
  71.                         pending_intent);
  72.             }
  73.         });
  74.         Button alarm_off = (Button) findViewById(R.id.alarm_off);
  75.         alarm_off.setOnClickListener(new  View.OnClickListener() {
  76.             @Override
  77. public void  onClick(View v) {
  78.                 set_alarm_text("Alarm off!" );
  79.                 alarm_manager.cancel(pending_intent);
  80.                 my_intent.putExtra("extra" , "alarm off" );
  81.                 my_intent.putExtra("whale_choice" , choose_whale_sound);
  82.                 sendBroadcast(my_intent);
  83.             }
  84.         });
  85.     }
  86. private void  set_alarm_text(String output) {
  87.         update_text.setText(output);
  88.     }
  89.     @Override
  90. public boolean  onCreateOptionsMenu(Menu menu) {
  91.         getMenuInflater().inflate(R.menu.menu_main, menu);
  92. return true ;
  93.     }
  94.     @Override
  95. public boolean  onOptionsItemSelected(MenuItem item) {
  96. int  id = item.getItemId();
  97. if  (id == R.id.action_settings) {
  98. return true ;
  99.         }
  100. return super .onOptionsItemSelected(item);
  101.     }
  102.     @Override
  103. public void  onItemSelected(AdapterView<?> parent, View view, int  position, long  id) {
  104.         choose_whale_sound = (int ) id;
  105.     }
  106.     @Override
  107. public void  onNothingSelected(AdapterView<?> parent) {
  108.     }
  109. }

Step 9

Create a new Alarm_Receiver.java file (File ⇒ New ⇒Java class).

Into the Alarm_Receiver.java copy and paste the below code.java programming is the backend language for android. Do not replace your package name otherwise, the app will not run.

Alarm_Receiver.java code

  1. import  android.content.BroadcastReceiver;
  2. import  android.content.Context;
  3. import  android.content.Intent;
  4. import  android.util.Log;
  5. public class  Alarm_Receiver extends  BroadcastReceiver{
  6.     @Override
  7. public void  onReceive(Context context, Intent intent) {
  8.         Log.e("We are in the receiver." , "Yay!" );
  9.         String get_your_string = intent.getExtras().getString("extra" );
  10.         Log.e("What is the key? " , get_your_string);
  11.         Integer get_your_whale_choice = intent.getExtras().getInt("whale_choice" );
  12.         Log.e("The whale choice is " , get_your_whale_choice.toString());
  13.         Intent service_intent =new  Intent(context, RingtonePlayingService. class );
  14.         service_intent.putExtra("extra" , get_your_string);
  15.         service_intent.putExtra("whale_choice" , get_your_whale_choice);
  16.         context.startService(service_intent);
  17.     }
  18. }

Step 10

Create a new RingtonePlayingService.java file (File ⇒ New ⇒Java class).

Into the RingtonePlayingService.java copy and paste the below code.java programming is the backend language for android. Do not replace your package name otherwise, the app will not run.

RingtonePlayingService.java code

  1. package  ganeshannt.alarm;
  2. import  android.annotation.TargetApi;
  3. import  android.app.Notification;
  4. import  android.app.NotificationManager;
  5. import  android.app.PendingIntent;
  6. import  android.app.Service;
  7. import  android.content.Intent;
  8. import  android.media.MediaPlayer;
  9. import  android.os.Build;
  10. import  android.os.IBinder;
  11. import  android.util.Log;
  12. import  java.util.Random;
  13. public class  RingtonePlayingService extends  Service {
  14.     MediaPlayer media_song;
  15. int  startId;
  16. boolean  isRunning;
  17.     @Override
  18. public  IBinder onBind(Intent intent) {
  19. return null ;
  20.     }
  21.     @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
  22.     @Override
  23. public int  onStartCommand(Intent intent, int  flags, int  startId) {
  24.         Log.i("LocalService" , "Received start id "  + startId + ": "  + intent);
  25.         String state = intent.getExtras().getString("extra" );
  26.         Integer whale_sound_choice = intent.getExtras().getInt("whale_choice" );
  27.         Log.e("Ringtone extra is " , state);
  28.         Log.e("Whale choice is " , whale_sound_choice.toString());
  29.         NotificationManager notify_manager = (NotificationManager)
  30.                 getSystemService(NOTIFICATION_SERVICE);
  31.         Intent intent_main_activity =new  Intent( this .getApplicationContext(), MainActivity. class );
  32.         PendingIntent pending_intent_main_activity = PendingIntent.getActivity(this , 0,
  33.                 intent_main_activity, 0);
  34.         Notification notification_popup =new  Notification.Builder( this )
  35.                 .setContentTitle("An alarm is going off!" )
  36.                 .setContentText("Click me!" )
  37.                 .setSmallIcon(R.drawable.ic_action_call)
  38.                 .setContentIntent(pending_intent_main_activity)
  39.                 .setAutoCancel(true )
  40.                 .build();
  41.         assert state !=null ;
  42. switch  (state) {
  43. case "alarm on" :
  44.                 startId = 1;
  45. break ;
  46. case "alarm off" :
  47.                 startId = 0;
  48.                 Log.e("Start ID is " , state);
  49. break ;
  50. default :
  51.                 startId = 0;
  52. break ;
  53.         }
  54. if  (! this .isRunning && startId == 1) {
  55.             Log.e("there is no music, " , "and you want start" );
  56. this .isRunning = true ;
  57. this .startId = 0;
  58.             notify_manager.notify(0, notification_popup);
  59. if  (whale_sound_choice == 0) {
  60. int  minimum_number = 1;
  61. int  maximum_number = 13;
  62.                 Random random_number =new  Random();
  63. int  whale_number = random_number.nextInt(maximum_number + minimum_number);
  64.                 Log.e("random number is "  , String.valueOf(whale_number));
  65. if  (whale_number == 1) {
  66.                     media_song = MediaPlayer.create(this , R.raw.humpback_bubblenet_and_vocals);
  67.                     media_song.start();
  68.                 }
  69. else if  (whale_number == 2) {
  70.                     media_song = MediaPlayer.create(this , R.raw.humpback_contact_call_moo);
  71.                     media_song.start();
  72.                 }
  73. else if  (whale_number == 3) {
  74.                     media_song = MediaPlayer.create(this , R.raw.humpback_contact_call_whup);
  75.                     media_song.start();
  76.                 }
  77. else if  (whale_number == 4) {
  78.                     media_song = MediaPlayer.create(this , R.raw.humpback_feeding_call);
  79.                     media_song.start();
  80.                 }
  81. else if  (whale_number == 5) {
  82.                     media_song = MediaPlayer.create(this , R.raw.humpback_flipper_splash);
  83.                     media_song.start();
  84.                 }
  85. else if  (whale_number == 6) {
  86.                     media_song = MediaPlayer.create(this , R.raw.humpback_tail_slaps_with_propeller_whine);
  87.                     media_song.start();
  88.                 }
  89. else if  (whale_number == 7) {
  90.                     media_song = MediaPlayer.create(this , R.raw.humpback_whale_song);
  91.                     media_song.start();
  92.                 }
  93. else if  (whale_number == 8) {
  94.                     media_song = MediaPlayer.create(this , R.raw.humpback_whale_song_with_outboard_engine_noise);
  95.                     media_song.start();
  96.                 }
  97. else if  (whale_number == 9) {
  98.                     media_song = MediaPlayer.create(this , R.raw.humpback_wheeze_blows);
  99.                     media_song.start();
  100.                 }
  101. else if  (whale_number == 10) {
  102.                     media_song = MediaPlayer.create(this , R.raw.killerwhale_echolocation_clicks);
  103.                     media_song.start();
  104.                 }
  105. else if  (whale_number == 11) {
  106.                     media_song = MediaPlayer.create(this , R.raw.killerwhale_offshore);
  107.                     media_song.start();
  108.                 }
  109. else if  (whale_number == 12) {
  110.                     media_song = MediaPlayer.create(this , R.raw.killerwhale_resident);
  111.                     media_song.start();
  112.                 }
  113. else if  (whale_number == 13) {
  114.                     media_song = MediaPlayer.create(this , R.raw.killerwhale_transient);
  115.                     media_song.start();
  116.                 }
  117. else  {
  118.                     media_song = MediaPlayer.create(this , R.raw.killerwhale_resident);
  119.                     media_song.start();
  120.                 }
  121.             }
  122. else if  (whale_sound_choice == 1) {
  123.                 media_song = MediaPlayer.create(this , R.raw.humpback_bubblenet_and_vocals);
  124.                 media_song.start();
  125.             }
  126. else if  (whale_sound_choice == 2) {
  127.                 media_song = MediaPlayer.create(this , R.raw.humpback_contact_call_moo);
  128.                 media_song.start();
  129.             }
  130. else if  (whale_sound_choice == 3) {
  131.                 media_song = MediaPlayer.create(this , R.raw.humpback_contact_call_whup);
  132.                 media_song.start();
  133.             }
  134. else if  (whale_sound_choice == 4) {
  135.                 media_song = MediaPlayer.create(this , R.raw.humpback_feeding_call);
  136.                 media_song.start();
  137.             }
  138. else if  (whale_sound_choice == 5) {
  139.                 media_song = MediaPlayer.create(this , R.raw.humpback_flipper_splash);
  140.                 media_song.start();
  141.             }
  142. else if  (whale_sound_choice == 6) {
  143.                 media_song = MediaPlayer.create(this , R.raw.humpback_tail_slaps_with_propeller_whine);
  144.                 media_song.start();
  145.             }
  146. else if  (whale_sound_choice == 7) {
  147.                 media_song = MediaPlayer.create(this , R.raw.humpback_whale_song);
  148.                 media_song.start();
  149.             }
  150. else if  (whale_sound_choice == 8) {
  151.                 media_song = MediaPlayer.create(this , R.raw.humpback_whale_song_with_outboard_engine_noise);
  152.                 media_song.start();
  153.             }
  154. else if  (whale_sound_choice == 9) {
  155.                 media_song = MediaPlayer.create(this , R.raw.humpback_wheeze_blows);
  156.                 media_song.start();
  157.             }
  158. else if  (whale_sound_choice == 10) {
  159.                 media_song = MediaPlayer.create(this , R.raw.killerwhale_echolocation_clicks);
  160.                 media_song.start();
  161.             }
  162. else if  (whale_sound_choice == 11) {
  163.                 media_song = MediaPlayer.create(this , R.raw.killerwhale_offshore);
  164.                 media_song.start();
  165.             }
  166. else if  (whale_sound_choice == 12) {
  167.                 media_song = MediaPlayer.create(this , R.raw.killerwhale_resident);
  168.                 media_song.start();
  169.             }
  170. else if  (whale_sound_choice == 13) {
  171.                 media_song = MediaPlayer.create(this , R.raw.killerwhale_transient);
  172.                 media_song.start();
  173.             }
  174. else  {
  175.                 media_song = MediaPlayer.create(this , R.raw.killerwhale_resident);
  176.                 media_song.start();
  177.             }
  178.         }
  179. else if  ( this .isRunning && startId == 0) {
  180.             Log.e("there is music, " , "and you want end" );
  181.             media_song.stop();
  182.             media_song.reset();
  183. this .isRunning = false ;
  184. this .startId = 0;
  185.         }
  186. else if  (! this .isRunning && startId == 0) {
  187.             Log.e("there is no music, " , "and you want end" );
  188. this .isRunning = false ;
  189. this .startId = 0;
  190.         }
  191. else if  ( this .isRunning && startId == 1) {
  192.             Log.e("there is music, " , "and you want start" );
  193. this .isRunning = true ;
  194. this .startId = 1;
  195.         }
  196. else  {
  197.             Log.e("else " , "somehow you reached this" );
  198.         }
  199. return  START_NOT_STICKY;
  200.     }
  201.     @Override
  202. public void  onDestroy() {
  203.         Log.e("on Destroy called" , "ta da" );
  204. super .onDestroy();
  205. this .isRunning = false ;
  206.     }
  207. }

Step 11

Create a new dimens.xml file into the values folder (File ⇒ New ⇒Activity⇒Empty_activity).

Go to dimens.xml then click the text bottom. This xml file contains the designing code for the android app. Into the dimens.xml copy and paste the below code.

dimens.xml code

  1. <resources>
  2.     <!-- Default screen margins, per the Android Design guidelines. -->
  3.     <dimen name="activity_horizontal_margin" >16dp</dimen>
  4.     <dimen name="activity_vertical_margin" >16dp</dimen>
  5.     <dimen name="fab_margin" >16dp</dimen>
  6. </resources>

Step 12

Create one folder into the Resources folder. Paste your set of ringtones into the folder.

Step 13

Create new strings.xml file into the Values folder (File ⇒ New ⇒Activity⇒Empty_activity).

Go to strings.xml and click the text button. This XML file contains the designing code for the Android app. Into the strings.xml,copy and paste the below code.

strings.xml code

  1. <resources>
  2.     <string name="app_name" >Alarm Clock</string>
  3.     <string name="action_settings" >Settings</string>
  4.     <string-array name="whale_array" >
  5.         <item>Pick a whale sound!</item>
  6.         <item>Humpback bubble net</item>
  7.         <item>Humpback contact Call Moo</item>
  8.         <item>Humpback contact Call Whup</item>
  9.         <item>Humpback feeding Call</item>
  10.         <item>Humpback flipper splash</item>
  11.         <item>Humpback Tail slaps</item>
  12.         <item>Humpback whale song</item>
  13.         <item>Humpback whale songwith  outboard engine</item>
  14.         <item>Humpback wheeze blows</item>
  15.         <item>Killer whale echolocation clicks</item>
  16.         <item>Killer whale offshore</item>
  17.         <item>Killer whale resident</item>
  18.         <item>Killer whaletransient </item>
  19.     </string-array>
  20. </resources>

Step 14

Click the Make Project option and run.

Android

Deliverables

Here, we have successfully created an Alarm Android application.

Alarm app in Android

Android

Don't forget to like and follow me. If you have any doubt, just comment below.

How To Create Alarm App In Android

Source: https://www.c-sharpcorner.com/article/create-alarm-android-application/

Posted by: garciawhar1968.blogspot.com

Related Posts

0 Response to "How To Create Alarm App In Android"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel