[{"title":"( 71 个子文件 173KB ) 使用android体系结构组件以及Room数据库,ViewModel / LiveData,ViewBinding和数据绑定以及Koin依赖项注入的Android MVVM项目模板-Android开发","children":[{"title":"Android-Kotlin-MVVM-Template-master","children":[{"title":"gradlew.bat <span style='color:#111;'> 2.13KB </span>","children":null,"spread":false},{"title":"gradlew <span style='color:#111;'> 5.17KB </span>","children":null,"spread":false},{"title":"gradle.properties <span style='color:#111;'> 1.13KB </span>","children":null,"spread":false},{"title":"app","children":[{"title":"proguard-rules.pro <span style='color:#111;'> 750B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"test","children":[{"title":"java","children":[{"title":"com","children":[{"title":"harmoush","children":[{"title":"photoweather","children":[{"title":"ExampleUnitTest.kt <span style='color:#111;'> 349B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"androidTest","children":[{"title":"java","children":[{"title":"com","children":[{"title":"harmoush","children":[{"title":"photoweather","children":[{"title":"ExampleInstrumentedTest.kt <span style='color:#111;'> 677B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"main","children":[{"title":"res","children":[{"title":"navigation","children":[{"title":"nav_graph.xml <span style='color:#111;'> 545B </span>","children":null,"spread":false}],"spread":true},{"title":"menu","children":[{"title":"menu_main.xml <span style='color:#111;'> 416B </span>","children":null,"spread":false}],"spread":true},{"title":"mipmap-xxxhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 10.40KB </span>","children":null,"spread":false},{"title":"ic_launcher_round.png <span style='color:#111;'> 16.18KB </span>","children":null,"spread":false}],"spread":true},{"title":"drawable","children":[{"title":"ic_launcher_background.xml <span style='color:#111;'> 5.47KB </span>","children":null,"spread":false}],"spread":false},{"title":"mipmap-hdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 3.51KB </span>","children":null,"spread":false},{"title":"ic_launcher_round.png <span style='color:#111;'> 5.21KB </span>","children":null,"spread":false}],"spread":false},{"title":"drawable-v24","children":[{"title":"ic_launcher_foreground.xml <span style='color:#111;'> 1.66KB </span>","children":null,"spread":false}],"spread":false},{"title":"values","children":[{"title":"colors.xml <span style='color:#111;'> 260B </span>","children":null,"spread":false},{"title":"strings.xml <span style='color:#111;'> 550B </span>","children":null,"spread":false},{"title":"styles.xml <span style='color:#111;'> 733B </span>","children":null,"spread":false},{"title":"dimens.xml <span style='color:#111;'> 66B </span>","children":null,"spread":false}],"spread":false},{"title":"mipmap-xxhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 7.72KB </span>","children":null,"spread":false},{"title":"ic_launcher_round.png <span style='color:#111;'> 11.59KB </span>","children":null,"spread":false}],"spread":false},{"title":"mipmap-mdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 2.57KB </span>","children":null,"spread":false},{"title":"ic_launcher_round.png <span style='color:#111;'> 3.31KB </span>","children":null,"spread":false}],"spread":false},{"title":"mipmap-xhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 4.81KB </span>","children":null,"spread":false},{"title":"ic_launcher_round.png <span style='color:#111;'> 7.30KB </span>","children":null,"spread":false}],"spread":false},{"title":"mipmap-anydpi-v26","children":[{"title":"ic_launcher_round.xml <span style='color:#111;'> 272B </span>","children":null,"spread":false},{"title":"ic_launcher.xml <span style='color:#111;'> 272B </span>","children":null,"spread":false}],"spread":false},{"title":"layout","children":[{"title":"content_main.xml <span style='color:#111;'> 931B </span>","children":null,"spread":false},{"title":"activity_main.xml <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false},{"title":"fragment_first.xml <span style='color:#111;'> 1.23KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"java","children":[{"title":"com","children":[{"title":"harmoush","children":[{"title":"photoweather","children":[{"title":"di","children":[{"title":"NetworkModule.kt <span style='color:#111;'> 1.58KB </span>","children":null,"spread":false},{"title":"DatabaseModule.kt <span style='color:#111;'> 460B </span>","children":null,"spread":false},{"title":"RepositoriesModule.kt <span style='color:#111;'> 362B </span>","children":null,"spread":false},{"title":"AppComponents.kt <span style='color:#111;'> 176B </span>","children":null,"spread":false},{"title":"ManagersModule.kt <span style='color:#111;'> 140B </span>","children":null,"spread":false},{"title":"ViewModelsModule.kt <span style='color:#111;'> 311B </span>","children":null,"spread":false}],"spread":false},{"title":"data","children":[{"title":"model","children":[{"title":"WeatherInfo.kt <span style='color:#111;'> 141B </span>","children":null,"spread":false}],"spread":false},{"title":"source","children":[{"title":"repository","children":[{"title":"SampleRepositoryImpl.kt <span style='color:#111;'> 1.91KB </span>","children":null,"spread":false},{"title":"SampleRepository.kt <span style='color:#111;'> 634B </span>","children":null,"spread":false}],"spread":false},{"title":"local","children":[{"title":"dao","children":[{"title":"BaseDao.kt <span style='color:#111;'> 553B </span>","children":null,"spread":false},{"title":"SampleDao.kt <span style='color:#111;'> 244B </span>","children":null,"spread":false}],"spread":false},{"title":"DatabaseResource.kt <span style='color:#111;'> 1.34KB </span>","children":null,"spread":false},{"title":"entity","children":[{"title":"SampleEntity.kt <span style='color:#111;'> 258B </span>","children":null,"spread":false}],"spread":false},{"title":"WeatherDatabase.kt <span style='color:#111;'> 558B </span>","children":null,"spread":false}],"spread":false},{"title":"remote","children":[{"title":"ApiService.kt <span style='color:#111;'> 120B </span>","children":null,"spread":false},{"title":"Resource.kt <span style='color:#111;'> 547B </span>","children":null,"spread":false},{"title":"LiveDataCallAdapter.kt <span style='color:#111;'> 1.30KB </span>","children":null,"spread":false},{"title":"LiveDataCallAdapterFactory.kt <span style='color:#111;'> 1.04KB </span>","children":null,"spread":false},{"title":"ApiResponse.kt <span style='color:#111;'> 1.43KB </span>","children":null,"spread":false},{"title":"Status.kt <span style='color:#111;'> 134B </span>","children":null,"spread":false},{"title":"NetworkBoundResource.kt <span style='color:#111;'> 3.29KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false},{"title":"ui","children":[{"title":"firstfragment","children":[{"title":"FirstFragmentViewModel.kt <span style='color:#111;'> 379B </span>","children":null,"spread":false},{"title":"FirstFragment.kt <span style='color:#111;'> 1.15KB </span>","children":null,"spread":false}],"spread":false},{"title":"BaseFragment.kt <span style='color:#111;'> 676B </span>","children":null,"spread":false},{"title":"MainActivity.kt <span style='color:#111;'> 1.84KB </span>","children":null,"spread":false}],"spread":false},{"title":"PhotoWeatherApp.kt <span style='color:#111;'> 657B </span>","children":null,"spread":false},{"title":"utils","children":[{"title":"FragmentExt.kt <span style='color:#111;'> 550B </span>","children":null,"spread":false},{"title":"UiUtils.kt <span style='color:#111;'> 688B </span>","children":null,"spread":false},{"title":"ViewExt.kt <span style='color:#111;'> 1.40KB </span>","children":null,"spread":false},{"title":"Extensions.kt <span style='color:#111;'> 233B </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"AndroidManifest.xml <span style='color:#111;'> 875B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":".gitignore <span style='color:#111;'> 1.22KB </span>","children":null,"spread":false},{"title":"build.gradle <span style='color:#111;'> 4.24KB </span>","children":null,"spread":false}],"spread":true},{"title":"gradle","children":[{"title":"wrapper","children":[{"title":"gradle-wrapper.jar <span style='color:#111;'> 53.06KB </span>","children":null,"spread":false},{"title":"gradle-wrapper.properties <span style='color:#111;'> 232B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":".idea","children":[{"title":"codeStyles","children":[{"title":"Project.xml <span style='color:#111;'> 4.25KB </span>","children":null,"spread":false},{"title":"codeStyleConfig.xml <span style='color:#111;'> 142B </span>","children":null,"spread":false}],"spread":true},{"title":"runConfigurations.xml <span style='color:#111;'> 564B </span>","children":null,"spread":false}],"spread":true},{"title":".gitignore <span style='color:#111;'> 3.56KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 1.38KB </span>","children":null,"spread":false},{"title":"settings.gradle <span style='color:#111;'> 48B </span>","children":null,"spread":false},{"title":"build.gradle <span style='color:#111;'> 1.10KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]