$2.50
Out of stock
Description
This is a simple Notes App, that has several of the Architecture Components and Best Practices (up to year 2018-19) for Organizing code in a Android Native App. The features of this package are:
- Kotlin Code in Android Architecture Component – Room ORM – It includes Create Read Update Delete (CRUD) operations on a basic note record with Data Store – offline sqlite file.
- The code is organized in Model – View – View Model Design Pattern. This means you could alter the data source of the notes or add some additional business logic changes – without changing a single line of the User Interface code.
- Web (Rest CRUD Code) that uses the Retrofit Android Library that could potentially target some 3rd party Back-End. The Base for having different back-ends (flavors) is in place – used very often in corporate application development – where – there are (and should have) local(dev), staging/QA and production environments.
- Pool Executor set up – and a (offline) database and network Repositories – where locking and blocking operations are placed in another thread and the result is pushed to the main – user interface thread.
- The UI Code is responsive. On Landscape screens (width > height) – the screen is split in two 50/50 – list + add/edit. On Portrait screens – the user interface is with one view at a time – list or add/edit.
- Basic Skeleton Extension Classes for easier alter of the basic CRUD user interface.
- The source code includes Activity Components and Fragment Components. The second make mixing and embedding app functionality (in a more complex and bigger app) much easier.
- All the glue code and confirmations so in the end you have working app with the best (at the time of setting up the architecture) stuff.
The current list of files included in the Notes App Package is:
/app/app.iml /app/proguard-rules.pro /app/libs /app/.gitignore /app/build.gradle /app/src/androidTest/java /app/src/androidTest /app/src/test/java/com/company/kotlintemplate/ExampleUnitTest.kt /app/src/test/java/com/company/kotlintemplate /app/src/test/java/com/company /app/src/test/java/com /app/src/test/java /app/src/test /app/src/main/res/mipmap-mdpi/ic_launcher.png /app/src/main/res/mipmap-mdpi/ic_launcher_round.png /app/src/main/res/mipmap-mdpi /app/src/main/res/drawable-v24/ic_launcher_foreground.xml /app/src/main/res/drawable-v24 /app/src/main/res/layout-w900dp /app/src/main/res/mipmap-hdpi/ic_launcher.png /app/src/main/res/mipmap-hdpi/ic_launcher_round.png /app/src/main/res/mipmap-hdpi /app/src/main/res/values-sw600dp-land/values.xml /app/src/main/res/values-sw600dp-land /app/src/main/res/layout-sw600dp-land/note_list.xml /app/src/main/res/layout-sw600dp-land /app/src/main/res/drawable/ic_launcher_background.xml /app/src/main/res/drawable /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png /app/src/main/res/mipmap-xxxhdpi /app/src/main/res/layout/activity_test_list.xml /app/src/main/res/layout/fragment_note_list.xml /app/src/main/res/layout/test_list_content.xml /app/src/main/res/layout/content_main.xml /app/src/main/res/layout/note_list.xml /app/src/main/res/layout/nav_header_main.xml /app/src/main/res/layout/test_list_twopane.xml /app/src/main/res/layout/activity_note_detail.xml /app/src/main/res/layout/note_detail.xml /app/src/main/res/layout/activity_note_list.xml /app/src/main/res/layout/activity_main.xml /app/src/main/res/layout/activity_test_detail.xml /app/src/main/res/layout/test_detail.xml /app/src/main/res/layout/note_list_content.xml /app/src/main/res/layout/test_list.xml /app/src/main/res/layout/app_bar_main.xml /app/src/main/res/layout /app/src/main/res/mipmap-xxhdpi/ic_launcher.png /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png /app/src/main/res/mipmap-xxhdpi /app/src/main/res/values/colors.xml /app/src/main/res/values/dimens.xml /app/src/main/res/values/values.xml /app/src/main/res/values/styles.xml /app/src/main/res/values/strings.xml /app/src/main/res/values /app/src/main/res/menu/activity_main_drawer.xml /app/src/main/res/menu /app/src/main/res/mipmap-xhdpi/ic_launcher.png /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png /app/src/main/res/mipmap-xhdpi /app/src/main/res/values-w900dp/values.xml /app/src/main/res/values-w900dp /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml /app/src/main/res/mipmap-anydpi-v26 /app/src/main/res /app/src/main/AndroidManifest.xml /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/note/NoteTestDB.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/note/NoteActionsListener.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/note/NoteDetailActivity.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/note/NoteViewModel.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/note/NoteTestUI.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/note/NoteListActivity.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/note/NoteListFragment.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/note/NoteAdapter.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/note/NoteDetailFragment.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/note /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/ext/note/NoteDetailActivityExt.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/ext/note/NoteDetailFragmentExt.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/ext/note/NoteListFragmentExt.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/ext/note/NoteListActivityExt.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/ext/note /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/ext /app/src/main/java/com/programtom/offline_notes_android_native_app/ui/App1ViewModel.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/ui /app/src/main/java/com/programtom/offline_notes_android_native_app/App.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/MainActivity.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/di/Snippets.txt /app/src/main/java/com/programtom/offline_notes_android_native_app/di /app/src/main/java/com/programtom/offline_notes_android_native_app/util/ActionsListener.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/util/IO.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/util /app/src/main/java/com/programtom/offline_notes_android_native_app/model/Note.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/model /app/src/main/java/com/programtom/offline_notes_android_native_app/db/Converters.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/db/NoteDao.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/db/OfflineNotesAndroidNativeAppDatabase.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/db /app/src/main/java/com/programtom/offline_notes_android_native_app/api/QueryResult.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/api/ENV.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/api/RestResult.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/api/NoteService.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/api/Services.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/api/FlavorEnv.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/api /app/src/main/java/com/programtom/offline_notes_android_native_app/repo/BaseDaoRepository.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/repo/db/NoteDaoDbRepository.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/repo/db /app/src/main/java/com/programtom/offline_notes_android_native_app/repo/api/NoteDaoApiRepository.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/repo/api /app/src/main/java/com/programtom/offline_notes_android_native_app/repo/NoteDaoRepository.kt /app/src/main/java/com/programtom/offline_notes_android_native_app/repo /app/src/main/java/com/programtom/offline_notes_android_native_app /app/src/main/java/com/programtom /app/src/main/java/com /app/src/main/java /app/src/main /app/src /app /local.properties /gradle/wrapper/gradle-wrapper.jar /gradle/wrapper/gradle-wrapper.properties /gradle/wrapper /gradle /gradlew /.gitignore /KotlinTemplateRoomNoDiNoDtBnd.iml /build.gradle /.gradle/vcs-1/gc.properties /.gradle/vcs-1 /.gradle/buildOutputCleanup/cache.properties /.gradle/buildOutputCleanup/outputFiles.bin /.gradle/buildOutputCleanup/buildOutputCleanup.lock /.gradle/buildOutputCleanup /.gradle/vcsWorkingDirs/gc.properties /.gradle/vcsWorkingDirs /.gradle/4.6/taskHistory/taskHistory.bin /.gradle/4.6/taskHistory/taskHistory.lock /.gradle/4.6/taskHistory /.gradle/4.6/fileContent/fileContent.lock /.gradle/4.6/fileContent /.gradle/4.6/fileChanges/last-build.bin /.gradle/4.6/fileChanges /.gradle/4.6/javaCompile/classAnalysis.bin /.gradle/4.6/javaCompile/javaCompile.lock /.gradle/4.6/javaCompile/taskJars.bin /.gradle/4.6/javaCompile/taskHistory.bin /.gradle/4.6/javaCompile/jarAnalysis.bin /.gradle/4.6/javaCompile /.gradle/4.6/fileHashes/fileHashes.lock /.gradle/4.6/fileHashes/fileHashes.bin /.gradle/4.6/fileHashes/resourceHashesCache.bin /.gradle/4.6/fileHashes /.gradle/4.6 /.gradle/4.10.2/vcsMetadata-1 /.gradle/4.10.2/taskHistory/taskHistory.bin /.gradle/4.10.2/taskHistory/taskHistory.lock /.gradle/4.10.2/taskHistory /.gradle/4.10.2/fileContent/fileContent.lock /.gradle/4.10.2/fileContent /.gradle/4.10.2/gc.properties /.gradle/4.10.2/fileChanges/last-build.bin /.gradle/4.10.2/fileChanges /.gradle/4.10.2/javaCompile/classAnalysis.bin /.gradle/4.10.2/javaCompile/javaCompile.lock /.gradle/4.10.2/javaCompile/taskHistory.bin /.gradle/4.10.2/javaCompile/jarAnalysis.bin /.gradle/4.10.2/javaCompile /.gradle/4.10.2/fileHashes/fileHashes.lock /.gradle/4.10.2/fileHashes/fileHashes.bin /.gradle/4.10.2/fileHashes/resourceHashesCache.bin /.gradle/4.10.2/fileHashes /.gradle/4.10.2 /.gradle /KotlinTemplate.iml /gradle.properties /gradlew.bat /settings.gradle
And Platform Specific files not important at the moment. The full list of files could be viewed here:
https://programtom.com/appbuilder/zimbdWPaCfaRaGJxi87AQE6wsIY3bgZrvlHmDm90j4/Offline_Notes_Android_Native_App/ANDROID_NATIVE_CRUD_OFFLINE/online/offline_notes_android_native_app/offline_notes_android_native_app.txt
The list of files, the demo, the product package/files list/ and probably the price will be upgraded in the future with the improvements in the Generator App Product that created this small app.
You can download the executable app – APK file – ready for use from this link:

