

{"id":97876,"date":"2021-07-28T09:00:51","date_gmt":"2021-07-28T03:30:51","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=97876"},"modified":"2026-06-01T14:17:16","modified_gmt":"2026-06-01T08:47:16","slug":"android-task-reminder-app","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/","title":{"rendered":"Android Task Reminder App [Source Code Included]"},"content":{"rendered":"<p>In this tutorial, we will get through a simple but valuable Task reminder app using Android. Let\u2019s dive into the project without wasting further time.<\/p>\n<h3>About Simple Task Reminder Application:<\/h3>\n<p>Do you tend to forget something, or do you need reminders for specific tasks? Then don\u2019t worry; this app has got you covered. You can develop a simple task reminder app that can keep track of all your necessary tasks. It will also notify you about the job through notifications.<\/p>\n<p>In this tutorial, you will learn to build a Simple Task Reminder App using Android Studio(Java and XML). Essential features of the reminder application are as follows:<\/p>\n<p>1. Registering a new task and taking time and date to schedule the job.<br \/>\n2. Displaying all the tasks in the form of a list.<br \/>\n3. Keeping reminders for the task through notifications.<\/p>\n<h3>The flow of the Android Task Reminder App:<\/h3>\n<p>You should design a home screen with a list of reminders and a screen to take user input about his reminders. Below you can find a clear explanation of how the flow of the application should be:<\/p>\n<p>1. Showing Reminders using <strong>Recycler View or List View.<\/strong><br \/>\n2. Embedding a <strong>floating action button<\/strong> on the home screen. Using this, the user can add new tasks.<br \/>\n3. Adding reminders to <strong>Sqlite Database.<\/strong><br \/>\n4. Setting the alarm Using<strong> Alarm Manager<\/strong> and<strong> Notification Manager.<\/strong><br \/>\n5. Showing Notification using Notification Manager and pending Intent.<br \/>\n6. Updating the Manifest file with the necessary declarations and permissions.<\/p>\n<h3>Prerequisites of the Application:<\/h3>\n<p>You should be well aware of specific topics before you can start with the Android Task Reminder App. You are encouraged to have hands-on experience with Android Studio and its tools. Along with this, below are some of the technical stacks you should be aware of before starting the project.<\/p>\n<p>1. Android Studio and its tools<br \/>\n2. XML designing and Resource Files<br \/>\n3. Object-Oriented Programming<br \/>\n4. Basic SQL knowledge<br \/>\n5. Android Activities<br \/>\n6. Java or Kotlin Programming<\/p>\n<h3>Download Android Task Reminder App Code<\/h3>\n<p>Please download the source code of android task reminder app: <a href=\"https:\/\/drive.google.com\/file\/d\/1t0CgdcGgLeDPD4HcDit82ovZjcLbRAQA\/view?usp=drive_link\"><strong>Task Reminder Android App Code<\/strong><\/a><\/p>\n<h3>Description of the project:<\/h3>\n<p>When you are ready with all the prerequisites, then you are all set to get started. Here you will understand a few points about the recycler view, SQLite Database, Alarm Manager, and Notification Manager. Keeping the knowledge about all this will make your understanding clearer and complete the project\u2019s implementation easy for you.<\/p>\n<p>Below you can find a brief description of those sub-topics:<\/p>\n<h4>RecyclerView:<\/h4>\n<p>In Android, RecyclerView is a sophisticated and versatile version of ListView and GridView. It\u2019s used for displaying plenty of knowledge sets that may be scrolled expeditiously by maintaining a restricted variety of views.<\/p>\n<h4>SQLite Database:<\/h4>\n<p>SQLite information is an ASCII text file electronic database. It allows you to perform the CRUD operations such as Create, Read, Update and delete.<\/p>\n<h4>Alarm Manager:<\/h4>\n<p>Android AlarmManager permits you to access the system alarm. With the assistance of AlarmManager, you&#8217;ll be able to schedule your tasks.<\/p>\n<h4>Notification Manager:<\/h4>\n<p>Notification Manager helps to place notifications into the status bar of your device. The user can expand the notification by going to the notification tray of your device.<\/p>\n<h3>Implementation of Reminder App in Android in Our Application:<\/h3>\n<p>There is a series that you need to follow to build this Android Task Reminder App. We are there to guide you through each step of the app creation.<\/p>\n<p><strong>1:<\/strong> Open your Android Studio and click on Create a Project.<\/p>\n<p><strong>2<\/strong>: Select Empty Activity and proceed.<\/p>\n<p><strong>3:<\/strong> Now, keep a name to your application and select Java and proceed.<\/p>\n<p><strong>4:<\/strong> Now, you need to browse the res &#8212;&gt; layout &#8212;&gt; open activity_main.xml. You need to define your design as follows.<\/p>\n<p><strong>Code: activity_main.xml<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"> \r\n&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;RelativeLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n   xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\r\n   xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\r\n   android:layout_width=\"match_parent\"\r\n   android:background=\"@color\/lightblue\"\r\n   android:layout_height=\"match_parent\"\r\n   tools:context=\".MainActivity\"&gt;\r\n \r\n   &lt;androidx.recyclerview.widget.RecyclerView\r\n       android:id=\"@+id\/recyclerView\"\r\n       android:layout_width=\"match_parent\"\r\n       android:layout_height=\"match_parent\" \/&gt;\r\n \r\n \r\n   &lt;com.google.android.material.floatingactionbutton.FloatingActionButton\r\n       android:id=\"@+id\/create_reminder\"\r\n       android:layout_width=\"wrap_content\"\r\n       android:layout_height=\"match_parent\"\r\n       android:layout_alignParentEnd=\"true\"\r\n       android:layout_alignParentBottom=\"true\"\r\n       android:layout_gravity=\"bottom\"\r\n       android:layout_marginEnd=\"30dp\"\r\n       android:layout_marginBottom=\"50dp\"\r\n       android:src=\"@drawable\/plus_icon\" \/&gt;\r\n \r\n \r\n&lt;\/RelativeLayout&gt;\r\n<\/pre>\n<p><strong>5:<\/strong> Now open your Main Activity file and paste the below code.<\/p>\n<p><strong>Code: MainActivity.java<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">package com.dataflair.reminderapp;\r\n \r\nimport androidx.appcompat.app.AppCompatActivity;\r\nimport androidx.recyclerview.widget.LinearLayoutManager;\r\nimport androidx.recyclerview.widget.RecyclerView;\r\n \r\nimport android.content.Intent;\r\nimport android.database.Cursor;\r\nimport android.os.Bundle;\r\nimport android.view.View;\r\n \r\nimport com.google.android.material.floatingactionbutton.FloatingActionButton;\r\n \r\nimport java.util.ArrayList;\r\n \r\npublic class MainActivity extends AppCompatActivity {\r\n \r\n \r\n   FloatingActionButton mCreateRem;\r\n   RecyclerView mRecyclerview;\r\n   ArrayList&lt;Model&gt; dataholder = new ArrayList&lt;Model&gt;();                                               \/\/Array list to add reminders and display in recyclerview\r\n   myAdapter adapter;\r\n \r\n   @Override\r\n   protected void onCreate(Bundle savedInstanceState) {\r\n       super.onCreate(savedInstanceState);\r\n       setContentView(R.layout.activity_main);\r\n \r\n \r\n       mRecyclerview = (RecyclerView) findViewById(R.id.recyclerView);\r\n       mRecyclerview.setLayoutManager(new LinearLayoutManager(getApplicationContext()));\r\n       mCreateRem = (FloatingActionButton) findViewById(R.id.create_reminder);                     \/\/Floating action button to change activity\r\n       mCreateRem.setOnClickListener(new View.OnClickListener() {\r\n           @Override\r\n           public void onClick(View view) {\r\n               Intent intent = new Intent(getApplicationContext(), ReminderActivity.class);\r\n               startActivity(intent);                                                              \/\/Starts the new activity to add Reminders\r\n           }\r\n       });\r\n \r\n       Cursor cursor = new dbManager(getApplicationContext()).readallreminders();                  \/\/Cursor To Load data From the database\r\n       while (cursor.moveToNext()) {\r\n           Model model = new Model(cursor.getString(1), cursor.getString(2), cursor.getString(3));\r\n           dataholder.add(model);\r\n       }\r\n \r\n       adapter = new myAdapter(dataholder);\r\n       mRecyclerview.setAdapter(adapter);                                                          \/\/Binds the adapter with recyclerview\r\n \r\n   }\r\n \r\n   @Override\r\n   public void onBackPressed() {\r\n       finish();                                                                                   \/\/Makes the user to exit from the app\r\n       super.onBackPressed();\r\n \r\n   }\r\n}<\/pre>\n<p><strong>6:<\/strong> Now, you need to create two files. One will be the adapter class, and the other is your Modal Class. For this, you can right-click on your package and click on new, and then select Class.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-java-class.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-99499\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-java-class.png\" alt=\"create java class\" width=\"1920\" height=\"1020\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-java-class.png 1920w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-java-class-768x408.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-java-class-1536x816.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-java-class-720x383.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-java-class-520x276.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-java-class-320x170.png 320w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p><strong>7:<\/strong> Now, you need to code your Modal Class. Below is the code which you can paste into your modal class.<\/p>\n<p><strong>Code: Model.java<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">package com.dataflair.reminderapp;\r\n\r\n\/\/model class is used to set and get the data from the database\r\n\r\npublic class Model {\r\n   String title, date, time;\r\n\r\n   public Model() {\r\n   }\r\n\r\n   public Model(String title, String date, String time) {\r\n       this.title = title;\r\n       this.date = date;\r\n       this.time = time;\r\n   }\r\n\r\n   public String getTitle() {\r\n       return title;\r\n   }\r\n\r\n   public void setTitle(String title) {\r\n       this.title = title;\r\n   }\r\n\r\n   public String getDate() {\r\n       return date;\r\n   }\r\n\r\n   public void setDate(String date) {\r\n       this.date = date;\r\n   }\r\n\r\n   public String getTime() {\r\n       return time;\r\n   }\r\n\r\n   public void setTime(String time) {\r\n       this.time = time;\r\n   }\r\n}\r\n<\/pre>\n<p><strong>8:<\/strong> Now, you need to create a layout for each item in the recycler view list. So for this, go to res &#8212;&gt; design and right-click. Then click new and select Layout Resource File. After this name the file as single_reminder_file.xml<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-layout-resource.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-99500\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-layout-resource.png\" alt=\"create layout resource\" width=\"1920\" height=\"1016\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-layout-resource.png 1920w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-layout-resource-768x406.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-layout-resource-1536x813.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-layout-resource-720x381.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-layout-resource-520x275.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-layout-resource-320x169.png 320w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p><strong>Code: single_reminder_file.xml<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;LinearLayout\r\n       android:layout_width=\"match_parent\"\r\n       android:layout_height=\"match_parent\"\r\n       android:background=\"@color\/white\"\r\n       android:orientation=\"vertical\"&gt;\r\n\r\n\r\n       &lt;TextView\r\n           android:id=\"@+id\/txtTitle\"\r\n           android:layout_width=\"wrap_content\"\r\n           android:layout_height=\"wrap_content\"\r\n           android:text=\"Title\"\r\n           android:textSize=\"20dp\"\r\n           android:textStyle=\"bold\" \/&gt;\r\n\r\n       &lt;TextView\r\n           android:id=\"@+id\/txtDate\"\r\n           android:layout_width=\"wrap_content\"\r\n           android:layout_height=\"wrap_content\"\r\n           android:text=\"Date\"\r\n           android:textSize=\"20dp\"\r\n           android:textStyle=\"italic\" \/&gt;\r\n\r\n\r\n       &lt;TextView\r\n           android:id=\"@+id\/txtTime\"\r\n           android:layout_width=\"wrap_content\"\r\n           android:layout_height=\"wrap_content\"\r\n           android:text=\"Time\"\r\n           android:textSize=\"20dp\"\r\n           android:textStyle=\"italic\" \/&gt;\r\n\r\n&lt;\/LinearLayout&gt;\r\n\r\n\r\n&lt;\/androidx.cardview.widget.CardView&gt;\r\n<\/pre>\n<p><strong>10:<\/strong> Now, you need to add the reminder on your SQLite Database. For this, create a new empty activity called a Reminder.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-activity.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-99501\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-activity.png\" alt=\"create activity\" width=\"1920\" height=\"1020\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-activity.png 1920w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-activity-768x408.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-activity-1536x816.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-activity-720x383.png 720w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-activity-520x276.png 520w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/create-activity-320x170.png 320w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p><strong>11:<\/strong> Paste the below code in your activity_reminder.xml file.<\/p>\n<p><strong>Code: activity_reminder.xml<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;LinearLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n   xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\r\n   xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\r\n   android:layout_width=\"match_parent\"\r\n   android:background=\"@color\/lightblue\"\r\n   android:layout_height=\"match_parent\"\r\n   android:gravity=\"center\"\r\n   android:orientation=\"vertical\"\r\n   app:backgroundTint=\"@null\"\r\n   tools:context=\".ReminderActivity\"&gt;\r\n\r\n\r\n   &lt;androidx.cardview.widget.CardView\r\n       android:layout_width=\"match_parent\"\r\n       android:layout_height=\"wrap_content\"\r\n       android:layout_margin=\"10dp\"\r\n       app:cardCornerRadius=\"20dp\"&gt;\r\n\r\n       &lt;LinearLayout\r\n           android:layout_width=\"match_parent\"\r\n           android:layout_height=\"match_parent\"\r\n           android:background=\"@color\/cardwhite\"\r\n           android:orientation=\"vertical\"\r\n           app:backgroundTint=\"@null\"&gt;\r\n\r\n\r\n           &lt;TextView\r\n               android:layout_width=\"wrap_content\"\r\n               android:layout_height=\"wrap_content\"\r\n               android:text=\"Add Reminder Here...\"\r\n               android:textSize=\"30dp\"\r\n               android:textStyle=\"bold\"\r\n               android:layout_margin=\"10dp\"\/&gt;\r\n\r\n\r\n           &lt;EditText\r\n               android:id=\"@+id\/editTitle\"\r\n               android:layout_width=\"match_parent\"\r\n               android:layout_height=\"90dp\"\r\n               android:layout_margin=\"10dp\"\r\n               android:background=\"@drawable\/edit_background\"\r\n               android:hint=\"Enter The Task\" \/&gt;\r\n\r\n\r\n           &lt;LinearLayout\r\n               android:layout_width=\"match_parent\"\r\n               android:layout_height=\"wrap_content\"\r\n               android:orientation=\"horizontal\"&gt;\r\n\r\n\r\n               &lt;Button\r\n                   android:id=\"@+id\/btnDate\"\r\n                   android:layout_width=\"wrap_content\"\r\n                   android:layout_height=\"wrap_content\"\r\n                   android:layout_margin=\"10dp\"\r\n                   android:layout_weight=\"0.5\"\r\n                   android:text=\"date\" \/&gt;\r\n\r\n               &lt;Button\r\n                   android:id=\"@+id\/btnTime\"\r\n                   android:layout_width=\"wrap_content\"\r\n                   android:layout_height=\"wrap_content\"\r\n                   android:layout_margin=\"10dp\"\r\n                   android:layout_weight=\"0.5\"\r\n                   android:text=\"time\" \/&gt;\r\n\r\n           &lt;\/LinearLayout&gt;\r\n\r\n\r\n           &lt;Button\r\n               android:id=\"@+id\/btnSubmit\"\r\n               android:layout_width=\"match_parent\"\r\n               android:layout_height=\"wrap_content\"\r\n               android:layout_margin=\"10dp\"\r\n               android:text=\"Save\" \/&gt;\r\n\r\n       &lt;\/LinearLayout&gt;\r\n\r\n   &lt;\/androidx.cardview.widget.CardView&gt;\r\n\r\n\r\n&lt;\/LinearLayout&gt;\r\n<\/pre>\n<p><strong>12:<\/strong> Now, you need to open the ReminderActivity.java file. Here, paste the below code.<\/p>\n<p><strong>Code: ReminderActivity.java<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">package com.dataflair.reminderapp;\r\n\r\nimport androidx.appcompat.app.AppCompatActivity;\r\n\r\nimport android.app.AlarmManager;\r\nimport android.app.DatePickerDialog;\r\nimport android.app.PendingIntent;\r\nimport android.app.TimePickerDialog;\r\nimport android.content.Context;\r\nimport android.content.Intent;\r\nimport android.os.Bundle;\r\nimport android.view.View;\r\nimport android.widget.Button;\r\nimport android.widget.DatePicker;\r\nimport android.widget.EditText;\r\nimport android.widget.TimePicker;\r\nimport android.widget.Toast;\r\n\r\nimport java.text.DateFormat;\r\nimport java.text.ParseException;\r\nimport java.text.SimpleDateFormat;\r\nimport java.util.Calendar;\r\nimport java.util.Date;\r\n\r\n\r\n\/\/this class is to take the reminders from the user and inserts into the database\r\npublic class ReminderActivity extends AppCompatActivity {\r\n\r\n   Button mSubmitbtn, mDatebtn, mTimebtn;\r\n   EditText mTitledit;\r\n   String timeTonotify;\r\n\r\n   @Override\r\n   protected void onCreate(Bundle savedInstanceState) {\r\n       super.onCreate(savedInstanceState);\r\n       setContentView(R.layout.activity_reminder);\r\n\r\n       mTitledit = (EditText) findViewById(R.id.editTitle);\r\n       mDatebtn = (Button) findViewById(R.id.btnDate);                                             \/\/assigned all the material reference to get and set data\r\n       mTimebtn = (Button) findViewById(R.id.btnTime);\r\n       mSubmitbtn = (Button) findViewById(R.id.btnSubmit);\r\n\r\n\r\n       mTimebtn.setOnClickListener(new View.OnClickListener() {\r\n           @Override\r\n           public void onClick(View view) {\r\n               selectTime();                                                                       \/\/when we click on the choose time button it calls the select time method\r\n           }\r\n       });\r\n\r\n       mDatebtn.setOnClickListener(new View.OnClickListener() {\r\n           @Override\r\n           public void onClick(View view) {\r\n               selectDate();\r\n           }                                        \/\/when we click on the choose date button it calls the select date method\r\n       });\r\n\r\n       mSubmitbtn.setOnClickListener(new View.OnClickListener() {\r\n           @Override\r\n           public void onClick(View view) {\r\n               String title = mTitledit.getText().toString().trim();                               \/\/access the data from the input field\r\n               String date = mDatebtn.getText().toString().trim();                                 \/\/access the date from the choose date button\r\n               String time = mTimebtn.getText().toString().trim();                                 \/\/access the time from the choose time button\r\n\r\n               if (title.isEmpty()) {\r\n                   Toast.makeText(getApplicationContext(), \"Please Enter text\", Toast.LENGTH_SHORT).show();   \/\/shows the toast if input field is empty\r\n               } else {\r\n                   if (time.equals(\"time\") || date.equals(\"date\")) {                                               \/\/shows toast if date and time are not selected\r\n                       Toast.makeText(getApplicationContext(), \"Please select date and time\", Toast.LENGTH_SHORT).show();\r\n                   } else {\r\n                       processinsert(title, date, time);\r\n\r\n                   }\r\n               }\r\n\r\n\r\n           }\r\n       });\r\n   }\r\n\r\n\r\n   private void processinsert(String title, String date, String time) {\r\n       String result = new dbManager(this).addreminder(title, date, time);                  \/\/inserts the title,date,time into sql lite database\r\n       setAlarm(title, date, time);                                                                \/\/calls the set alarm method to set alarm\r\n       mTitledit.setText(\"\");\r\n       Toast.makeText(getApplicationContext(), result, Toast.LENGTH_SHORT).show();\r\n   }\r\n\r\n   private void selectTime() {                                                                     \/\/this method performs the time picker task\r\n       Calendar calendar = Calendar.getInstance();\r\n       int hour = calendar.get(Calendar.HOUR_OF_DAY);\r\n       int minute = calendar.get(Calendar.MINUTE);\r\n       TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {\r\n           @Override\r\n           public void onTimeSet(TimePicker timePicker, int i, int i1) {\r\n               timeTonotify = i + \":\" + i1;                                                        \/\/temp variable to store the time to set alarm\r\n               mTimebtn.setText(FormatTime(i, i1));                                                \/\/sets the button text as selected time\r\n           }\r\n       }, hour, minute, false);\r\n       timePickerDialog.show();\r\n   }\r\n\r\n   private void selectDate() {                                                                     \/\/this method performs the date picker task\r\n       Calendar calendar = Calendar.getInstance();\r\n       int year = calendar.get(Calendar.YEAR);\r\n       int month = calendar.get(Calendar.MONTH);\r\n       int day = calendar.get(Calendar.DAY_OF_MONTH);\r\n       DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {\r\n           @Override\r\n           public void onDateSet(DatePicker datePicker, int year, int month, int day) {\r\n               mDatebtn.setText(day + \"-\" + (month + 1) + \"-\" + year);                             \/\/sets the selected date as test for button\r\n           }\r\n       }, year, month, day);\r\n       datePickerDialog.show();\r\n   }\r\n\r\n   public String FormatTime(int hour, int minute) {                                                \/\/this method converts the time into 12hr format and assigns am or pm\r\n\r\n       String time;\r\n       time = \"\";\r\n       String formattedMinute;\r\n\r\n       if (minute \/ 10 == 0) {\r\n           formattedMinute = \"0\" + minute;\r\n       } else {\r\n           formattedMinute = \"\" + minute;\r\n       }\r\n\r\n\r\n       if (hour == 0) {\r\n           time = \"12\" + \":\" + formattedMinute + \" AM\";\r\n       } else if (hour &lt; 12) {\r\n           time = hour + \":\" + formattedMinute + \" AM\";\r\n       } else if (hour == 12) {\r\n           time = \"12\" + \":\" + formattedMinute + \" PM\";\r\n       } else {\r\n           int temp = hour - 12;\r\n           time = temp + \":\" + formattedMinute + \" PM\";\r\n       }\r\n\r\n\r\n       return time;\r\n   }\r\n\r\n\r\n   private void setAlarm(String text, String date, String time) {\r\n       AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);                   \/\/assigning alarm manager object to set alarm\r\n\r\n       Intent intent = new Intent(getApplicationContext(), AlarmBrodcast.class);\r\n       intent.putExtra(\"event\", text);                                                       \/\/sending data to alarm class to create channel and notification\r\n       intent.putExtra(\"time\", date);\r\n       intent.putExtra(\"date\", time);\r\n\r\n       PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, intent, PendingIntent.FLAG_ONE_SHOT);\r\n       String dateandtime = date + \" \" + timeTonotify;\r\n       DateFormat formatter = new SimpleDateFormat(\"d-M-yyyy hh:mm\");\r\n       try {\r\n           Date date1 = formatter.parse(dateandtime);\r\n           am.set(AlarmManager.RTC_WAKEUP, date1.getTime(), pendingIntent);\r\n           Toast.makeText(getApplicationContext(), \"Alarm\", Toast.LENGTH_SHORT).show();\r\n\r\n       } catch (ParseException e) {\r\n           e.printStackTrace();\r\n       }\r\n\r\n       Intent intentBack = new Intent(getApplicationContext(), MainActivity.class);                \/\/this intent will be called once the setting alarm is complete\r\n       intentBack.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);\r\n       startActivity(intentBack);                                                                  \/\/navigates from adding reminder activity to mainactivity\r\n\r\n   }\r\n}\r\n<\/pre>\n<p><strong>13:<\/strong> Now, you need to create a Database Manager that will help you to connect your application to the SQLite Database. Using the database manager, you can execute all your SQL queries. For this, create a dbManager.java file and paste the below code.<\/p>\n<p><strong>Code: dbManager.java<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">package com.dataflair.reminderapp;\r\n \r\nimport android.content.ContentValues;\r\nimport android.content.Context;\r\nimport android.database.Cursor;\r\nimport android.database.sqlite.SQLiteDatabase;\r\nimport android.database.sqlite.SQLiteOpenHelper;\r\n \r\nimport androidx.annotation.Nullable;\r\n \r\npublic class dbManager extends SQLiteOpenHelper {\r\n   private static String dbname = \"reminder\";                                                      \/\/Table  name to store reminders in sqllite\r\n \r\n   public dbManager(@Nullable Context context) {\r\n       super(context, dbname, null, 1);\r\n   }\r\n \r\n   @Override\r\n   public void onCreate(SQLiteDatabase sqLiteDatabase) {                                           \/\/sql query to insert data in sqllite\r\n       String query = \"create table tbl_reminder(id integer primary key autoincrement,title text,date text,time text)\";\r\n       sqLiteDatabase.execSQL(query);\r\n   }\r\n \r\n   @Override\r\n   public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {\r\n \r\n       String query = \"DROP TABLE IF EXISTS tbl_reminder\";                                         \/\/sql query to check table with the same name or not\r\n       sqLiteDatabase.execSQL(query);                                                              \/\/executes the sql command\r\n       onCreate(sqLiteDatabase);\r\n \r\n   }\r\n \r\n   public String addreminder(String title, String date, String time) {\r\n       SQLiteDatabase database = this.getReadableDatabase();\r\n \r\n       ContentValues contentValues = new ContentValues();\r\n       contentValues.put(\"title\", title);                                                          \/\/Inserts  data into sqllite database\r\n       contentValues.put(\"date\", date);\r\n       contentValues.put(\"time\", time);\r\n \r\n       float result = database.insert(\"tbl_reminder\", null, contentValues);    \/\/returns -1 if data successfully inserts into database\r\n \r\n       if (result == -1) {\r\n           return \"Failed\";\r\n       } else {\r\n           return \"Successfully inserted\";\r\n       }\r\n \r\n   }\r\n \r\n   public Cursor readallreminders() {\r\n       SQLiteDatabase database = this.getWritableDatabase();\r\n       String query = \"select * from tbl_reminder order by id desc\";                               \/\/Sql query to  retrieve  data from the database\r\n       Cursor cursor = database.rawQuery(query, null);\r\n       return cursor;\r\n   }\r\n}\r\n<\/pre>\n<p><strong>14:<\/strong> Now, you need to set up the Alarm Manager for your application and register the broadcast receiver. Create a java class called AlarmBroadcast.java and paste the below code in your file.<\/p>\n<p><strong>Code: AlarmBroadcast.java<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">package com.dataflair.reminderapp;\r\n\r\nimport android.app.Notification;\r\nimport android.app.NotificationChannel;\r\nimport android.app.NotificationManager;\r\nimport android.app.PendingIntent;\r\nimport android.content.BroadcastReceiver;\r\nimport android.content.Context;\r\nimport android.content.Intent;\r\nimport android.os.Build;\r\nimport android.os.Bundle;\r\nimport android.widget.RemoteViews;\r\n\r\nimport androidx.core.app.NotificationCompat;\r\n\r\npublic class AlarmBroadcast extends BroadcastReceiver {\r\n   @Override\r\n   public void onReceive(Context context, Intent intent) {\r\n       Bundle bundle = intent.getExtras();\r\n       String text = bundle.getString(\"event\");\r\n       String date = bundle.getString(\"date\") + \" \" + bundle.getString(\"time\");\r\n\r\n       \/\/Click on Notification\r\n       Intent intent1 = new Intent(context, NotificationMessage.class);\r\n       intent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);\r\n       intent1.putExtra(\"message\", text);\r\n\r\n       \/\/Notification Builder\r\n       PendingIntent pendingIntent = PendingIntent.getActivity(context, 1, intent1, PendingIntent.FLAG_ONE_SHOT);\r\n       NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);\r\n       NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context, \"notify_001\");\r\n\r\n\r\n       \/\/here we set all the properties for the notification\r\n       RemoteViews contentView = new RemoteViews(context.getPackageName(), R.layout.notification_layout);\r\n       contentView.setImageViewResource(R.id.image, R.mipmap.ic_launcher);\r\n       PendingIntent pendingSwitchIntent = PendingIntent.getBroadcast(context, 0, intent, 0);\r\n       contentView.setOnClickPendingIntent(R.id.flashButton, pendingSwitchIntent);\r\n       contentView.setTextViewText(R.id.message, text);\r\n       contentView.setTextViewText(R.id.date, date);\r\n       mBuilder.setSmallIcon(R.drawable.alarm);\r\n       mBuilder.setAutoCancel(true);\r\n       mBuilder.setOngoing(true);\r\n       mBuilder.setAutoCancel(true);\r\n       mBuilder.setPriority(Notification.PRIORITY_HIGH);\r\n       mBuilder.setOnlyAlertOnce(true);\r\n       mBuilder.build().flags = Notification.FLAG_NO_CLEAR | Notification.PRIORITY_HIGH;\r\n       mBuilder.setContent(contentView);\r\n       mBuilder.setContentIntent(pendingIntent);\r\n\r\n       \/\/we have to create notification channel after api level 26\r\n       if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.O) {\r\n           String channelId = \"channel_id\";\r\n           NotificationChannel channel = new NotificationChannel(channelId, \"channel name\", NotificationManager.IMPORTANCE_HIGH);\r\n           channel.enableVibration(true);\r\n           notificationManager.createNotificationChannel(channel);\r\n           mBuilder.setChannelId(channelId);\r\n       }\r\n\r\n       Notification notification = mBuilder.build();\r\n       notificationManager.notify(1, notification);\r\n\r\n\r\n   }\r\n}\r\n<\/pre>\n<p><strong>15:<\/strong> Now, you need to set up the Notification Manager for your application. For this, you need to create a new activity called Notification Message.<\/p>\n<p><strong>16:<\/strong> Open the notification_layout.xml file and paste the below code.<\/p>\n<p><strong>Code: notification_layout.xml<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;LinearLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n   android:layout_width=\"match_parent\"\r\n   android:layout_height=\"wrap_content\"&gt;\r\n\r\n   &lt;RelativeLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n       android:id=\"@+id\/layout\"\r\n       android:layout_width=\"fill_parent\"\r\n       android:layout_height=\"64dp\"\r\n       android:padding=\"10dp\"&gt;\r\n\r\n       &lt;Button\r\n           android:id=\"@+id\/flashButton\"\r\n           android:layout_width=\"wrap_content\"\r\n           android:layout_height=\"50dp\"\r\n           android:layout_alignParentRight=\"true\"\r\n           android:layout_centerVertical=\"true\"\r\n           android:text=\"Snozz off\" \/&gt;\r\n\r\n       &lt;ImageView\r\n           android:id=\"@+id\/icon\"\r\n           android:layout_width=\"60dp\"\r\n           android:layout_height=\"45dp\"\r\n           android:layout_alignParentLeft=\"true\"\r\n           android:layout_marginLeft=\"-10dp\"\r\n           android:layout_marginTop=\"5dp\"\r\n           android:layout_marginBottom=\"5dp\"\r\n           android:src=\"@mipmap\/ic_launcher\" \/&gt;\r\n\r\n       &lt;RelativeLayout\r\n           android:layout_width=\"wrap_content\"\r\n           android:layout_height=\"wrap_content\"\r\n           android:layout_centerVertical=\"true\"\r\n           android:layout_toRightOf=\"@+id\/icon\"&gt;\r\n\r\n           &lt;TextView\r\n               android:id=\"@+id\/message\"\r\n               android:layout_width=\"wrap_content\"\r\n               android:layout_height=\"wrap_content\"\r\n               android:layout_alignParentLeft=\"true\"\r\n               android:text=\"Flashlight\"\r\n               android:textColor=\"#000000\"\r\n               android:textSize=\"13sp\" \/&gt;\r\n\r\n           &lt;TextView\r\n               android:id=\"@+id\/date\"\r\n               android:layout_width=\"wrap_content\"\r\n               android:layout_height=\"wrap_content\"\r\n               android:layout_below=\"@+id\/message\"\r\n               android:layout_alignParentLeft=\"true\"\r\n               android:layout_marginTop=\"3dp\"\r\n               android:text=\"90% Charging\"\r\n               android:textColor=\"#000000\"\r\n               android:textSize=\"13sp\" \/&gt;\r\n       &lt;\/RelativeLayout&gt;\r\n   &lt;\/RelativeLayout&gt;\r\n&lt;\/LinearLayout&gt;\r\n<\/pre>\n<p><strong>17:<\/strong> Now open your NotificationMessage.java class and paste the below code.<\/p>\n<p><strong>Code: NotificationMessage.java<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">package com.dataflair.reminderapp;\r\n\r\nimport android.os.Bundle;\r\nimport android.widget.TextView;\r\n\r\nimport androidx.appcompat.app.AppCompatActivity;\r\n\r\n\/\/this class creates the Reminder Notification Message\r\n\r\npublic class NotificationMessage extends AppCompatActivity {\r\n   TextView textView;\r\n\r\n   @Override\r\n   protected void onCreate(Bundle savedInstanceState) {\r\n       super.onCreate(savedInstanceState);\r\n       setContentView(R.layout.activity_notification_message);\r\n       textView = findViewById(R.id.tv_message);\r\n       Bundle bundle = getIntent().getExtras();                                                    \/\/call the data which is passed by another intent\r\n       textView.setText(bundle.getString(\"message\"));\r\n\r\n   }\r\n}\r\n<\/pre>\n<p><strong>18<\/strong>: Now, as the last step, you need to edit your Manifest File. Here you need to add some permissions and some declarations. You can paste the below code in your manifest file.<\/p>\n<p><strong>Code: AndroidMainfest.xml<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;manifest xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n   package=\"com.dataflair.reminderapp\"&gt;\r\n\r\n   &lt;uses-permission android:name=\"android.permission.SYSTEM_ALERT_WINDOW\" \/&gt;\r\n\r\n   &lt;application\r\n       android:allowBackup=\"true\"\r\n       android:icon=\"@drawable\/data_flair\"\r\n       android:label=\"@string\/app_name\"\r\n       android:roundIcon=\"@drawable\/data_flair\"\r\n       android:supportsRtl=\"true\"\r\n       android:theme=\"@style\/Theme.ReminderApp\"&gt;\r\n       &lt;activity android:name=\"com.dataflair.reminderapp.splashActivity\"&gt;\r\n           &lt;intent-filter&gt;\r\n               &lt;action android:name=\"android.intent.action.MAIN\" \/&gt;\r\n\r\n               &lt;category android:name=\"android.intent.category.LAUNCHER\" \/&gt;\r\n           &lt;\/intent-filter&gt;\r\n       &lt;\/activity&gt;\r\n       &lt;activity android:name=\"com.dataflair.reminderapp.ReminderActivity\" \/&gt;\r\n       &lt;activity android:name=\"com.dataflair.reminderapp.MainActivity\"&gt;\r\n\r\n       &lt;\/activity&gt;\r\n\r\n       &lt;receiver android:name=\"com.dataflair.reminderapp.AlarmBroadcast\" \/&gt;\r\n   &lt;\/application&gt;\r\n\r\n&lt;\/manifest&gt;\r\n<\/pre>\n<p>The Android Task Reminder App building is done, and you can go ahead to test it. Just click on the run button, and then you can notice the output as follows<\/p>\n<h3>Android Task Reminder App Output<\/h3>\n<p><strong>1. Home Screen:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/task-reminder-home-screen.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-99502\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/task-reminder-home-screen.jpg\" alt=\"task reminder home screen\" width=\"350\" height=\"754\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/task-reminder-home-screen.jpg 350w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/task-reminder-home-screen-320x689.jpg 320w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/a><\/p>\n<p><strong>2. Add Reminders Screen:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/add-reminder.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-99503\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/add-reminder.jpg\" alt=\"add reminder\" width=\"350\" height=\"734\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/add-reminder.jpg 350w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/add-reminder-320x671.jpg 320w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/a><\/p>\n<p><strong>3. Task Notification:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/task-notifications.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-99504\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/task-notifications.jpg\" alt=\"task notifications\" width=\"350\" height=\"734\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/task-notifications.jpg 350w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/task-notifications-320x671.jpg 320w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/a><\/p>\n<h3>Summary<\/h3>\n<p>Through this article, you saw what a reminder application is. You came across the features of a simple reminder application. Moving forth you got to know the flow, prerequisites, and the description of the project. Finally, you came across an implementation of the entire Android Task Reminder App. I hope you got thrilled with the application and would share your application with your friends and family.<span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:2607,&quot;href&quot;:&quot;https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1t0CgdcGgLeDPD4HcDit82ovZjcLbRAQA\\\/view?usp=drive_link&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20260601084925\\\/https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1t0CgdcGgLeDPD4HcDit82ovZjcLbRAQA\\\/view?usp=drive_link&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-06-01 10:51:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-06 06:50:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-12 20:13:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-19 11:05:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-23 15:17:34&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-23 15:17:34&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, we will get through a simple but valuable Task reminder app using Android. Let\u2019s dive into the project without wasting further time. About Simple Task Reminder Application: Do you tend to&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":99505,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18722],"tags":[22373,22476,24863,24849,24851,24850],"class_list":["post-97876","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","tag-android-project","tag-android-project-for-beginners","tag-android-reminder-app","tag-android-task-reminder-app","tag-android-task-reminder-app-code","tag-android-task-reminder-app-project"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Android Task Reminder App [Source Code Included] - DataFlair<\/title>\n<meta name=\"description\" content=\"Build Simple Task Reminder App using Android Studio. It will track all your necessary tasks &amp; notify you about the job through notifications.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android Task Reminder App [Source Code Included] - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Build Simple Task Reminder App using Android Studio. It will track all your necessary tasks &amp; notify you about the job through notifications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-28T03:30:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-01T08:47:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/android-project-task-reminder-app-project.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Android Task Reminder App [Source Code Included] - DataFlair","description":"Build Simple Task Reminder App using Android Studio. It will track all your necessary tasks & notify you about the job through notifications.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/","og_locale":"en_US","og_type":"article","og_title":"Android Task Reminder App [Source Code Included] - DataFlair","og_description":"Build Simple Task Reminder App using Android Studio. It will track all your necessary tasks & notify you about the job through notifications.","og_url":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2021-07-28T03:30:51+00:00","article_modified_time":"2026-06-01T08:47:16+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/android-project-task-reminder-app-project.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"Android Task Reminder App [Source Code Included]","datePublished":"2021-07-28T03:30:51+00:00","dateModified":"2026-06-01T08:47:16+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/"},"wordCount":1074,"commentCount":5,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/android-project-task-reminder-app-project.jpg","keywords":["android project","android project for beginners","android reminder app","Android Task Reminder App","Android Task Reminder App code","Android Task Reminder App project"],"articleSection":["Android Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/","url":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/","name":"Android Task Reminder App [Source Code Included] - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/android-project-task-reminder-app-project.jpg","datePublished":"2021-07-28T03:30:51+00:00","dateModified":"2026-06-01T08:47:16+00:00","description":"Build Simple Task Reminder App using Android Studio. It will track all your necessary tasks & notify you about the job through notifications.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/android-project-task-reminder-app-project.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/07\/android-project-task-reminder-app-project.jpg","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/android-task-reminder-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Android Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/android\/"},{"@type":"ListItem","position":3,"name":"Android Task Reminder App [Source Code Included]"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team creates expert-level guides on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our goal is to empower learners with easy-to-understand content. Explore our resources for career growth and practical learning.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam1\/"}]}},"amp_enabled":false,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/97876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=97876"}],"version-history":[{"count":7,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/97876\/revisions"}],"predecessor-version":[{"id":148692,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/97876\/revisions\/148692"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/99505"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=97876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=97876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=97876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}