Train Time Check Notification (App Development)
Dr. Premakumari T1 , Dr. Gayathri R 2, Sathana C3, Sowndharya RMS3, Sonali MS3
1 Assistant Professor, Department of ECE, Sona College of Technology ,Salem.
2 Professor and Coordinator, Department of ECE, Sona College of Technology ,Salem.
3Student, Department of ECE, Sona College of Technology ,Salem.
Abstract
Railways are the vastly using transporting method in India. But railway gate causes more traffic than an usual road. The mobile app which updates the status of the gate is useful for reducing the traffic caused by railway gate. This is done by using android studio. Android studio is used to develop mobile application. This App fetches the current location of the user and display the gate closing and opening time of the nearby railway gate and also notify the user before reaching the railway gate.
Keywords – Android studio project , Train application, gate timings , Mobile app development.
1.INTRODUCTION
Nowadays everybody using the mobile phones and the availability of mobile apps is on increase . In early days to access the internet and to check mails everyone have to use the computer , but now everyone have mobile phone and internet. Today mobile phones play an major role of so many individuals due to mobile apps .The use of mobile apps can be seen in many areas like education, cooking, social media ,communication, shopping, business , and banking etc… so the app developers and app developing companies are always working to keep up to date with the demands.
Most of the peoples who are struggling in railway gate does not know the exact time of closing and opening time of gate, if they get notification before, they were escaped from traffic pollution and also save the time if they know the timing of gate closing. They stop wasting time in unnecessary places and try to cross railway gate before closing.so, it is helpful to save the time.
This is done by using android studio. Android Studio is great platform to develop android Application.
In android studio Kotlin and java is used. But java is the popular languages that is being Used for building apps. By using android studio, we can create different layout and data which is displayed in the app, and that is stored in the database. It is also possible to make androidstudio as database and it is called as android Roomdatabase (or) use separate database like SQLite.
The following process is used to develop an android app
Step1: Set your project space:
Initially install Android studio software and create a project.It will show menu icon for the available features description and teaches a way for building the app.
Step2: Start develop your app:
Now it is possible to start building your app.Android studio has many features includes:Designing user interface,writing the code,creating resources for many devices.”write yourapp”
is used to know more about tools and features available.
Step3: Building the code and run:
To build a project, debug APK package (Android file package) should be installed and run on Android device.To know more about how to run the code “Build an Run” option is used.Build variants can be created to produce different APK’s from the project and to make APK file small,”shrink your code & resources”.
Step4: Iteration:
This is an Iteration phase in which eliminating bugs and improving app performance is possible.To know more about basic debugging methods, “Debug your app and Write and view logs”
can be read. To know about memory usage, network traffic, CPU effect “performance profiling tools”
can be read. To know about building tests,”Test your app” can be used.
Step5: Publishing the App:
After finishing all the process it is ready to release the app on playstore but it is necessary to consider about versioning and signing it with a key.To know more “Publish your App” can read.
Fig 1: Workflow to build an android app.
2. LAYOUT DESIGN
The first step is to open Android studio and create new project. It is mandatory to create layout for android application . In this Project, java is used for coding. Because Java programming is very easy to understand android apis which depends on java apis. And also it is faster and easier to develop android application.
A. Main Activity
The Activity is a screen which user can interface like windows. If we use java ,C, C++ for programming then the program starts from main () . The system commence its program to start the activity by calling On Create method . There is seven types of call backs
OnCreate()
OnStart()
OnResume()
OnPause()
OnStop()
OnDestroy()
OnRestart()
OnCreate() - This function is called when first activity is created. It is background process.
Onstart() – This function is called after the activity is created.This will be first visible to the user.
OnResume() – This function is called When the user using the application.
OnPause() – This function is called when user moves to next activity and come back to same position,the activity remains same.
Onstop() – This function is called when the user clicks home button.
OnDestroy() – This function is called when user clears the screen history.
OnRestart() – This function is called When the user again restart his activity.
The main activity is the main screen of the mobile app. In this, everything should be declared, which is used inside.In the main activity, there are some In-build lines which is given by android studio. The lines are:
App Compact Activity: It contains Base class for activities to use some of the newer platform features on Android devices. And also, it contains activity lifecycle.
Saved Instance state : The saved Instance state is known as bundle object it transferred to oncreate method for each activity It save the state in the bundle Example: when people watch YouTube, suddenly they will go outside the app. That state was saved in bundle and again when they go to YouTube video. This state helps to play the video continuously.
Bundle: Bundle is used to transfer the data from one place to another place (inside the application). The values which is transferred is stored as String keys which are later used in the next activity to retrieve the values.
In the main screen, the data which is stored in database is visible when the location matches to data in database.After opening the app, the user got the message. If they didn’t turn on the GPS location in the settings of the phone, then it is automatically directed to settings. After turning on the location, it is redirected to the main screen with the message fetching data.
Fig 2: message to turn on location
Fig 3: Redirected to settings
Fig 4: Fetching location
Figure 2 and 3 represents: If the location is not turned on after opening the app, it is directed to settings and
asks to turn on the location to the user.
Fig 5:Error message
Fig 4 and Fig 5 represents: After turning on the location the user get the message fetching data in this process the application fetch the user current location and compare the current location with the data stored in database if the user location does not match with data base data the user get the message as no data available for this location
For user permission request or access, the below Code is used:
<uses – permission
android: name = “android. permission. ACCESS_COARSE_LOCATION”/>
android: name = “android. Permission. ACCESS_FINE_LOCATION”/>
<uses-permission android: name = “android. Permission. INTERNET”/>
B .Creating Layout
The main screen activity is shown in the main activity. To create the screen and to create the layout, mostly recycler view is used. The recycler view has 3 stages:
Layout Manager
View holder
Adapter.
The layout manager decides in what manner the List should be arranged.The view holder created the view. The adapter Recycle the view and decideswhere to place the data.The adapter has 3 process:
On create: It creates the view.
On Bind view holder: recycle the view
Get item: It is responsible for the number of items.
C . Database process
The MYSQL is used as database and anybody can install it .Relational Database Management System (RDBMS) is the client server it uses StructuredQueryLanguage (SQL). SQL is the mostly usedDatabaselanguage . It is easy, quick processing, proven Reliability and flexibility to use.
SQLite is the popularly used database in app development Although other databases like MYSQL, SQL are available, for beginners SQLite will be very usefull to gain knowledge in database. SQLiteopen helper class is used for implementation of database.For extending the class and override the methods this class will be helpful.
The loading process of main screen : Get list from Server. We store the data in separate database. To fetch the data from database, the string request is used. The server checks whether the location given in database matches to current location. If not, they used to get the message as “sorry, no data available for this location”. else, it is used to display “The data json object and jsonarray list” is used. In the database the data is stored in the table Manner.
Fig 6: Main screen display (output)
Fig 7: MYSQL database
Fig 6 and 7 represents : If the user location matches to the data which is stored in database, the information about gate is visible. example : In database, If places X and Y data is stored, and if the user is in the place X the data is displayed.
3. CONCLUSION
Mobile apps have become an part of our daily life due to the various functionalities that they offer. So it is necessary to build a successful app which is free from bugs and more user-friendly. The developer must consider the challenges faced and try to overcome them by following the proper steps.
It is concluded that there is no specific platform available to know the status of closing and opening time of railway gate.Using this app user can decide their travel path before reaching anywhere near railway crossing and help them to escape from traffic.
Developing new and innovative apps will lead to a possibility of significant revenue. There are also few research observations made. That could serve as a scope for future areas of research. The future work is to fetch the user live location. And to display the data based on live location using android studio.
REFERENCES
1. Android programming: The Big nerd Ranch guide (Bill phillips,chrisstewart and Kristin Marsicano).
2. Headfirst Android Development.
3. Java programming for android developers for dummies(Barry Burd).
4. Android programming : pushing the limits.
5. GUI design for android application (Ryan Cohen , Tao Wang).
6. The busy coder’s guide to advanced android development(mark L. Murphy).
7. Professional android (Reto Meier and Lan Lake).
8. Android Design pattern (Greg Nudelman).
9. SQL Cookbook ( Antony Molinaro).
10. SQL Queries for Mere Mortals : A Hands – On Guide to data is a book (john L. Viescas).