Assignment Last
Assignment Last
UNIVERSITY OF SUNDERLAND
ASSIGNMENT COVERSHEET
Pokharel Date:04/08/2021
Assessment Title:
Journey Journal
Mark
1
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
General Comments
(subject to
ratification by the
assessment board)
……………………………………………………………………
2
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
I confirm that in submitting this assignment that I have read, understood and adhered to the University’s Rules and procedures
governing infringements of Assessment Regulations.
Student Signature:
3
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
Table of Contents
Analysis ............................................................................................................................................ 5
Approaches ................................................................................................................................... 5
Storage .......................................................................................................................................... 7
Design .............................................................................................................................................. 7
Functionality ................................................................................................................................... 13
Edit Activity................................................................................................................................ 15
Evaluation....................................................................................................................................... 33
References ...................................................................................................................................... 35
4
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
Analysis
Approaches
Here in the first, we are having the discussion on the use of the approach in the application
development. We could find the different mobile development approaches but here for the
development of the Android app I am using the Native App development approach. There are also
different approach like Cross-Platform development, Hybrid App development and others. Among
them, I choose to use the Native development because of the matching requirement of my I find there.
Native app development is the use of the platform-specific programming languages, software
development kits and development environments offered by the OS providers (Oladele, 2021). This
means that we can develop the IOS and the android app in the different platform by the use of the
different technology stacks. I choose this approach because in the cross-platform development we
could have the issue in the upgrading because of the unclear upgrading path. In the similar way, I found
that the use of hybrid app development could have the slow performance in the application, which
could affect the User Experience. So in the having of the native development, I found that there are no
such problems there. Also native app development helps to have the responsive app, good UX, better
performance, security than other and approaches. Because of these features I choose native
development approach.
Operating System
Here we can find that the most widely used OS in the current world are IOS and android. Here
according to Team InMobi (InMobi, 2021) there are about 2.5 billion active Android users worldwide
with more than 3 million devices all across the globe and there were about 1 billion iPhone users
worldwide in the early 2021. This stat shows that there are most of the iPhone and android user.
Android vs IOS, it’s the debate we stumble every now and then. For me, android clearly tops IOS
because of its affordability, flexibility, functionality, customization and value for money. I can also
get access to variety of apps and games via playstore on android without hurting my wallet. Since
5
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
android is of open-source nature, it also offers great sense of freedom. We can tweak my devices and
do anything I want. I can also get variety of devices which runs with android OS while I have to pay a
lot more for an iPhone. Android covers 70% of market share where as apple covers only 29%. Day by
day, android is growing fast with technology and proving itself why its better than IOS. Here are some
Navigation patterns
As we can see the universal navigation bar in android phone but we cannot see that type of navigation
bar in iPhone. With the help of the navigation bar, it becomes easy for the android users to navigate
backward. But the IOS has only the home button which doesn’t allow us to move backward.
Also, there are difference in button in iOS and Android as the android use the button named Floating
Action Button (FAB) but iOS uses call to Action Buttons. FAB is better as it is circular in the shape
and different behavior in the motion, launching and transferring of the anchor point.
Programming languages
We can find the different programming language for the development of the application in the different
platform like Swift which is used for the making of iOS and the Java, Kotlin, C++, Python and others
for the android development. Swift is especially used for the making of the application for iOS. We
use XCode for iOS development and Android Studio for Android Application Development. On using
the android OS there must be the programming language that can develop the android application. So
that among the different programming language we can using the Java as the programming language
as it is widely accepted because of OOP, opensource and also because of help of community. We can
find Kotlin as easier and faster but Android relies more on the Java as one of the base languages. The
most important thing on using of Java as programming language is that the most of standard libraries
6
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
of the Java are there in the Android SDK which we use in developing of the application. The different
libraries are like graphics, data structure, math, networking and also other special libraries.
Storage
We can find the different storage design for the android and for the iPhone. There is difference in
between storage of android and iPhone as In the iPhone we use the CoreData for the save, track, filter
and modification of the data. We cannot say CoreData as the database but it uses the SQLite for the
storing. While in the database for the android app we have room database which is given by the android
Design
Design is one of the most important part of the any application we develop as the user is directly
connected to it. It can be used for visualizing the general structure of the mobile app. Wireframe
designs helps in user experience as well as plan on how to achieve user’s goals. App’s structure, user
flow, and navigation are comprised in it. Wireframe provides a good overview of how users will
interact with it. This help app developers to avoid mistakes, save time and develop the app faster.
7
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
The apps’ screen hierarchy is illustrated in the above figure which is designed with the help of draw.io.
With this, we can get the general idea of how the user can navigate inside the application. As for more
detailed idea and requirement, wireframe is designed to think better ways for interaction between UI
The Journey Journal should be able to let users create or record a journal related to their adventure.
When a user starts the application, user should be presented Splash screen followed by entry screen
which is Login screen. To login, user needs registered email and password as traditional login method
is implemented in the app. They should be able to register their account on the register screen. After
registering, the dashboard screen should open automatically or either go to Login screen. The home
screen contains of the journal lists which is initially empty. The user is provided with a floating option
button to add the journal entry. When clicking on the circular button, the add screen should open where
user needs to enter journal details like title, thoughts, date, etc. and save it. The saved entries should
be listed on the main screen. The journal list item, when clicked backed, should open a bottom sheet
dialog on the bottom of the screen through which user can open edit screen. User can manage the
entries by performing update or delete action as per requirement. After finding using the app, user
should be able to logout of the app by selecting logout option available on the main screen of the app.
8
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
9
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
10
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
11
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
Material Design is a style statement created by Google that was first released with the Lollipop
operating system and has recently gained popularity in the design and development of Android apps
(Anon., n.d.). The android user standards are can be met about how app elements function by following
Material design. Material design covers aspects like as color theming, font/typography, material design
Standard android theme is used in the Journey Journal app which has a native android feature of
universal button navigation containing three buttons which helps in moving between screens.
Androids’ material design suggests raised and plain buttons. The texts on the buttons are all uppercase
and can be adjusted as needed. Floating action button is another component that is used in android
apps to perform common actions of the application. The floating button floats on the UI and this helps
12
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
The another material design that I used in my design is the data and time picker in the addition of the
date and time of the journal. With the help of this, the user can easily pick the date and time and the
UI becomes more interactive. It is because the date and time are embedded into dialogs and makes
easy for the picking of the date and time. We can pick the 24hrs format as well as AM/PM with the
The next thing that I used in my application as material design is the bottom sheet. In this bottom sheet
we can see each and every data that we save in the application. From the button sheet there we can
have the button where we can navigate to the editing deleting of the data site. This bottom sheet is
The Material design urges the designer to have the images and the predefined icons in the application.
So that I have used the logo of my application which attract the user attention. And also the different
icons are used in the login and the registration part which also meets the current material design.
The material design also makes thee designer to work on the color, text of the application and in the
color, I have used the color that will attract the user’s attention as different color palettes were used
depending upon their importance. After that the text are used accordingly in the different place. The
bold text are used on the application which follows the special function like on button, in the different
Next thing is that I have used action where we can find the button from where we find the logout button
there. Also there have been the use of the whitespace in my application as we can see the whitespace
in the dashboard, journal addition page, and edit page which helps us in the formatting and can help in
the getting of the attention to the application. Like this I am using the different material design in my
application.
Functionality
13
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
Nothing in the world is built without the purpose and have their own functionality in them. In the
similar way I have developed the android application which have the different functionality in it. The
main purpose of my application is that the user can save the journal of the journey that he travelled.
For the user to save the journal I have the different functionality in my application. The different
First of all for the adding of the journal of their journey and travel they need the registration of the user
so that they can login and add the journal of their travel. For the registration of the user, we need the
Email, Username and the password. By the registration of the user only we can login to save the
Login Activity
After the registration of the user, we can Login to the dashboard for the adding of the journal. For the
login we need the Email and the password that we registered in the register activity. If the email and
password don’t match then there will be the recommendation to give the correct email and password.
We can see the design of Login in activity_login.xml. In this activity it verifies the email and the
password that got registered and helps in login to the dashboard or MainActivity.
Main Activity
After the completion of the login activity then we are directed towards the dashboard or the main
activity where we can see the add button and the dashboard screen where we can see the data that we
add. We can see the MainActivity design in activity_main.xml in the android studio.
When we click the add button in the main activity we go to the screen where we can add the journal
of our journey. In the addition of the journal, we can add the journal title, journal description, date of
14
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
visit, time of event and also can add the image. The data that we added can be seen in the main
activity/dashboard. We can see the adding of the journal data in the add_journal.xml in the android
studio. In this activity we add the journal name then we add the description of that journal and also can
pick up time and date with the latitude and longitude of that place from the map.
In the viewing of the journal activity, we can see the different journals we added. The all of the journals
that they added are viewed on the dashboard where they can go for the managing of the journals.
Edit Activity
After the adding of the data, we can see it in the dashboard and by clicking on it we can see the
description and also can edit the data and update the data. This is one of the main functionalities for
the users as they can edit the data what they have saved. We can see the design of the Edit activity in
the edit_activity.xml. In this activity we can edit the data of the journal that we added.
Delete Activity
After the addition of the data in the main activity. We can also delete it if we think the data, we save
are no more important for us. A click can delete the data. This is the activity that we can see when we
click the edit button in the button sheet. With the help of delete activity we delete the data that we
Logout Activity
The user can logout if they don’t want to stay logged in. There is the button in the action bar which
15
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
The addition of the location is that the user can add the longitude and latitude of the location through
map. Here the Google Maps API has been used for the Google maps from where they can have the
In the software development life cycle, we have the process called testing it and it is one of the most
important things to know how much our development has become successful. The testing is done after
the development so that the users who use the application don’t get any issues on using it. The testing
makes us to add or delete of the properties according to the requirement and helps us in the changing,
improvement of the application in the continuous way. Almost most of the development uses the test
strategy for the better outcome of the work they did (RajKumar, 2022) . The testing helps to know us
if the application is fully functional or not and also helps to know the user experience. This helps us to
change our application accordingly for the better functionality and user experience.
In the similar way I having the testing on Journey Journal app. As my journey journal mobile
application is not so large so that I am having the UI/UX test and the test of the integration inside the
application. Integration testing means testing of the integration of the different activity of the project.
Like the different buttons are used for the connection. As we know that there must be the better UI for
the better UX so that for the better interaction I am testing if the application that we made flow as
expected or not. Here in the testing, I am having a table which include the testing of each and every
• Registration activity
• Login activity
16
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
• Add button
• Adding of journal
• Geo location
• Edit button
• Updating of journal
• Deleting of journal
In the table I have the different columns they are SN, expected output and the actual output with the
screenshots.
output output
17
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
valid registered
get logged
in and a
toast
message
should be
shown
(user
registered).
18
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
19
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
and to the
password, dashboard
logged in journal
be able to
access
dashboard.
20
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
clicks taken to
floating another
in which is
he/she screen.
should be
taken to
another
screen
which is
Add
journey
screen.
21
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
journal viewed in
should be the
the message
dashboard. (Journal
Added)
22
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
23
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
entry a clicked on
specific description.
description
of clicked
journal.
24
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
in the screen.
dialog box,
he/she is
taken to
Edit journal
screen.
25
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
button a a toast.
toast
message is
shown
(journal
updated).
26
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
specific journal by
to delete button in
sheet journal
dialogue screen.
will appear
at button
when
clicking the
edit button
in dialogue
box user is
taken to
Edit journal
screen. In
edit journal
screen
there is
delete
button at
27
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
the bottom
if user
clicks the
delete
button, then
the journal
is deleted
from the
dashboard.
28
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
29
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
should longitude
be able to map.
select
location
they want
with
longitude
and latitude
of the
location.
30
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
logout screen.
button will
open when
clicking it
user is
redirected
to the login
screen.
31
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
32
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
Evaluation
The journey for the completion of the android application development was really interesting journey.
I think this development would really help in the real world also. It was not easy for me to start the
development of the android application but with the help of my teacher, reading of the articles and
help of my friends helps me for the completion of the application. The errors in the development makes
more interesting to do the development. I found the error in the each and every stem that I took in the
application. Finding out of the errors solution makes me to research more and more on that topic which
helps me on the completion of the project. I think the application that I developed is fully workable
The application that I made for the collection of the different journey journals have used the native
mobile standards and have used the material design according to the google. The next thing is that we
can easily see that there has been the use of the different methodology and technology for the
completion of the application. As we can see the clean user interface and have the better screen
hierarchy. The application looks same as the application which are trending nowadays but are some
what distinct as my application have the use of the animation, own color pallets and also the own logo.
Not only this the color used in the application is soothing which attracts the attention of the users. Also
the addition of the journal is not so hard that the floating button looks attractive there which grabs the
attention of the users. Also the user can see the full detail of the journal just by clicking on the view
on the dashboard as the bottom dialog opens when we click on the saved journals which include all
the detail of the journal. There is the use of the authentication while logging in and also in the
registering of the user the user cannot leave any field there for the registration. This makes the
Also the date and time picker helps the user to pick the time and date in the easy manners as they don’t
need to write the time and date manually which makes the user feel more comfortable. Also there is
33
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
the use of the progress bar which runs on the loading time and doesn’t makes the uses to be distracted
Because of all these features on the application I feel like this is good. But actually, I know that the
nothing in the world is perfect and there is always the backwardness in the things. In my application
also there are many things that we can add for the better application. There is the no use of the forgot
password there as the part is not functionable. This could be made functionable. After that in my
application I don’t have any page for the user profile management which can be added. Also there is
no feature in the application to add the picture of the journals which could be added. After that there
can be the flexibility for the user to add and delete the pictures they added and they can also share their
images in the different social media. Not only this the application has not fulfilled all of the material
design principles which can be fulfilled later. In the coming time there can be the increment of the
users and load so that there we can use the faster algorithm for it.
From this we can see that the application has not crossed the boundary of mobile standards and the
material design. We can also see the managed development process of application. Like this I can
evaluate as application as a good application. Not only this the working in the application increase the
personal skill also like the problem solving skill, decision making skill and other which could help me
34
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)
Android Development 2022
References
35
Arbin Shrestha (BSc (Hons) Computer System Engineering/ Fifth Semester)