Xem mẫu

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. Splash Screen Sign In/ Login Customer’s feed Food Details 68
  7. Shopping Cart View Chef’s Menu Rating Chef Post Dish 69
  8. 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
  9. 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