Android Application Development (Android Studio, PHP, XML, MySQL)
Developed an Android Application which connects to a cloud database for Update, Retrieve, Edit and Delete queries for Quarter Allotment of Employees.
OBJECTIVES:
1) Design a cloud-based MySQL Database for storing and performing operations of all employee data.
2) Design a User Interface based on Android to enable user to interact with the Database.
3) Implement the above using JAVA, XML and PHP.
SCOPE:
1) Apply (Insert) of Application
2) Modification (Edit) of Application
3) Cancellation (Deletion) of Application
4) Status of Application
2. INTRODUCTION
For fulfillment of Industrial Summer Training (CO471) credit
requirement, we underwent a month long internship program at IOCL,
Guwahati Refinery from 15th June, 2018 to 15th July, 2018 under the
guidance of Mr. Manoj M. Parhate, DGM(IS).
We were assigned to develop a basic android application to streamline
the process of Quarter Allotment in Guwahati Refinery.
3. OBJECTIVE
Develop an android application for the employees of IOCL, Guwahati
Refinery which will help to streamline the process of applying for
Quarters and their allotment. In order to achieve this we plan to
implement the following:
● Design a cloud-based MySQL Database for storing and performing
operations of all employee data.
● Design a UI to enable user interaction with the database.
● Enabling the above by using tools like JAVA, XML and PHP.
4. OVERVIEW
● Android is an open source and Linux-based Operating System
developed by Open Handset Alliance, led by Google.
● First beta version of the Android Software Development Kit (SDK)
was released by Google in 2007, where as the first commercial
version, Android 1.0 was released in September 2008.
● It has been the best-selling OS worldwide on smartphone since
2011 and has over two billion monthly active users.
6. ARCHITECTURE
• The foundation of Android is the
Linux Kernel.
• Hardware Abstraction Layer provides
standard interface that expose device
hardware capabilities to the higher
level Java API Framework.
• Each application runs its own
process and with its own instance of
Android Runtime (ART). It supports
multiple virtual machines on low-
memory devices by executing DEX
files, a bytecode format. It also
includes a set of core runtime
libraries which provides functionality
of Java and Java API Framework.
7. ARCHITECTURE
● Many core Android system components and services, such as ART and HAL, are
built from native code which requires Native C/C++ Libraries.
● Entire feature-set of Android OS is available through APIs written in the Java
Language.
○ View System – Can be used to build an app’s UI.
○ Resource Manager – Providing access to non – code resources such as localized strings,
graphics and layout files.
○ Notification Manager – Enables all apps to display custom alerts in status bar.
○ Activity Manager – Manages the lifecycle of apps.
○ Content Providers – Enables apps to access data from other apps.
● Android comes with a set of core apps for email, SMS, calendars etc. The
System Apps function both as apps for users and provide capabilities that
developers can access for their own app.
8. IMPORTANT APPLICATION FILES
● Main Activity – This is the
application file which ultimately get
converted to a Dalvik (DEX)
executable and runs the application.
public class MainActivity extends
AppCompatActivity {
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
• Manifest File – All components of the
application resides in manifest.xml.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.tutorialspoint7.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
9. IMPORTANT APPLICATION FILES
● Strings File – strings.xml file
contains all the text that the
application uses.
<resources>
<string name="app_name">HelloWorld</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<string
name="title_activity_main">MainActivity</string>
</resources>
• Layout File – activity-main.xml is the layout file
referenced by the application when building tis
interface.
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:padding="@dimen/padding_medium"
android:text="@string/hello_world"
tools:context=".MainActivity" />
</RelativeLayout>
10. ACTIVITIES
An activity is a single, focused thing that
the user can do. All activities interact with
the user, so the Activity class takes care of
creating a window in which we can place
our UI with setContentView(View). Android
system initiates its program with an
Activity starting with a call on onCreate()
callback method.
14. PRINCIPLE
Android Applications can be developed using Kotlin, Java and C++
languages. We used JAVA in our project. The code along with any data
and resource file is compiled by the Android SDK tools into an APK
(Android Package Kit). One APK file contains all the contents of an
Android Application and is the file that android-powered devices use to
install the application.
15. How an Android Application is Run?
● The android operating system is a multi-user system in which each
application is a different user.
● By default, the system assigns each application an unique Linux user
ID.
● The system sets permissions for all the files in an app so that only
the user ID assigned to that app can access them.
● Each process has its own virtual machine, so an app’s code runs in
isolation from other apps.
● By default, every app runs in its own Linux process. The android
system starts the process when any of the app’s components need
to be executed, and then shuts down the process when it’s no longer
needed or when the system must recover memory for other apps.
23. WELCOME
SCREEN
Apply button will lead to next
page which is an Input Form.
View button will display all the
entered data from the database.
24. APPLY SCREEN
Here, the user can enter all his
relevant details to be stored in
the database.
25. VIEW SCREEN
It displays few relevant details
from the database. Upon
clicking each of the item we can
Edit or Delete accordingly.
26. EDIT/DELETE
SCREEN
On clicking the delete button,
the entry for this item will be
removed from the database.
Similarly, on clicking the edit
button we go into a Update
Form page.
27. UPDATE
SCREEN
Here, the values are pre-filled
and we can only change the
required values as per
requirements and update it to
the database.
28. CONCLUSION
The project “Quarter Allotment Application” was designed and carried
out for convenience of employees of Refinery to make the process of
applying for quarters mobile by using their android smartphones.
The project was completed in a short span of one month and due to
such time constraints further development of the application couldn’t
have been carried out. However, the development process must go on.
29. BIBLIOGRAPHY
Throughout the development process, following source of information
were referred to expand our knowledge base:
● https://developer.android.com/ (The official site for Android app
developers).
● LinkedIn Learning
● Udemy Courses
● https://www.w3schools.com/ (PHP and MySQL)