A6f. Alerts for Courses The mobile application allows the user to set alerts for either the start or the end date of each course, or the alerts do not trigger when the application is not running. A7a....

2 answer below »


A6f. Alerts for Courses



The mobile application allows the user to set alerts for either the start or the end date of each course, or the alerts do not trigger when the application is not running.



A7a. Assessments for each Course



The mobile application allows the user to add performance and objective assessments for each course but cannot include the title of the assessment and the end date for each assessment.



A7c. Alerts for Goal Dates


The mobile application allows the user to set alerts for either the start or the end dates for each assessment.




1 Mobile Application Development Report Guru Katuwal Mobile Application Development – C196 Carolyn Sher-DeCusatis 12/30/2021 Mobile Application Development Report The storyboard The application starts with a home activity that has an edittext to enter the term’s name and two date pickers to pick a start and an end date. Below the edittext, there are two buttons one to save the terms details and the other one to navigate to a page for viewing all terms added. On the view terms page, there is a recyclerview that list all terms added. If a user clicks a single view, another activity opens that show a detailed term view. On a long press of a view, a dialog with four buttons appears. The buttons are named as follows. Update Term, Add Course, View Course, and Delete Course. On a click of Update Term button, an activity opens where user can edit and saved term’s details. Add Course button opens an activity to add as many courses as possible for that particular term. Delete Course deletes the clicked term. View Course opens an activity that has a list of all added courses of that term displayed using a recyclerview. On a click of a course, an activity with a detailed course view opens. On a long press of a course, 7 options are displayed using a dialog as follows. Update Course, Add Assessment, View Assessment, Add Optional Note, View Optional Note, Share Optional Note and Delete Course. Update option opens an activity where user can update course details. Add Assessment adds an assessment to the selected course. Add optional notes adds an optional note to the course selected. View Optional Note opens an activity that displays the added optional note. To view course notes, you long press a course, and a dialog appears with several options. There is an option to view optional notes. If you click on the option, an activity with course notes opens. Above the notes, there are two buttons for updating and deleting the notes. Share optional note opens an activity that ask user for recipient phone number to send the optional note via SMS. Delete Course deletes the course selected. View assessment options opens an activity that has a list of all assessment associated with the course selected. On a click of an assessment, an activity opens that displays a detailed assessment view. On long press of an assessment, two options to update and delete assessment appears. About adding assessment type, when you long press a course, there is an option to add an assessment. There are several edittext to enter assessment data assessment type included. A user enters either performance or objectives. The application has a notification function that checks and alert users on the start and end dates of a terms, courses and assessments. Below are the screenshots of the flow of the application Home Page View terms page Dialog when term is long presses Add Course Screen Screen to view all courses Dialog for long press of a course Screen to add an assessment Screen to view all assessment Screenshot for generating APK file For successful build For the generated APK file How the application would be different if it was to be developed for a tablet If the app was to be used on a tablet, some layouts and element properties would have changed. Tablets have a larger screen as compared to smart phones thus there is need to change some properties to make the output be proportional to screen size. For instance, I would have used a relative layout rather than using constraints layout or linear layout with a gravity of center. In case of using a linear layout, instead of making the gravity of layout to be center, I would use margins instead. For width and height of elements such as Edittext, buttons and textviews, instead of using match_parent property, I would define the height and width using sp. Fragments would also be different. I would arrange fragments in rows and columns form if I was to make the application for tablets. This would help to utilize the large screen of a tablet well and also to arrange items displayed in an attractive way. To achieve this, a linear layout with multiple frames that will hold the fragments would be used. The minimum and target operating system. The minimum operating system for the app Android 5.0 (API level 21) and the target operating system is Android 12 (API level 31). Challenges faced while developing the app 1. Syntax error. 2. Error while generating APK file 3. Dependencies failed to sync. 4. Apk app crash while launching using an android device due to database failure to create a table How I overcame the challenges 1. For the syntax error, I used to google on the how the syntax of a certain code to perform a certain task should look like. 2. Error while generating APK file was as a result of syntax error or some dependencies not working. I solved this be debugging the project and fixing the error that make it difficult to generate an apk file. 3. Dependency failure was as a result of using old dependencies that are not compatible with the Sdk version I was using. The solution was to google for the latest dependencies and replace them with the old ones. 4. The reason for app crashing was that I fast created the first table and tested it using the android device. When I add the second table, it failed to create successfully. I fixed this by uninstalling the app and installing it again to create a new database with the two tables. How I would do differently if I was to develop the app again I would use another database that can be hosted in an online server such as MySQL. The reason for using this database is that the data is safe and cannot be lost if you uninstall the app. To connect to MySQL database, I would use PHP to create a REST API for my backend and use androidnetworking of volley to send requests and receive responses. How emulators are used. Emulated are applications or programs used to simulate other devices. They are used to run apps that cannot run on a certain operating system. For instance, an android app cannot run on a windows PC (Emulators can turn your PC into a Mac, let you play games from any era, and more — here's what you should know about the potential benefits and risks of using one, 2020). To run the app, you need to install an emulator that is capable of running android apps. While developing android apps using android studio, you need an emulator to test then. When you run a project, it builds an APK file and installed it on a virtual machine that works just like a smart phone. They are mainly used by developers to test apps over many devices to test their app functionality efficiently. Pros of emulators 1. Emulators simulate both hardware and software. 2. They are free and open source 3. There is no need to modify apps in order to run then over emulators. 4. It is easy to connect them to IDE for early testing of app. 5. It is cheap. Pros of development devices. 1. Most of them comes with IDE thus no installation needed. 2. Are free and easy to use. 3. They are compatible with applications developed using the IDE. 4. They are fast in running applications. Cons of emulators 1. They are sometimes slow as a result of simulating both software and hardware. 2. Factors such as conflict with other apps or overheating are not put into consideration while using emulators 3. It is time consuming to setup a good emulator and test apps. 4. Some apps might be incompatible with certain emulators. 5. They usually support only a particular OS version. Cons of development devices. 1. They lack additional to customize running of apps 2. They support only one operating system 3. Some produces result that are different in other android devices such as smartphone References Emulators can turn your PC into a Mac, let you play games from any era, and more — here's what you should know about the potential benefits and risks of using one. (2020, October 16). Business Insider Africa. https://africa.businessinsider.com/tech-insider/emulators-can-turn-your-pc-into-a-mac-let-you-play-games-from-any-era-and-more-heres/1hzq5xt
Answered 22 days AfterJan 19, 2022

Answer To: A6f. Alerts for Courses The mobile application allows the user to set alerts for either the start or...

Manish answered on Feb 11 2022
112 Votes
Alert App
The programme begins with a home activity that includes an edittext field for entering the term's name as well as two date selectors for selecting a start and end date. There are two buttons below the edittext, one to store the terms information and the other to link to a website where you can see all of the terms you've entered. There is a recyclerview on the view terms page that displays all terms added. When a user selects a single view, a new activity appears, displaying a detailed term view. A dialogue with four buttons opens after a lengthy press of a view. The following are the names of the buttons: Update Term, Add Course, View Course, and Delete Course are all options available.

When users click the Update Term button, a new activity appears, allowing them to update and save the information of the term. The Add Course button launches an activity that allows you to add as many courses as you want for that term. The clicked phrase is deleted when you click Delete Course. View Course launches an activity with a recycler view that displays a list of all added courses for that term.
An activity with a full course view opens when you click on a course. Following a lengthy push of a course, a dialogue with seven possibilities appears. Course Refresher, Add an Assessment, View an Assessment, Add an Optional Note, View an Optional Note, Share an Optional Note, and Delete a Course are all options available. The Update option launches an activity in which the user may change course information.
Add Assessment is a command that adds an assessment to a course. Add optional remarks and add a note to the course you've chosen. View Optional Note displays the newly inserted optional note in a new activity. Long pressing a course brings up a menu with different options for viewing course notes. Viewing optional remarks is an option. When you select the option, a new activity with course notes will appear. There are two buttons above the notes for updating and removing the notes. Share optional note launches an action in which the user is prompted for the recipient's phone number in order to send the optional message through SMS.The course you've chosen is deleted when you click Delete Course. View assessment choices displays a list of all examinations related to the course you've chosen. An activity that offers a thorough assessment view opens when you click on an evaluation. When you hold down the long press button on an evaluation, two alternatives to amend and remove it appear. When you long press a course, you'll get an opportunity to add an evaluation. There are various edittext fields for entering assessment data and assessment type. Either performance or targets are entered by the user.
The application has a notification function that checks and alerts users on the start and end dates of terms, courses and assessments.
How this is implemented
While your app is not in use, notifications deliver concise, timely information about happenings in your app. This page explains how to build a notification for Android 4.0 (API level 14) and above with numerous capabilities. The Notifications Overview provides an overview of how notifications display on Android. The Android Notifications Sample contains sample code that uses notifications.
The NotificationCompat APIs from the Android support library are used in the code on this page. These APIs let you add functionality that are only available in subsequent Android versions while maintaining backward compatibility with Android 4.0. (API level 14). On previous versions, however, some new features, like the inline reply action, are a no-op.
Include the library of help.
Although most Android Studio projects have the required dependencies for NotificationCompat, you should double-check your module-level build.
The following dependencies are included in the gradle file:
val core_version = "1.6.0"
dependencies {
implementation "androidx.core:core:$core_version"
}
Note: Other libraries in the androidx group also include core as a transitive dependency. So if you're already using other Jetpack APIs, you might have access to NotificationCompat without requiring the exact dependency shown above.
Create a basic notification
A notification in its most basic and compact form (also known as collapsed form) displays an icon, a title, and a small amount of content text. In this section, you'll learn how to create a notification that the user can click on to launch an activity in your app.
Figure 1 shows a title and text for a notice.
Read the notification anatomy for further information on each component of a notification.
Set the content of the notification
To get started, use a NotificationCompat.Builder object to configure the notification's content and channel. The example below explains how to make a notice using the following:
· setSmallIcon creates a little icon (). This is the only material that should be shown to the user.
· setContentTitle creates a title ().
· setContentText specifies the body text ().
· setPriority determines the priority of notifications (). On Android 7.1 and below, the priority controls how obtrusive the notice should be. (If you're using Android 8.0 or higher, you'll need to specify the channel significance, which is covered in the following section.)
It's worth noting that the NotificationCompat.Builder function Object() { [native code] } requires a channel ID. This is essential for Android 8.0 (API level 26) and greater compatibility, while previous versions disregard it.
The text content of the notice is shortened to fit one line by default. You may enable an expanding notice by adding a style template with setStyle to your notification if you want it to be longer (). For instance, the following code expands the text area:
For more information about other large notification styles, including how to add an image and media playback controls, see Create a Notification with Expandable Detail.
Create a channel and set the importance
Before you can deliver the notification on Android 8.0 and higher, you must register your app's notification channel with the system by passing an instance of NotificationChannel to createNotificationChannel(). So the following code is blocked by a condition on the SDK_INT version:
Because you must create the notification channel before posting any notifications on Android 8.0 and higher, you should execute this code as soon as your app starts. It's safe to call this repeatedly because creating an existing notification channel performs no operation.
Notice that the NotificationChannel constructor requires an importance, using one of the constants from the NotificationManager class. This parameter determines how to interrupt the user for any notification that belongs to this channel—though you must also set the priority with setPriority() to support Android 7.1 and lower (as shown above).
Although you must set the notification importance/priority as shown here, the system does not guarantee the alert behaviour you'll get. In some...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here