As ASAC required from us we will start building application responsible to distributing, management, creating and editing the tasks for user, so we start this build after midterm project and we will use Android studio to help us build this application.
Today I learned how to sign up in google AdMob service to enable me active the ads for my application, after that I know how to add the different type of ads in my application like banner, Interstitial and rewarded and how to implement each type in my code from the prepare to load the ads then load the ads and finally show it.
Here is some screenshot files to see my work today you can see it here
Go directly to the edited activity here
Today I learned how to start collecting basic, aggregated analytics on user usage events, and read task descriptions to users out loud and translate the task description to the user from english to arabic
Here is some screenshot files to see my work today you can see it here
Go directly to the edited activity here
Today I learned how to create account to google cloud services and add my bills to it, After that I starting to learn how to use the google maps platform and generate api key to link my application with the google map service, In addition I know how to request the permission from the user and how to check if the location service on the mobile device is enabled or not, also I learn how create google map object to load the map from google and a lot of other nice things.
Here is some screenshot files to see my work today you can see it here
Go directly to the edited activity here
Today I learned how to share content from my application to other applications, and how to share stream to from other application to my application all that done by use the intent and its services, In addition I learned how to share text from any other application and send it to my application.
Here is some GIF files to see my work today you can see it here
Go directly to the edited activity here
Today I learned how to start work with storage in aws (S3) storage how to start configure it and add it in gradle build file In addition I learned how to upload file to s3 storage and how to delay with the key of image and connect it with the task, also I learned how to convert the the image to bitmap then to file to prepare it to upload process After that I started to applied function the function that responsible on download the files and pass the key for it to get specific file and I used generate random string method to naming the key of files.
Here is some screenshot to see my work today you can see it here
Go directly to the activities package here
Today I learned how to implement the authorization process using Cognito service from the awa services and enable users to make their own accounts, by implement some coding to enable that and the process I learned today is make sign up function that allow the user to make his or her account, login function to let user enter to they accounts, sign out function to help user to log out from the current device or all device at the same time, reset password function to help the users to reset their passwords, change password method to let the logged in user to change the password if he want and last thing methode to keep user logged in in the application, In addition I learned how to implement the progress bar To remove doubt from the user's imagination.
- Here the user can enter the email and the password to log in process.
- Creating amazing UI consist of different color to Attract the user's attention.
- Add keep me signed in checkbox to keep user logged in.
- Add forget password listener to move the user to reset password activity.
- Create new account button to passing on the user to sign up activity.
- The activity which the user can enter his\her email to send verification code to that email.
- After click the reset button the user will handing over to reset password activity to enter the sent code and the new password with the confirmation.
- Here the users can set their information to create new account.
- All prevented logical process implemented here to prevent the user from make mistake in sign info process, like enter short password and enter passwords that are not the same or keep one of important edit text empty...etc.
- When the user click on the sign up button that will direct it to verification code activity to enter the sent code.
- After that the login in process will require from the user.
- Edit the over flow menu and add the sign out option.
- Improvement the style of the page.
- Add the user name with image on the top of the page To find out his\her identity.
- Make the settings page as list view and add three item are edit profile, change password and delete account.
- Edit profile will handle the user to the edit user information like name and soon the email.
- Change password let user to change the password for security reasons when he know the current password and determine if the user want to sign out from all devices or from this device only.
- Delete account enable the user to delete his\her account but before that an alert dialog will appear to ensure that if the user really want to delete the account or not and the user must enter a random string to ensure that is not a robot.
- Make a lot of improvement on all styles in my app and change the font type for entire application.
- Improve some functionality.
Here is some screenshot to see my work today you can see it here
Go directly to the authorization package here
Today I learned how to make my app ready to publish to the play store and how to create developer account in google console, also I learned how to build my project as an apk file and attached it to this directory.
To show my apk version please go here.
Today I learned how to make different relations between the database tables, so in this project I used the one to many relationship, in addition I learned how to query the data from cloud api and and how to filter the result from the api, also I learned how to make splash screen, and the most important thing I learned today is how to connect the results from the query with the recycler view, the last thing I learned today is how to show the tasks that related with the user team only.
- If yes the main activity will start.
- If no the setting page will appear and request from the user to enter username and the team.
3- Before the setting page launch the process of query for all teams will happen to allow user choose his/her team.
4- Before the main activity launch the process of query of all tasks related to the user team will done to show all the tasks.
Here is some screenshot to see my work today you can see it here
Today I learned how to get started create amazon web service account and I started with initialize amplify project by follow the official documentation also at my project level I replace the store the data in data base to store it in the amazon cloud in dynamoDB and I learned how to initialize amplify project and push it to the cloud.
Here is some screenshot to see my work today you can see it here
Today I learned how to make a full espresso test starting from how to initial the required dependencies to build.gradle file, then I wrote many tests type like, check the hint test, click on button test, recycle view test, adapter view test and so, I do this tests for add task activity, settings activity, recycler view activity and update activity.
- Filter the tasks according to its states.
- Now you can delete the task if you don't want it.
- Adding some style in my application.
- Now you can edit title, description and state of task.
- Add espresso test to a lot of activity.
Here is some screenshot for my work today you can see it here
Go to test directly from here
My code here
Today I learned how to Save data in a local database using Room, first I start with do setup for my room by add dependency in gradle file after that I created a Primary component represented by database class, data entities and data access object (DAO) then I modified my add task page to save the task object to database after that I rendered my database in my home page.
- Refactor the home page to show the tasks list from the database.
- Modify the function of add task button in add task page to store the data in the database.
Here is some screenshot for my work today you can see it here
Today I learned how to build Recycle view to display the content of tasks list and learn how to set the look of each object inside the list by creating custom list recycler view to show the tasks as a list and set what happen when you click on the each task, that's will direct you to task details page where you can see the description and state of the task.
- Refactor the home page to show the tasks list.
- Move the all task button to over flow menu at the top right.
- Add spinner to add task form represent the states of the task.
- Now the task added by the user (Shared preference) is also added to the list shown in the home screen.
- Add New Task button as a floating point at the home screen.