[{"title":"( 72 个子文件 565KB ) Android实现QQ登录、注销、QQ分享,获取QQ用户信息修改QQ头像。有volley网络框架使用和Glide使用网络加载图片,华为推送消息功能。","children":[{"title":"Push_Deom","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.05KB </span>","children":null,"spread":false},{"title":"LICENSE <span style='color:#111;'> 853B </span>","children":null,"spread":false},{"title":"app","children":[{"title":"PushDeom.jks <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false},{"title":"proguard-rules.pro <span style='color:#111;'> 1.29KB </span>","children":null,"spread":false},{"title":"agconnect-services.json <span style='color:#111;'> 1.84KB </span>","children":null,"spread":false},{"title":"src","children":[{"title":"test","children":[{"title":"java","children":[{"title":"com","children":[{"title":"example","children":[{"title":"pushdeom","children":[{"title":"ExampleUnitTest.java <span style='color:#111;'> 381B </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"androidTest","children":[{"title":"java","children":[{"title":"com","children":[{"title":"example","children":[{"title":"pushdeom","children":[{"title":"ExampleInstrumentedTest.java <span style='color:#111;'> 756B </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"main","children":[{"title":"res","children":[{"title":"mipmap-xxxhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 8.91KB </span>","children":null,"spread":false},{"title":"ic_launcher_round.png <span style='color:#111;'> 14.78KB </span>","children":null,"spread":false}],"spread":false},{"title":"drawable","children":[{"title":"dengdai.gif <span style='color:#111;'> 72.77KB </span>","children":null,"spread":false},{"title":"img_failure.png <span style='color:#111;'> 3.79KB </span>","children":null,"spread":false},{"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;'> 2.89KB </span>","children":null,"spread":false},{"title":"ic_launcher_round.png <span style='color:#111;'> 4.79KB </span>","children":null,"spread":false}],"spread":false},{"title":"drawable-v24","children":[{"title":"ic_launcher_foreground.xml <span style='color:#111;'> 1.84KB </span>","children":null,"spread":false}],"spread":false},{"title":"values","children":[{"title":"colors.xml <span style='color:#111;'> 208B </span>","children":null,"spread":false},{"title":"strings.xml <span style='color:#111;'> 715B </span>","children":null,"spread":false},{"title":"styles.xml <span style='color:#111;'> 383B </span>","children":null,"spread":false},{"title":"dimens.xml <span style='color:#111;'> 211B </span>","children":null,"spread":false}],"spread":false},{"title":"mipmap-xxhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 6.24KB </span>","children":null,"spread":false},{"title":"ic_launcher_round.png <span style='color:#111;'> 10.17KB </span>","children":null,"spread":false}],"spread":false},{"title":"mipmap-mdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 2.01KB </span>","children":null,"spread":false},{"title":"ic_launcher_round.png <span style='color:#111;'> 2.72KB </span>","children":null,"spread":false}],"spread":false},{"title":"mipmap-xhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 4.38KB </span>","children":null,"spread":false},{"title":"ic_launcher_round.png <span style='color:#111;'> 6.73KB </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":"activity_push_get_token.xml <span style='color:#111;'> 1.15KB </span>","children":null,"spread":false},{"title":"activity_login.xml <span style='color:#111;'> 3.53KB </span>","children":null,"spread":false},{"title":"activity_main.xml <span style='color:#111;'> 4.21KB </span>","children":null,"spread":false},{"title":"activity_login2.xml <span style='color:#111;'> 1.23KB </span>","children":null,"spread":false},{"title":"activity_glide.xml <span style='color:#111;'> 3.04KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"assets","children":[{"title":"iconfont.ttf <span style='color:#111;'> 38.59KB </span>","children":null,"spread":false}],"spread":false},{"title":"java","children":[{"title":"com","children":[{"title":"example","children":[{"title":"pushdeom","children":[{"title":"data","children":[{"title":"model","children":[{"title":"LoggedInUser.java <span style='color:#111;'> 508B </span>","children":null,"spread":false}],"spread":false},{"title":"LoginRepository.java <span style='color:#111;'> 1.67KB </span>","children":null,"spread":false},{"title":"Result.java <span style='color:#111;'> 1.20KB </span>","children":null,"spread":false},{"title":"LoginDataSource.java <span style='color:#111;'> 828B </span>","children":null,"spread":false}],"spread":false},{"title":"PushGetTokenActivity.java <span style='color:#111;'> 4.20KB </span>","children":null,"spread":false},{"title":"Tools","children":[{"title":"FontIconView.java <span style='color:#111;'> 913B </span>","children":null,"spread":false}],"spread":false},{"title":"Bean","children":[{"title":"ShareList.java <span style='color:#111;'> 2.90KB </span>","children":null,"spread":false},{"title":"BaseUiListener.java <span style='color:#111;'> 3.40KB </span>","children":null,"spread":false},{"title":"AppSharedPreferences.java <span style='color:#111;'> 1.90KB </span>","children":null,"spread":false},{"title":"VolleyUtil.java <span style='color:#111;'> 6.17KB </span>","children":null,"spread":false},{"title":"BaseApiListener.java <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false},{"title":"ShareUiListener.java <span style='color:#111;'> 627B </span>","children":null,"spread":false}],"spread":false},{"title":"ui","children":[{"title":"login","children":[{"title":"LoginFormState.java <span style='color:#111;'> 892B </span>","children":null,"spread":false},{"title":"LoggedInUserView.java <span style='color:#111;'> 379B </span>","children":null,"spread":false},{"title":"LoginViewModel.java <span style='color:#111;'> 2.35KB </span>","children":null,"spread":false},{"title":"LoginViewModelFactory.java <span style='color:#111;'> 871B </span>","children":null,"spread":false},{"title":"LoginResult.java <span style='color:#111;'> 589B </span>","children":null,"spread":false},{"title":"LoginActivity.java <span style='color:#111;'> 5.00KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"PushMsgService.java <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false},{"title":"UIActivity","children":[{"title":"GlideActivity.java <span style='color:#111;'> 969B </span>","children":null,"spread":false},{"title":"MainActivity.java <span style='color:#111;'> 7.04KB </span>","children":null,"spread":false},{"title":"LoginActivity.java <span style='color:#111;'> 2.84KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false},{"title":"AndroidManifest.xml <span style='color:#111;'> 2.79KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":".gitignore <span style='color:#111;'> 7B </span>","children":null,"spread":false},{"title":"release","children":[{"title":"output.json <span style='color:#111;'> 234B </span>","children":null,"spread":false}],"spread":true},{"title":"build.gradle <span style='color:#111;'> 2.30KB </span>","children":null,"spread":false},{"title":"libs","children":[{"title":"open_sdk_3.5.4.11_r3f56456_lite.jar <span style='color:#111;'> 325.14KB </span>","children":null,"spread":false}],"spread":true}],"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;'> 3.23KB </span>","children":null,"spread":false}],"spread":true},{"title":"runConfigurations.xml <span style='color:#111;'> 564B </span>","children":null,"spread":false},{"title":"misc.xml <span style='color:#111;'> 357B </span>","children":null,"spread":false},{"title":".name <span style='color:#111;'> 8B </span>","children":null,"spread":false},{"title":"modules.xml <span style='color:#111;'> 353B </span>","children":null,"spread":false}],"spread":true},{"title":".gitignore <span style='color:#111;'> 1.11KB </span>","children":null,"spread":false},{"title":"settings.gradle <span style='color:#111;'> 43B </span>","children":null,"spread":false},{"title":"build.gradle <span style='color:#111;'> 824B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]