Xem mẫu
- DEVELOPING ANDROID APPLICATION USING ANDROID
STUDIO FOR FOOD ORDERING APP
SVTH: Hoàng Thị Thùy Dương,
Trần Thị Mịn, Nguyễn Thị Cẩm Tú
GVHD: ThS Đỗ Thị Phương Thảo
Tóm tắt - Để đồng hành với sự phát triển như vũ bão của cuộc cách mạng khoa học công
nghệ, việc tối ưu hóa các chức năng ứng dụng, đặc biệt là các sản phẩm phần mềm trên thiết bị di
động là vô cùng quan trọng. Thế giới ngày càng đòi hỏi những sản phẩm phần mềm di động ngày
càng tiện dụng hơn để đáp ứng những nhu cầu thiết yếu nhất của con người. Các sản phẩm này
không chỉ cần hiệu quả mà còn phải nhanh chóng, cập nhật liên tục và có thể mở rộng với cơ sở
dữ liệu rất lớn. Trong bài báo này, nhóm phát triển sẽ thảo luận về việc phát triển ứng dụng
Android bằng Android Studio, cùng với lý do sử dụng công cụ này và trình bày kết quả của việc
xây dựng và phát triển một ứng dụng thực tế Ứng dụng Đặt hàng Thực phẩm.
Abstract - In order to accompany the rapid development of the scientific and technological
revolution, it is extremely important to optimize application functions, especially software products
on mobile devices. The world increasingly requires more and more handy mobile software
products to meet the most essential needs of people. These products not only need to be
effective, but also fast, constantly updated and scalable with a very large database. In this paper,
the development team will discuss developing android apps using Android Studio, along with the
reasons for using this tool and present the results of the build and development a practical
application Food Ordering Application.
Keywords – Android Studio, Java, FireBase.
I. INTRODUCTION
In recent years, the emergence of smart phones has modified the definition of mobile
phones. It is no longer just a communication device, but also become an essential part of
the people’s daily life. Various applications of android provides entertainment and other
necessities of modern life.
It provides a link between people and people.
For mobile developers, this is a reality great and exciting era. Android[2] is an open
source architecture that consists of the Operating system, application famework, Linux
kernel, middleware and application as well as a set of API libraries for developing mobile
applications that can give look, feel, and function of mobile handsets. The Android
platform can be expanded to enhance reliability, usability and other features of prevailing
products by developers. Without any problem and complexity, they can easily write
application code that can make mobile hardware more useful and user friendly. In this
63
- research, we discuss on Android Studio for the mobile application development and
Firebase for database design and development. Java language codes are used to develop
android mobile application which allows developers to write codes in the Java language.
Android Mobile Application Development is basically used to create user friendly and
innovative applications.
II. MAIN CONTENT
A. What is Android Studio?
Android studio is the official IDE integration development environment for the
development of applications running on the Android platform. It was first announced at
Google I/O in May 2013 and is developed by Google. It is used to be able to create the
majority of applications that you can use every day on android devices.
This software acts as an editor for the selected programming language (Android
Studio supports Java, C ++ and now Kotlin, although Java is the official language of
Android), a compiler can create APK files and file system to organize your project. It also
includes an XML editor and "design view" for arranging elements on the screen.
Android Studio offers a full suite of additional tools, and most of them will come
bundled up for one-time download. In fact, it also comes with the Android SDK, although
you'll still need to download and install the Java JDK separately.
In addition to IntelliJ's code-power editor and developer tools, Android Studio
supplies even more features to exalt productivity when constructing Android apps, such
as:
Flexible Gradle-based construction system
The emulator is fast and feature-rich
A synchronized environment for you to apply to all Android devices
Apply Changes to push code and resource changes to your running application
without restarting your application
Code templates and GitHub integration to help you build popular application
features and import sample code
Extensive testing tools and frameworks
Lint tools for capturing performance, usability, version compatibility and other
issues
64
- Supports C ++ and NDK
Integrated support for Google Cloud Platform, making it easy to integrate Google
Cloud Messaging and App Engine.
B. Why use Android Studio?
Previously, Eclipse was the main Android development tool that developers used.
The tool is also a generic IDE that supports many different programming languages,
including Java with the Android SDK. However, Eclipse does not provide these supports
already and requires a bit of setup to use them. Once released, Android Studio quickly
replaced Eclipse because it could integrate most of Google's support in one install.
Android Studio is increasingly used in popularity because the Android Studio setup
process is quite simple and easy thanks to its installer. When downloading Android
Studio, in addition to Android Studio, you will get Android SDK, SDK manager and many
other tools included. The only tool you will need is the Java Development Kit (JDK).
App built on Android Studio will connect to FireBase. Firebase is a real-time
database service provided by Google and operated in the cloud. It helps programmers to
rapidly develop mobile applications by simplifying database operations.
Apps built on Android Studio will then be compiled into APK format for submission
to the Google Play Store.
So, Android Studio is the perfect choice for building and developing android apps.
C. Android studio on real application: Food Ordering Application
Food Ordering Application is an application built to meet the needs of people to eat
and drink conveniently in the era of technology 4.0. This application provides menus of
different restaurant chains for customers to choose and order, then the shipper takes
delivery of the delivery to the place that Customer provides. This application has a
friendly and easy to use interface for users. Along with the ability to display real data, it
also allows administrative users to update data in an easy way.
Our Food Ordering Android App is built on top of Android Studio, with Java
programming language and FireBase database.
To access the app, first need to install the app on your Android device. After
clicking on the app, the app is being loaded.
65
-
D. Development of Food ordering application
1. Analysis
From the requirements given by the instructor, the project team has listed the most
important use cases for this system:
• Customers: View menu, search food, add/remove to cart, edit profile, place order,
make payment, rate food
• Restaurant Employees: Add/ remove/ modify menu, update order status, view
statistics
• Delivery: Update delivery status
The following diagram presents Entity-Relationship :
66
- 2. Backend design
Java is a high level programming language, which developed by sun microsystem.
It was originally designed to develop the web Application. The syntax of java language is
similar to c++ programming language. However, it is an object-oriented programming
language. Classes and methods make up a Java program. The java program are
interpreted by java virtual machine which almost the entire platform. The java program
developments require a java software development kit, which typically include
complier, interpreters, and documentation generatoretc. which is used to produce a
complete code [3].
Firebase : It’s a database management system that enables development of databases
and tables. It supports a large amount of information storage, allows concurrancy control
services, quick data retrieval , easy data manipulations (updating, deleting, insertion, sum,
difference, multiplication, division ), it stores alphanumerical data, therefore with those
enhanced features it had to be our best choice for designing the back end of system.
3. Frontend design
Unlike normal java programming, the classes in android programming written in
* .java file also uses XML(Extensible Markup Language) to design interface for the
application. Of course an interface still can be design without needing any XML lines, but
using XML will make the work simpler. Besides, XML will help easily editting the
application later.
4. Implemetation
After getting the logical structure of the system, the implementation step began. In
this step, the logical structure converted to physical architecture through coding and
development of the system. The frontend and backend of the system has
been
developed and tested.
E. Food Ordering App- work results
After a long time of working with this project, the project team has released the first
major version of Food ordering app. The following images are some outstanding
capscreen of usecases in our app:
67
- Splash Screen Sign In/ Login
Customer’s feed Food Details
68
- Shopping Cart View Chef’s Menu
Rating
Chef Post Dish
69
- Chef Update Dish Chef View Statistics
F. Evaluation
1. Achivement
The project has gone through a series of activities to develop a complex solution for
the online food ordering system. After analysis of the project’s goal and research
direction, a set of objectives were established. We have implemented all the core
functionalities of admin, customer, chef and delivery like: login/logout, manage account,
view homepage, edit/add/remove/update prduct, update status,..
2. Limitation
• Customer cannot place more than one order at the same time. This means if they
want to booking the second food in different restaurant, they will must wait until
completed the fisrt order.
• Interface is still simple. In the future, we will try to make it become eye-catching
and attractive.
3. Future recommendations
In addition to the unfinished requirements, there are other possibilities of
further improving the project. The respondent of user acceptance testing also suggest some
improvement ideas. The improvements may include:
o Overcoming the limitations mentioned above
o Presenting graphical floor plan for table management and reservation.
o Adding support for food order delivery tracking.
70
- o Advanced inventory control with material storage and expiry information.
o Managing customer loyalty membership and discount voucher.
o Converting the system to progressive web application.
G. Conclusion
In this paper, the authors have discussed about Android Studio with the application
in Food Ordering Application. The paper has also coined the advantages with Android
software environment, and has shown great environment for developer. Future of Android
and its SDK is very wide. Android opens a wide area of possibility with new features and
personal preferences, it has created a new era in sharing open source software
equipment’s. The resulting app – Food Ordering Application – may not be the fastest
application to develop, and performance may be not yet good enough for a large number
of users at the same time, but it also had essential features which is convinient for user. In
the future, more goal will be gained on this project to bring more useful functionalities and
enhance the usability of the application.
REFERENCES
[1] https://searchmobilecomputing.techtarget.com/definition/Android-Studio
[2] https://www.tutorialspoint.com/android/android_architecture.htm
[3] Deitel, P., & Deitel, H. (2011). Java How to program. Prentice Hall Pres
71
nguon tai.lieu . vn