ANDROID APPLICATION DEVELOPMENT Internship Project Report (Submitted in Partial Fulfillment of the Requirements for the award of the degree) Of Bachelor of Technology In Computer Science Engineering Submitted By AMIT KUMAR RAI 00296202718 DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Dr. AKHILESH DAS GUPTA INSTITUTE OF TECHNOLOGY & MANAGEMENT (AFFILIATED TO GURU GOBIND SINGH INDRAPRASTHA UNIVERSITY, DELHI) NEW DELHI – 110053 MAY 2020 1 Dr. AKHILESH DAS GUPTA INSTITUTE OF TECHNOLOGY & MANAGEMENT NEW DELHI 2020 Table of Contents CERTIFICATE issued by Training Institute CHAPTER 1: INTRODUCTION 1.1 Introduction About the Company 1.2 Problem Statement 1.3 Proposed Solution 1.4 Project objectives CHAPTER 2: PROJECT 2.1 System Interfaces 2.1.1 Users on Internet 2.1.2 Tools and Platforms 2.2 System Specifications 2.2.1 H/W Requirements 2.2.2 S/W Requirements CHAPTER 3: DESCRIPTION FUNCTIONALITY CHAPTER 4: CONCLUSIONS 4.1 Conclusion 4.2 Limitations of the System 4.3 Future Scope of the Project AND REFERENCES CHAPTER 5: ANNEXURE 5.1 Screenshots 2 CERTIFICATE issued by Training Institute 3 INTRODUCTION Udemy, Inc. is an American online learning platform aimed at professional adults and students. It was founded in May 2010 by Eren Bali, Gagan Biyani, and Oktay Caglar. As of Jan 2020, the platform has more than 50 million students and 57,000 instructors teaching courses in over 65 languages. There have been over 295 million course enrollments. Students and instructors come from 190+ countries and 2/3 of the students are located outside of the U.S. Students take courses largely as a means of improving job-related skills. Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company. As of 2020, there are more than 150,000 courses on the website. The headquarters of Udemy is located in San Francisco, CA with satellite offices in Denver, CO; Dublin, IE; Ankara, TR; Sao Paulo, BR; and Gurgaon, IN. Udemy is a platform that allows instructors to build online courses on their preferred topics. Using Udemy's course development tools, they can upload videos, PowerPoint presentations, PDFs, audio, ZIP files and live classes to create courses. Instructors can also engage and interact with users via online discussion boards. 4 Courses are offered across a breadth of categories, including business and entrepreneurship, academics, the arts, health and fitness, language, music, and technology. Most classes are in practical subjects such as Excel software or using an iPhone camera. Udemy also offers Udemy for Business, enabling businesses access to a targeted suite of over 4,000 training courses on topics from digital marketing tactics to office productivity, design, management, programming, and more. With Udemy for Business, organizations can also create custom learning portals for corporate training. Courses on Udemy can be paid or free, depending on the instructor. In 2015, the top 10 instructors made more than $17 million in total revenue. In April 2013, Udemy offered an app for Apple iOS, allowing students to take classes directly from iPhones; The Android version was launched in January 2014. As of January 2014, the iOS app had been downloaded over 1 million times, and 20 percent of Udemy users access their courses via mobile. In July 2016, Udemy expanded their iOS platform to include Apple TV. On January 11, 2020, the Udemy mobile app became the #1 top grossing Android app in India. 5 Problem Statement 1. There is a need to Develop Andoid Application that can offer people a facility to buy groceries online with the small device they carry in their pocket. With the ease of creating a selection list of their interests and buy them all with a single click. 2. Its very difficult for an individual to remain fit due to his/her busy schedule , so there is a need to develop an application that can take care of that and timely remember an individual to do exercises and yoga based on his/her selection of schedule and exerecises. 6 Proposed Solution 1. Grocery Shopping App A grocery shopping is an android application where users can purchase and order groceries online. The system is developed with a user-friendly and attractive GUI. It delivers a wide range of groceries available online. Users have to first login into the system to view the groceries and add them into their cart. They can then order it by making a secure online payment via CREDIT CARD. The system functionality of products and orders is stored on server side in a web service. The android app is for client usage. It consists of client side scripting for placing orders by connecting to the server side webservice. 2. Gym Application This app provides user a facility to select a schedule and type of exercise based on their need . User can select various exercises from a list of options. Gym app can be a good option for them as a health checker. I use java language to develop this application with android studio as IDE and UI development tool , for the UI I use XML . 7 Project Objective Mobile App Development is becoming more popular in the world. Now a day’s many start-up companies and many industries are implementing the mobile apps for their business to improve their business and attract more customers to the business. Businesses develop mobile apps based on their users, they can prefer iPhone apps development, Android app development, Blackberry app development, Windows apps development, or all. Every day the new devices are arriving to the market with innovative features, thanks to growing technology. The evolution of mobile technology with the new devices has made our lives simpler. In the smartphone world, just having an app and running website is not enough. According to a recent study, it has shown that more than 45% Google search happens in smartphones. The number is so impressive and there is a growth in the mobile industry. Being available on internetenabled device is required for each and every business nowadays, which has given birth to mobile application development. 8 Project Description System Interface Graphical User Interface is used to interact with the user in a much useful and pleasurable way. The user can interact with the application through the GUI(Graphical User Interface). The graphical user interface is used by most commercially popular computer operating systems and software programs today. It's the kind of interface that allows users to manipulate elements on the screen using a mouse, a stylus, or even a finger. Tools and Platform 1. Android Studio 9 As the official integrated development environment for all Android applications, Android Studio always seems to top the list of preferred tools for developers. Google created Android Studio back in 2013. It replaced – or should we say it eclipsed? – Eclipse Android Development Tools (ADT) as the primary IDE for native Android app development. Android Studio provides code editing, debugging, and testing tools all within an easy-to-use drag-and-drop interface. It is free to download and is supported not only by Google, but also by a large and actively engaged community of Android developers. 2. ADB (Android Debug Bridge) Android Studio includes the Android Debug Bridge, which is a commandline tool or “bridge” of communication between Android devices and other computers that can be used during development and the overall debugging and QA process. By connecting an Android device to the development PC and entering a series of terminal commands, a developer is able to make modifications as needed to both devices. 3. AVD Manager Another useful feature of Android Studio is the AVD Manager, the short form for Android Virtual Device. The AVD Manager is an emulator used to run Android apps on a computer. This allows developers the ability to work with all types of Android devices to test responsiveness and performance on different versions, screen sizes, and resolutions. 10 4.Gradle Back in 2013, Google endorsed Gradle as a build system for Android apps. Based on Apache Maven and Apache Ant, Gradle is one of the most popular development tools for creating large-scale applications involving Java. Developers like using Gradle in conjunction with Android Studio because it’s very easy to add external libraries using a single line of code. 5. IntelliJ IDEA 11 From the developers at JetBrains, IntelliJ IDEA is designed for ultimate programmer productivity. It’s extremely fast and features a full suite of development tools right out of the box. At $149 per year, IntelliJ IDEA certainly isn’t cheap. However, there is a free, open source community edition available and the full extended version is free to students for one year. SYSTEM REQUIREMENTS 1. Software Requirements – Android Studio, Android Operating System for testing 2. Hardware Requirements – Monitor, CPU , Keyboard, Mouse, Android Mobile Phone, USB Cable for sharing of data. 12 Functionality Grocery Shopping App 1) Social Login In the social media dominated world, it is quite obvious why we need the social login feature in our apps. All the apps and websites encourage customers to open an account to use their services. Account helps both the businesses and the customers to keep track of their things. On the other hand, it’s really cumbersome for customers to keep track of their all the accounts of various sites and apps. That’s where social media logins help. Customers use only one ID and businesses get all the necessary information they require. So you have to have social media login in your app. (2) Smart Search Think of a scenario : You have thousands of products but customers cannot find a specific one from that pile. That means your thousands of products are worthless. You have to have a smart search engine that can find a needle in the haystack as well as display similar and related products. That’s how Google performs its business. So, the integration of smart search in your On Demand Grocery Deliver App is inevitable. 13 (3) 1 Click Add To Cart After searching, customers will do one of two things. Either he will decide to buy a specific item now or later time or he will not buy it at all. So if he wants to buy that particular product now, 1 Click Add To Cart feature really helps. When the customers don’t have to go to another page or click more than once, they don’t lose interest in shopping. They are indirectly encouraged to browse more things with 1 Click Add To Card functionality. Also, the total value of cart can be displayed on it and it will help customers keep track of their budget. (4) Favorite, Popular & Recommended Sections Like favoriting a photo on Instagram or liking a post on Facebook, if you add a functionality to add a star or add it to a favorite list, it will enhance the user experience. As a business, you will have an insight of the likes and dislikes of customers. Also, if they are greeted with a ‘Popular’ section for the trending items of the store or personalized ‘Recommended For You’, it will be a win-win situation for all concerned parties of On Demand Grocery Delivery Apps. 14 Gym App (1) Personalization/Setting target Every user has a unique body structure, needs, and goals. Providing them with the same fitness course won’t be a good idea. So, it is essential to give personalized services to them and make them feel valued. Allow them to set their own targets, decide which exercise or activity they want to perform, what supplements they need to intake, and more. With these personalized features, users will tend to be more consistent and stay committed to your application. (2) Activity Log Enabling users to record their daily activity is an essential feature of a fitness application. The recorded stats will inform your users how much calories they have burnt and how long it will take them to achieve their goals. It will also motivate them to be more dedicated to workout (3) Push Notifications A missed workout can break the users’ routine as well as their interaction with your app. So, adding a push notification system to your app can encourage them to exercise and use your app regularly. Additionally, it can give you an extensive understanding of user behavior using which you can deliver a better experience to them. But make sure not to send too many notifications to your users. It may annoy them, and once a frustrated user left the app, he/she will never come back. 15 Conclusion Requirement Analysis of Grocery shopping App and Gym Application has been done and its Report has been written successfully. Limitations of the application App-crashing or forced closure is a norm with Android devices and staunch Android phone users have now gotten used to this flaw. App may lag due to defects in code. All the aspects of the application is not measured. User have to take preventive measures for their data in application. 16 Future scope of project 1. Open Source Android is an open source operating system. It helps the developer to register once and then they can develop and test different apps. On android SDK one-time registration fee is $25 to get a developer account on Google play which helps you to publish multiple android apps. For paid apps, Google charges 30% commission and for free apps, they are distributed free among all users. 2. Huge Market The mobile app market is the fastest growing app market in India. Android developers can publish their apps on other platforms like SlideME, Opera Mobile Store, Mobango, etc. Most of these platforms or markets are free. Such platforms are creating a huge market for android mobile app development in India. 3. High Return on Investment with Low Cost Developers can use Android Software Development Kit. They have to pay only once for registration rest they can build multiple apps. They can purchase any computer device to build and test their application, by this they invest less and increase user engagement. Thus end users are benefited using interactive apps and the company gains high return on investment. 17 4. User Base is Larger As discussed before android has a large number of users and it continues to grow. Thus companies are getting benefited with this number. Android allows you to develop apps and games for millions of users. Thus reaching to a larger number of users gives you the perception of market. 5. Job Opportunities for Android Developer As the market is larger for Android, jobs for android mobile app development is increasing in India. Developers who are knowledgeable and experienced will have good salary package in this industry. Approx. 25000 openings are there for android mobile app development in India, the number itself shows the huge amount of growth in this industry. For experienced developer’s salary lies between Rs 1.2 to 4.6 lakh per annum. 18 ScreenShots from Application Gym Application 19 20 21 22 Grocery Shopping App 23 24 25 26