Debugging your App
7.2: Dependency Injection
https://developers.google.com/ml-kit/vision/text-recognition/v2/android
Server side:
1. Python Server
2. REST API
3. Docker (server that never shuts down)
4. Retrofit
5. ChatGPT Api
Now OCR App -> Debugging
Wallpaper, Weather, Video chat +
2. Wallpaper App -> Concepts
Retrofit code -> Same for interview as Android Developer
1. Remove the things you don't need from the Project
2. Make the UI as the Figma design
Project Idea | Description |
---|---|
Multilingual OCR | OCR system for recognizing and translating multiple languages. |
Handwritten OCR | Develop OCR for recognizing handwritten text. |
Receipt Scanner | Extract and organize information from receipts. |
Document Summarizer | OCR tool that extracts and summarizes document content. |
Code OCR | Recognize and transcribe code snippets from images. |
Business Card Scanner | Extract contact info from business cards to digital address book. |
License Plate Recognition | Identify license plates for traffic and parking management. |
Prescription Scanner -> | OCR for verifying and dispensing medical prescriptions. |
Text-to-Speech Converter | Convert OCR-recognized text from images to speech. |
Historical Document Archive | OCR for reading and preserving historical records. |
Interactive Language Learning | Real-time object recognition for language learners. |
Real-Time Translator | Translate text from images in real-time for travelers. |
OCR for Medical Records | Extract and categorize medical data from patient records. |
Legal Document Scanner | OCR system for extracting legal document details. |
Handwriting Analysis Tool | Analyze handwriting for forensic or personality assessment. |
OCR Ideas
1. Layout Inspector to find the views / Fragment / ACtivity
2. Put break points or Log statement to navigate
3. Hit Debug app
4. find text you're looking for "1+1?"
5. Send to ChatGPT(1+1?)
e.g one is Client other service
sometimes both
Activity
Retrofit
2. Static Method call
3. Static Global variable
Receives dependency from outside -> Injection
class Client(private val service1: Service) {
private var service2:Service? = null
lateinit var service3:Service
fun setService2(service2: Service){
this.service2 = service2
}
}
val Service = Service() // new object (RAM) service = existing_service (Saving RAM)
val object = Object()
val object = existing object
val object1 = Object()
val object2 = Object()
val object3 = Object()
val object = Object()
val object1 = Object()
val object2 = Object()
val object3 = Object()
val object1 = existing object
val objec2 = existing object
val objec3 = existing object
1. Single Responsibility Prinicipal
2. Reusablitiy
3. Testability
https://developer.android.com/training/dependency-injection/hilt-android
https://developer.android.com/codelabs/android-hilt#8
https://developer.android.com/develop/ui/views/layout/recyclerview