A feature-rich Android QR Code and Barcode scanner application with advanced capabilities for scanning, generating, and managing QR codes.
- Multi-format Support: Scan QR codes, barcodes, and various code formats
- Smart Detection: Automatically detects and handles different data types:
- URLs (with auto-open option)
- Phone numbers (direct dial)
- Email addresses (compose email)
- SMS messages
- WiFi credentials (auto-connect)
- Geographic locations (open in maps)
- Contact information (vCard)
- Calendar events
- Driver licenses
- ISBN codes
- Product barcodes
- Flashlight Toggle: Turn on/off flashlight while scanning
- Camera Switch: Toggle between front and back cameras
- Rescan: Quick rescan without restarting the app
- Auto-focus: Intelligent focusing for better scan accuracy
- Generate QR codes for multiple data types:
- Plain Text
- URLs
- WiFi Credentials (SSID, password, encryption type)
- Contact Information (vCard format)
- Email addresses
- Phone numbers
- Save & Share: Save generated QR codes to device gallery
- High Quality: Generated codes are saved in PNG format
- Complete History: All scans are automatically saved
- Search Functionality: Quick search through scan history
- Export Options:
- Export as CSV
- Export as JSON
- Delete: Individual or bulk delete options
- Clear All: Remove all history with confirmation
- Dark Mode: Toggle between light and dark themes
- Scan Feedback:
- Vibration on successful scan (toggleable)
- Sound notification (toggleable)
- Behavior Settings:
- Auto-open URLs
- Auto-copy to clipboard
- Persistent Preferences: Settings saved across app sessions
- Android device running Android 7.0 (API 24) or higher
- Camera permission required for scanning
- Clone this repository
git clone https://github.com/mojahid2021/Simple-QR-Code-Scanner.git-
Open the project in Android Studio
-
Build and run the application
The app requires the following permissions:
- Camera: For scanning QR codes
- Vibrate: For haptic feedback on scan
- Storage: For saving generated QR codes and export functionality
- WiFi State: For WiFi auto-connect feature
- Launch the app
- Point camera at QR code
- App automatically scans and processes the code
- Tap "Rescan" to scan another code
- Tap "Generate QR Code" button
- Select the type of QR code you want to create
- Fill in the required information
- Tap "Generate QR Code"
- Tap "Save QR Code" to save to gallery
- Tap "View History" button
- Use search bar to find specific scans
- Tap on any entry to copy and open
- Use delete button to remove individual entries
- Export history as CSV or JSON
- Clear all history with "Clear All" button
- Tap "Settings" button
- Toggle preferences as needed:
- Dark Mode
- Vibration feedback
- Sound feedback
- Auto-open URLs
- Auto-copy to clipboard
- Language: Java
- Minimum SDK: 24 (Android 7.0)
- Target SDK: 35
- Libraries:
- CameraX for camera functionality
- ML Kit for barcode scanning
- Room Database for data persistence
- ZXing for QR code generation
- AndroidX components
- MVVM-like pattern with Activities
- Room Database for local storage
- Shared Preferences for settings
- Asynchronous operations with Threads and ExecutorService
app/
βββ src/main/
β βββ java/com/mojahid/simple_qr_code_scanner/
β β βββ MainActivity.java # Main scanner screen
β β βββ GenerateQRActivity.java # QR code generation
β β βββ HistoryActivity.java # Scan history management
β β βββ SettingsActivity.java # App settings
β β βββ history/
β β βββ ScanDatabase.java # Room database
β β βββ ScanHistory.java # Data model
β β βββ ScanHistoryDao.java # Database operations
β β βββ ScanHistoryAdapter.java # RecyclerView adapter
β βββ res/
β βββ layout/ # XML layouts
β βββ values/ # Resources
- Clean, intuitive interface
- Material Design components
- Responsive layouts
- Dark mode support
- Clear visual feedback
- Confirmation dialogs for critical actions
- All data stored locally on device
- No internet connection required for core functionality
- No data collection or analytics
- User controls all data (export, delete, clear)
Contributions are welcome! Please feel free to submit a Pull Request. See CONTRIBUTING.md for detailed guidelines.
This project is open source and available under the MIT License.
See CHANGELOG.md for a detailed history of changes.
Developed by mojahid2021
- Google ML Kit for barcode scanning
- ZXing for QR code generation
- CameraX for modern camera implementation
- Android Jetpack components
For issues, questions, or suggestions, please open an issue on GitHub.
Give a βοΈ if this project helped you!
Coming soon - Screenshots will be added after the app is built and tested
Made with β€οΈ for the Android community