|
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | +# Android App Development |
| 5 | + |
| 6 | +This repository contains important materials and information related to Android App Development. |
| 7 | + |
| 8 | +## [1] The Java Language |
| 9 | + |
| 10 | +- [Fundamentals & Object Oriented Programming](https://github.com/Suryakant-Bharti/Important-Java-Concepts#1-java---fundamentals--oops-done) |
| 11 | +- [Collections, Generics & Exception Handling](https://github.com/Suryakant-Bharti/Important-Java-Concepts#2-java---generics-collections--exception-handling-done) |
| 12 | +- [Files, I/O, Serialization & Networking](https://github.com/Suryakant-Bharti/Important-Java-Concepts#3-java---files-io-serialization--networking-done) |
| 13 | +- [Threads & Concurrency](https://github.com/Suryakant-Bharti/Important-Java-Concepts/blob/master/README.md#4-java---threads--concurrency-wip) |
| 14 | +- [Software Design Patterns](https://github.com/Suryakant-Bharti/Important-Java-Concepts/blob/master/README.md#5-software-design-wip) |
| 15 | +- [Data Structures & Algorithms](https://github.com/Suryakant-Bharti/Important-Java-Concepts/blob/master/README.md#10-data-structures--algorithms-wip) |
| 16 | +- [Common Coding Questions](https://github.com/Suryakant-Bharti/Coding-Interview-Questions) |
| 17 | + |
| 18 | +## [2] Kotlin Language |
| 19 | + |
| 20 | +- [From Java to Kotlin (Mindorks)](https://github.com/MindorksOpenSource/from-java-to-kotlin) |
| 21 | +- [From Java to Kotlin (Fabio)](https://github.com/fabiomsr/from-java-to-kotlin) |
| 22 | +- [Kotlin Cheatsheet (DevHints)](https://devhints.io/kotlin) |
| 23 | +- [Kotlin Cheatsheet (Kotlin Academy)](https://blog.kotlin-academy.com/kotlin-cheat-sheet-1137588c75a) |
| 24 | + |
| 25 | +## [3] Android Main Components |
| 26 | + |
| 27 | +- Activity (core) |
| 28 | +- Intent |
| 29 | +- ListView |
| 30 | +- RecyclerView |
| 31 | +- AsyncTask |
| 32 | +- Service (core) |
| 33 | +- Content Provider (core) |
| 34 | +- Broadcast Receiver (core) |
| 35 | +- Loaders |
| 36 | +- SQLiteOpenHelper/Cursor... |
| 37 | + |
| 38 | +## [4] Jetpack Architecture Components |
| 39 | + |
| 40 | +- Room |
| 41 | +- LiveData |
| 42 | +- ViewModel |
| 43 | +- WorkManager |
| 44 | +- Paging |
| 45 | +- DataBinding |
| 46 | +- Lifecycles |
| 47 | +- Navigation |
| 48 | + |
| 49 | +## [5] Architectural Patterns/Blueprints |
| 50 | + |
| 51 | + |
| 52 | + |
| 53 | +## [6] Networking & IO Libraries |
| 54 | + |
| 55 | +- Retrofit 2 |
| 56 | +- Volley |
| 57 | +- Glide |
| 58 | +- Picasso |
| 59 | +- Fresco |
| 60 | +- |
| 61 | + |
| 62 | +## [7] Firebase Platform |
| 63 | +*Ref - https://firebase.google.com* |
| 64 | + |
| 65 | +- Authentication |
| 66 | +- Realtime Database |
| 67 | +- Cloud Storage |
| 68 | +- Cloud Firestore |
| 69 | +- ML Kit |
| 70 | +--- |
| 71 | +- Crashlytics |
| 72 | +- Analytics |
| 73 | +- Performance Monitoring |
| 74 | +- Test Lab |
| 75 | +- App Distribution |
| 76 | +--- |
| 77 | +- Dynamic Links |
| 78 | +- Remote Config |
| 79 | +- In-App Messaging |
| 80 | +- A/B Testing |
| 81 | +- Preditions |
| 82 | +--- |
| 83 | +- Cloud Messaging |
| 84 | +- Cloud Functions |
| 85 | + |
| 86 | +## [8] Google Play Services |
| 87 | +*Ref - https://developers.google.com/android/guides/setup* |
| 88 | +*Ref - https://developers.google.com/android/reference/packages* |
| 89 | + |
| 90 | +## [9] Android Enhanced Features |
| 91 | + |
| 92 | +## [10] Threads & Background |
| 93 | + |
| 94 | +## [11] App Testing |
| 95 | + |
| 96 | +- JUnit 4 (No android support for junit 5 yet) |
| 97 | +- |
| 98 | + |
| 99 | +## [12] Advanced Essential Libraries |
| 100 | + |
| 101 | +- RxJava 2 |
| 102 | +- RxAndroid 2 |
| 103 | +- Dagger 2 |
| 104 | +- EventBus |
| 105 | + |
| 106 | +## [13] Important SDK Integrations |
| 107 | +- Facebook |
| 108 | +- Social |
| 109 | +- Payment |
| 110 | +- Storage |
| 111 | +- Entertainment |
| 112 | +- Advertisement |
| 113 | +- Other APIs |
| 114 | + |
| 115 | + |
| 116 | +## [14] Android In-Depth UI Components |
| 117 | + |
| 118 | +- XML |
| 119 | + |
| 120 | +## [15] Material Design Components |
| 121 | + |
| 122 | +## [16] Great UI Libraries |
| 123 | + |
| 124 | +## [17] Mobile UI Design |
| 125 | + |
| 126 | +## [18] Android DevOps |
| 127 | + |
| 128 | +## [19] Android Backend |
| 129 | + |
| 130 | +- REST APIs |
| 131 | +- Microservices |
| 132 | + |
| 133 | +## [20] Android Studio |
| 134 | + |
| 135 | +- Tools |
| 136 | +- Plugins |
| 137 | + |
| 138 | +## [21] Helfpul Tools |
| 139 | + |
| 140 | + |
| 141 | + |
| 142 | +## [22] Data Science in Android |
| 143 | + |
| 144 | +- Data Analytics |
| 145 | +- Artificail Intelligence |
| 146 | +- Machine Learning |
| 147 | +- Tensorflow Lite |
| 148 | + |
| 149 | +## [23] Google Cloud Platform |
| 150 | +*Ref - https://cloud.google.com/products* |
| 151 | +*Ref - https://cloud.google.com/customers* |
| 152 | + |
| 153 | + |
| 154 | +## Core App Development |
| 155 | +Mini Apps to learn Activities, Services, Providers, Receivers, Intents, XML, JSON, REST, SQLite, etc. [Android-1/6] |
| 156 | + |
| 157 | +*[[SAMPLE APPS - List of Example Mini Apps for each topic]](_moreReadMe/android_dev_core)* |
| 158 | + |
| 159 | +### User Interfaces and Inputs |
| 160 | + |
| 161 | +### Navigation |
| 162 | + |
| 163 | +### Networking |
| 164 | + |
| 165 | +### Database |
| 166 | + |
| 167 | +### Notification & Widgets |
| 168 | + |
| 169 | +### Core Components |
| 170 | +Intents, Activities, Content Providers, Services, Broadcast Receivers |
| 171 | + |
| 172 | +## App Testing |
| 173 | +Implement important "Testing Frameworks" like Espresso, JUnit, Mockito, etc. [Android-2/6] |
| 174 | + |
| 175 | +Code Samples for learning important Testing Frameworks for Test Automation in Android. |
| 176 | + |
| 177 | +### JUnit |
| 178 | + |
| 179 | +### Android JUnit Runner |
| 180 | +AndroidJUnitRunner class is a JUnit test runner that lets you run JUnit4 style test classes on Android devices, including those using the Espresso and UI Automator testing frameworks. |
| 181 | + |
| 182 | +### Espresso |
| 183 | +Use Espresso to write concise, beautiful, and reliable Android UI tests. Espresso is targeted at developers, who believe that automated testing is an integral part of the development lifecycle. Use Espresso to test Views, AdapterViews, Intents, Idling Resources, Web, RecyclerViews. |
| 184 | + |
| 185 | +### UI Automator |
| 186 | +UI Automator is a UI testing framework suitable for cross-app functional UI testing across system and installed apps. |
| 187 | + |
| 188 | +### Mockito |
| 189 | + |
| 190 | +### Robolectric |
| 191 | + |
| 192 | +## Essential Libraries |
| 193 | + |
| 194 | +Implement important "Third-Party Libraries" like RxJava, Dagger, Retrofit, etc. [Android-4/6] |
| 195 | + |
| 196 | +Code Samples for learning various Nice Third-Party Libraries useful in Android Development. |
| 197 | + |
| 198 | +## Essential Tools |
| 199 | + |
| 200 | +## Material Design |
| 201 | +Implement important "Material Design (UI/UX)" components like tabs, dialogs, cards, chips, menus, lists, grids, pickers, etc. [Android-6/6] |
| 202 | + |
| 203 | +## Android Architectural Patterns |
| 204 | +Implement important "Architectural Patterns" like MVP, MMVM, etc. [Android-5/6] |
| 205 | + |
| 206 | +### MVC |
| 207 | + |
| 208 | +### MVP |
| 209 | + |
| 210 | +### MVVM |
| 211 | + |
| 212 | +## REST API - Google |
| 213 | + |
| 214 | +Implement important "RESTful APIs" like Play Services, Firebase, GCP, etc. [Android-3/6] |
| 215 | + |
| 216 | +Code Samples for learning various Nice APIs useful to Android Development. |
| 217 | + |
| 218 | +https://cloud.google.com/vision/ |
| 219 | + |
| 220 | +### Other RESTful APIs |
| 221 | + |
| 222 | +## REST API - Others |
| 223 | + |
| 224 | +## Feature Libraries |
| 225 | + |
| 226 | +## UI Libraries |
| 227 | + |
| 228 | +## Apps |
| 229 | + |
| 230 | +- **To-Do List** - Simple and Clean To-do List App using Best practices - MVP, Material Design. SQLite + App Widget |
| 231 | + |
| 232 | +- **Music Player Visualizer** - Simple and Clean Music Player App using Best practices - MVP, Material Design. ExoPlayer + MediaStyle Notification |
| 233 | + |
| 234 | +- **City Weather:** - Simple and Clean Weather App using Best practices - MVP, Material Design. REST + SQLite + Firebase JobDispatcher. Features - quotes notification in morning, alarm, weather infortion, OpenWeatherMap API |
| 235 | + |
| 236 | +- **Tea Time App:** - An Android Sample App using to learn Espresso UI Testing by testing Views, Adapter Views, Intents (Stub, Verify), Idling Resources. |
| 237 | + |
| 238 | +## Information Collection |
| 239 | +All the information and material about the android development that I've collected so far. |
| 240 | + |
| 241 | +This repository is mostly a collection of collections of information related to android development. |
| 242 | + |
| 243 | +- ### [Associate-Android-Developer-Certification](_moreReadMe/associate_android_developer_certification) |
| 244 | + |
| 245 | +- ### [CodePath-Android-Cliffnotes](https://github.com/codepath/android_guides/wiki) |
| 246 | + |
| 247 | +- ### Google Samples - Testing Android |
| 248 | + |
| 249 | +. |
| 250 | + |
| 251 | +**NOTE :** |
| 252 | + |
| 253 | + I will keep adding more important information to this Repository throughout 2020. |
| 254 | +Happy Learning! :smiley: |
| 255 | + |
| 256 | +. |
| 257 | + |
| 258 | +**REFERENCES :** |
| 259 | + |
| 260 | + This repository is a collection of collections |
| 261 | + of information related to android development. |
| 262 | + |
| 263 | + MANY THANKS TO : |
| 264 | + https://github.com/Amejia481 |
| 265 | + https://github.com/codepath/ |
| 266 | + |
| 267 | + This repository contains few images from other authors. |
| 268 | + Used for "Nonprofit Educational Purpose". |
| 269 | +Thanks to those authors! :thumbsup: |
0 commit comments