The most lightweight (but fast, efficient, and feature-rich) QR code scanner and barcode scanner app for Android phones. The name of the developed app is “QR Barcode Scanner & Reader”. As the name consist of different keywords which represents the idea of an application. Basically, this application is used to get the information stored inside different barcode and qr code which can be achieved by scanning the codes with the help of the camera. Application also helps us to store and generate barcode and qr code. This application scans/reads nearly all types of qr code and barcode including email, text, event, location coordinates, messages, contact, telephone, WIFI, URL, EAN, UPC, data matrix and IBAN.
User scan the barcode or qr code using camera, after the scan application automatically opens a new screen in which the decoded information is shown on the screen and appropriate action according to the format/type of the barcode or qr code is shown on the screen. This application can be used to scan different coupons / coupons codes and save money.
Application allows us to share your important information like bank details and contact information with other using the qr code generator feature.
Application also provides different features like flash, focus and change camera from front to back and from back to front to help the users of an application to scan the codes easily by using these features. Even users can scan the qr or barcode images stored in the gallery.
App is designed and developed for anyone who wants to scan and generate the barcode and qr code. Now a days everyone requires an app like this as qr code are now everywhere like in every shopping mall there are qr codes sign to connect to the WIFI. On every receipt we receive from the store there is a qr code which contain an information about the store and refund policy of the store.
Software Design Decision
The application code is written in such a way that it can be reused. The application user interface is designed in such a way that anyway can start using the app without any proper tutorial or guidance. Application consists of only two activity SplashActivity and MainActivity other than these all screen are fragment on the main activity. Application is not using any API or Server to store the user scanned information SQLite (ORM Lite) data. The purpose of using ORM Lite SQLite database library because this is a lightweight object relational database.
Splash screen is designed to represents the app logo it will be visible for next 4 to 5 sec then move to the main scanner screen.
Scanner screen is the main screen in which there is a camera view which is used to scan the QR code or barcode. On scanner screen there is also an option to turn the flash on, focus on the camera view and pick the image from the gallery to scan it.
Barcode Generator Screen
This screen is used to generate the bar code, on this screen user have to type the information which user wants to encode in the code then click on the tick button in the right top corner of the screen. By clicking this button app generate the bar code then user have an option to share that barcode with someone using share button or store that code in the device gallery using save button.
QR code Generator Screen
This screen is used to generate the QR code, on this screen user have to select the type of the information user wants to store in the QR code and enter information which user wants to encode in the code then click on the tick button in the right top corner of the screen. By clicking this button app generate the bar code then user have an option to share that barcode with someone using share button or store that code in the device gallery using save button.
History Screen is used to show the list of the all the codes scanned in the two categories (Scanned today, Previously scanned). There are two recycler view on this screen each recycler view is used to represent each section. Each recycler view allows the user to delete any scanned code, app also allow to select multiple scanned code from the recycler view and then delete them using the delete button at the top of the recycler view.
Favourite Screen is used to show the list of the all the favourite codes scanned in the two categories (Scanned today, Previously scanned). There are two recycler view on this screen each recycler view is used to represent each section. Each recycler view allows the user to delete any scanned code, app also allow to select multiple scanned code from the recycler view and then delete them using the delete button at the top of the recycler view.
Setting screen is used to control the vibration user can turn on or off the device vibration and sound when app successfully able to scan any code. It also allows the user to share the feedback about the application on my email account “A0111700@live.tees.ac.uk” using the feedback button on this screen.
Mobile Device Features
Application uses different mobile features like Camera, GPS. Camera is the core feature required for this
application. Application uses mobile phone camera to scan the barcode or qr code which is the main
purpose of an application. Application uses GPS to get the location of the user and display it on the map
when user trying to generate the qr code of location type.
The app requires following permission from the user to perform the task properly.
• Camera permission is required to scan the barcode or qr code using the device camera.
• Location permission is required when user wants to create qr code of location so instead of typing manually application automatically get the user latitude and longitude co-ordinates and show it on the map.
• Internet permission is required when user wants to search the decoded text from the qr code on the internet.
• WIFI State permission required so that if user scan any qr code which contain information about WIFI username and password by using this permission app can change and check the WIFI state.
• Read/Write External Storage permission required so that user to store and read the qr code images from the gallery for scan purpose.
• Read Contacts permission required when user wants to create qr code of contact so instead of typing manually user can import the contact information already stored in the device.
• Vibrate permission required so that mobile phone can vibrate to let the user know when app is able to scan any barcode or qr code properly.
Msc Computer Science
I am a Artificial Intelligence enthusiast with experience in the complete software development life cycle, with a proven track record in design and development with exceptional problem-solving capabilities. My interest in the AI and android led me to apply and pursue Masters Degree in “Computer Science”. I am currently learning and enhancing my Data Analysis, Data Design & Development skills. And have also achieved a deep understanding of Artificial Intelligence and Machine Learning Algorithms. Open to a career as a Software Developer or Machine Learning Engineer which allow me to grow my skills further.
I have worked with different companies as an android developer where I have developed an application for different industries like Oil and Gas, Education, Fashion and Beauty, Health and E-commence. My duties while working as an android developer are mentioned below:
• Designed, developed and executed various high-quality Android Apps that included Databases, Firebase Authentication , JSON/Restful Api’s integartion.
• Implemented PDF and Excel Reports generation from mobile application using itext sharp
• Ensure the performance, quality, and responsiveness of applications
• Collaborate with a team to define, design, and ship new features
• Integrate tensor-flow models in android applications
• Integrate google In-app purchase in the android applications
• Programmed with clean, modular, robust code using Java and XML with Android SDK platform.
• Fixed bugs with code, design patterns and miscellaneous occurrences during projects
• Identify and correct bottlenecks and fix bugs
• Help maintain code quality, organization, and automatization
• Built responsive Android Application for different mobile screen sizes and also for tablet devices.
• Responsible for application design (Screen Shots, Promo Video, User Interface & User Experience)
• Responsible for managing Google Play, Firebase, Admob and other networks
Worked as a Co-Supervisor of final year students were I help them to develop an android-based application whose purpose is to detect drowsiness and alert driver . We use image processing techniques such as Yawing detection, Eye-lid detection etc. This main benefit of this application is that it will be cheap as we don’t need to attach any extra hardware and sensors in vehicle to monitor the driver.
Key Skills and Competencies
Strong Data analytical skills – ML, Power BI.
Strong development experience in Java and kotlin
Good technical and Architectural knowledge about the application.
Database: MySQL, SQLite, ROOM
IDE: Android Studio, Postman, Anaconda, Spyder, Notebook, GitHub.