Giter Club home page Giter Club logo

youlookwhat / cloudreader Goto Github PK

View Code? Open in Web Editor NEW
4.9K 160.0 1.3K 93.17 MB

🗡️ 云阅:一款基于网易云音乐UI,使用玩Android Api,Retrofit2 + RxJava2 + Room + MVVM-databinding架构开发的Android客户端

Home Page: https://youlookwhat.github.io/CloudReader

License: Apache License 2.0

Java 92.38% Kotlin 7.62%
android mvvm-databing netease-cloud-music google-material reader wanandroid webview cloudreader rxjava2 retrofit2

cloudreader's Introduction

CloudReader

Apache License 2.0 Apk Release Version API Codacy Badge

Kotlin && Netease cloud music Ui && Retrofit2 + RxJava2 + Room + MVVM-databinding && Wanandroid Api

Introduce

一款基于网易云音乐UI,使用WanAndroid Api,MVVM-DataBinding架构开发的符合Google Material Design阅读类的开源项目。

A netease cloud music based UI, using wanandroid Api development accord with Google Material Desgin reading class open source projects.

Screenshots

Gif Preview

Issues 宝贵意见

如果有任何问题,请到github的issue处写上你不明白的地方,也可以通过下面提供的方式联系我,我会及时给予帮助。

If you have any questions, please write to the issue of making you don't understand of place, also can contact me through here, I will help them in time.

Features 特性

  • 1、基本遵循Google Material Design设计风格。
  • 2、MvvM-DataBinding的项目应用。
  • 3、NavigationView搭配DrawerLayout的具体使用。
  • 4、透明状态栏使用与版本适配。
  • 5、RxBus代替EventBus进行组件之间通讯。
  • 6、ToolBar的全方面使用。
  • 7、Glide加载监听,获取缓存,圆形图片,高斯模糊。
  • 8、水波纹点击效果详细使用与适配。
  • 9、Room的基本使用。
  • 10、基于DataBindingViewHolder
  • 11、基于DataBindingBaseActivityBaseFragment
  • 12、Fragment懒加载模式。
  • 13、SwipeRefreshLayout结合RecyclerView下拉刷新上拉加载。
  • 14、CoordinatorLayout+Behavior实现标题栏渐变和滑动置顶。
  • 15、深色模式的应用。

See Detail

项目介绍详情 | 细节优化详情 | 🚀版本更新详情(V3.7.0)

运行环境:

  • targetSdkVersion:31
  • gradle:7.1.0-alpha11;
  • JDK11;
  • Android Studio Bumblebee | 2021.1.1 Canary 11
  • Runtime version: 11.0.11+0-b60-7590822 aarch64
  • VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
  • macOS 13.0.1

Documents

Version

V3.7.0(2021-11-09)

  • 1、[新增] 新增了玩安卓项目分类模块
  • 2、[移除] 移除了干货集中营模块
  • 3、[优化] 调整了子页面位置

V3.6.0(2021-10-20)

  • 1、[新增] 新增了深色模式
  • 2、[新增] 更新了用户隐私协议
  • 3、[优化] 优化了网页内跳转应用
  • 4、[优化] 优化了菜单等部分样式

V3.5.0(2021-01-23)

  • 1、[移除] 因Api失效去除电影模块,很遗憾
  • 2、[新增] 广场、问答、文章分享等功能 (Kotlin)
  • 3、[优化] Ui优化

V3.4.4(2021-01-09)

  • 1、[修复] 修复电影模块数据问题
  • 2、[优化] 部分使用Kotlin,代码优化

V3.4.3(2020-11-16)

  • 1、[新增] 去酷安应用市场评星
  • 2、[新增] WebView拦截简书直接打开App
  • 3、[修复] 即将上映电影显示问题

V3.4.2(2020-08-25)

  • 1、[优化] 首页和干货页使用骨架图
  • 2、[优化] 电影页Api替换
  • 3、[优化] 代码整理 AndroidX / bymvvm / ByWebView

V3.4.0(2020-05-20)

  • 1、[替换] 干货集中营Api更新
  • 2、[优化] 体系页面选择类别优化
  • 3、[优化] 首页、福利等页面Ui优化

V3.3.0(2020-02-29)

  • 1、[新增] 公众号页面改为发现页面,并可订制
  • 2、[优化] 导航页面增加滑动置顶
  • 3、[优化] 启动图、代码等部分优化

V3.2.0(2019-12-16)

  • 1、[新增] 热搜词等tag处使用圆角有色水波纹点击效果
  • 2、[优化] 知识体系页面恢复及优化
  • 3、[优化] banner和ByRecyclerView版本升级优化

V3.1.0(2019-11-15)

V3.0.0(2019-09-30)

  • 1、[新增] 首页增加公众号栏目
  • 2、[新增] 玩安卓增加积分系统模块
  • 3、[新增] 赞赏云阅页面(每月后7天开启)
  • 4、[新增] 电影详情剧照查看大图使用转场动画
  • 5、[修复] 部分文章作者不显示修正
  • 6、[优化] 屏蔽网页里的广告
  • 7、[优化] 更改收藏图标等ui优化

V2.9.5(2019-07-18)

  • 1、[新增] 首页增加项目分类api
  • 2、[新增] 增加历史搜索记录
  • 3、[优化] 知识体系页ui改版
  • 4、[优化] 导航数据页ui改版
  • 5、[优化] 统一TabLayout指示器样式

V2.9.1(2019-06-05)

  • 1、[新增] BaseViewModel释放资源
  • 2、[修复] 适配Android9.0不允许http连接的问题
  • 3、[优化] 电影详情页等其他页面ui优化

V2.9.0(2019-05-16)

  • 1、[新增] 时光网电影模块
  • 2、[修复] 隐藏豆瓣电影页面(api失效)
  • 3、[修复] 代码优化及修改部分bug

V2.8.5(2019-05-06)

  • 1、[新增] 问题反馈内加入QQ群
  • 2、[升级] glide升级到4.9.0
  • 3、[优化] ui部分优化
  • 4、[修复] 修复若干bug

V2.8.0(2019-03-21)

  • 1、[新增] 搜索页面
  • 2、[修复] 隐藏书籍分类页面(api失效)
  • 3、[修复] 修复收藏页面星星未选中的bug

V2.7.5(2019-03-13)

  • 1、[升级] 玩android接口升级为https
  • 2、[升级] RxJava2.x升级
  • 3、[优化] 设置不能修改字体
  • 4、[优化] 优化导航数据等页面
  • 5、[修复] 代码优化及修改部分bug

V2.7.0(2019-02-14)

  • 1、[新增] 知识体系详情页
  • 2、[优化] 项目主页优化

V2.6.0(2019-01-16)

  • 1、[新增] 豆瓣即将上映电影数据
  • 2、[优化] 启动白屏问题优化
  • 3、[优化] RecyclerView列表加载优化
  • 4、[修复] 修复无邮箱应用时点击跳转崩溃问题

Thanks

  • 我几乎看过了所有关于Android仿网易云音乐的项目与文章,发现大部分做的都不够细致,也没有比较好的内容填充,于是决心自己着手做一个,才有了这个开源项目。这里列出主要参考的内容。

  • 图片来源:iconfont、UI工程师Sandawang和网易云音乐App。

  • 主要数据来源:玩Android

  • 使用到的开源库:glidebottomsheetnineoldandroidsrxandroid等等。

Statement

感谢网易云音乐App提供参考,附上《网易云音乐Android 3.0视觉设计规范文档》。本人是网易云音乐的粉丝,使用了其中的部分素材,并非攻击,如构成侵权请及时通知我修改或删除。大部分数据来自于玩安卓、干货集中营和时光网,一切数据解释权都归张鸿洋、代码家和时光网所有。

End

注意:此开源项目仅做学习交流使用,如用到实际项目还需多考虑其他因素,请多多斟酌。如果你觉得不错,对你有帮助,欢迎点个star,follow,也可以帮忙分享给你更多的朋友,或给点赞赏,这是给我们最大的动力与支持。

捐赠后均会被记录到列表中,可以留下友情链接,起到一定的推广作用。感谢大家的信任,捐赠列表

About me

License

Copyright (C) 2016 Bin Jing

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

cloudreader's People

Contributors

youlookwhat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cloudreader's Issues

Help

很高兴能阅读到这么优秀的代码,其中有一部分不是很理解,希望作者能提供帮助。

    @ParamNames("count")
    private int count;
    @ParamNames("start")
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface ParamNames {
    String value();
}

这个注解的使用有什么样的作用,应用场景是怎么样的。
希望能提供一些资料供阅读参考。
谢谢。

rxBux的bug

你好!我在运行代码的时候,针对
// 首页跳转到电影栏
public static final int JUMP_TYPE_TO_ONE = 1;
的这个事件,做了测试,发现由于rxBus的bug,会导致进入多少次MainActivity,就会多出多少次该事件的响应:即,如果这个事件被post一次,而进入了MainActivity 3次,那么call事件变调起3次。
应该是由于在退出 MainActivity的时候,没有对其进行释放导致的。
但是我对rxBus理解还不够深入,请问如果释放掉呢

databinding不存在

Error:(23, 51) 错误: 程序包com.example.jingbin.cloudreader.databinding不存在
小白求解 这个包在哪里
1496819698 1

banner问题求解

哈喽 请问大神首页轮播是遇到什么异常问题啊 我这是当轮播到了第三页或以上 点击底部菜单时 重新切回来 banner会倒回到第二页开始 无语 请问情况与我一样么 分享下 谢谢

已更新至V1.1

1.书籍详情页面增加自定义元素共享切换动画,并可简单添加需要支持的详情页
2.代码优化
3.其他

怎么没有处理异常的代码!!

Subscription get = HttpClient.Builder.getDouBanService().getBook(mType, mStart, mCount)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer() {}
这段代码如何添加解析{"code":0,"message":"","result":""}的代码
我想在登录的时候根据code状态判断是否登录,大神,求带

借你的项目提一下EMUI系统android7.0的BUG,寻求一下解决思路

**问题:**一般都会在onDestory()方法中执行释放内容,但在华为android7.0的手机上面,就会出现onDestory()延迟执行,在自个项目中做了一些数据统计,得出的结论是(AActivity--> BActivity,当B中需要执行大量方法时,A onDestory()会延迟执行(最长10s));
在您的项目启动页中也测试了一下,会延迟执行3s左右;
代码:
`@Override
protected void onPause() {
super.onPause();
time = System.currentTimeMillis();
}

private long time;

@Override
protected void onDestroy() {
    super.onDestroy();
    if (System.currentTimeMillis() - time > 500)
        Log.i("TAG", getLocalClassName() + "destroy超过了500Ms:" + (System.currentTimeMillis() - time));
}`

大神,可否完善下注释

希望大神多添加下注释,能够整理一份流程图。也希望大神能够对框架做一份完整的框架设计,这样更能方便理解。

【已更新至v1.5 】

1、App体积大小从16M降到5.8M!
2、将App里固定的图片以移动到七牛。
3、更改项目主页透明状态栏显示方式。
4、更改每日推荐图片显示规则,使其不重复显示。
5、更换过渡图图片。
6、代码优化;删除多余资源。

BR类找不到

大神,能给你说说bean中的BR类是怎么生成的么,
我的登录步骤是:
(1)先按照你的bean模板创建自己的Bean(get set)
(2)用retrofit异步调用接口:
Subscription sp = HttpClient.Builder.loginService().login(user.userName, user.password)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer() {...}
可是rebuild/clean 都提示该bean的BR找不到。还缺什么?

看这里!看这里!!!!!

loadHotMovie Failure

HTTP GET https://api.douban.com/v2/movie/in_theaters
END HTTP (no body) END HTTP (no body)
D/Retrofit: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
在浏览器输入API是有数据返回的,不过客户端解析出现问题

已更新至v1.2

1、更改每日推荐逻辑,使其一定有数据
2、干货集中营的item改为CardView展示
3、代码优化

isApp属性

大神,我看ViewBigImageActivity的时候看到你设置了一个isApp属性,并且根据该属性的true和false进行了不同的操作,但是我全局搜索的了一下,感觉全部都是设置的为false。请问是我看漏了么,另外就是他为true 或false的执行的步骤区别有什么吗

可否说下app的缓存模块

初步看了下,是用ACache类来实现的,么有应用LRU算法。没有使用数据库,这快可否解释下你是怎么设计的呢?

我的高斯模糊图片为什么是白色的

唉,搞了半天没搞懂,不知为什么

private void setImgHeaderBg() {
        if (subjectsBean != null) {
            // 高斯模糊背景 原来 参数:12,5  23,4
            Glide.with(this).load(subjectsBean.getImages().getLarge())
                    .error(R.drawable.stackblur_default)
                    
                    .bitmapTransform(new BlurTransformation(this, 23, 4))
                    //.bitmapTransform( new BlurTransformation( mIvTitleHeadBg.getContext(), 25 ) )
                   // .transform(new BlurTransformation(mIvTitleHeadBg.getContext()))
                    .listener(new RequestListener<String, GlideDrawable>() {
                        @Override
                        public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
                            Log.d(TAG, "xyz  onException: " + e);
                            return false;
                        }

                        @Override
                        public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                            mTitleToolBar.setBackgroundColor(Color.TRANSPARENT);
                            mIvTitleHeadBg.setImageAlpha(0);
                            mIvTitleHeadBg.setVisibility(View.VISIBLE);
                            Log.d(TAG, "xyz  onResourceReady: 执行过了没有");
                            return false;
                        }
                    }).into(mIvTitleHeadBg);
        }

    }

求指点,我没用databing 和 RX,但是滑下去的时候,Toolbar有背景图

screenshot_1492916372
screenshot_1492916376

@bindingAdapter呢?

xml中使用自定义属性
android:showBookImg='@{bean.images.large}'(item_book.xml),
android:showMovieImg="@{subjectsBean.images.large}"(item_one.xml)
请问,代码中@bindingAdapter在哪设置的?具体在哪个java文件中,大神,能给说一下不,找不到撒!!!
快瞅我!!

暂时没啥问题

点个赞。
另外remusic是不能用了吗?仿的好,就是代码貌似有点乱。
另外能够认识楼主就好了。

ACache疑似bug

Dear,youlookwhat:
最近看了你ACache模块的实现,非常不错。但是在看代码中发现一个问题
1 ACache.remove();
2 ACache.put(),此时恰好需要清楚最久使用的一个文件,调用removeNext;在1中与已经执行f.delete();重复执行是否会报异常;

      这个概率低(我这面没有网络,不知道会否报异常,如没有请你忽视)

XRecyclerView报错了。

你好,我把项目里的com.example.xrecyclerview.XRecyclerView拿出来用时,当我设置了这句
setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
滑动时就报错了,报的是 java.lang.IllegalArgumentException: Pixel distance must be non-negative
如果改为 setLayoutManager(new LinearLayoutManager(getActivity()));
这样又没问题。在网上找了一下,没找到解决方案,请问这个你是怎么解决的呢?

app优化

建议好好优化一下,很多地方存在内存泄漏的风险

小米4.4.4手机运行不了

02-09 09:14:27.437 9294-9294/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.jingbin.cloudreader, PID: 9294
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jingbin.cloudreader/com.example.jingbin.cloudreader.ui.TransitionActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_vector_test.xml from drawable resource ID #0x7f020052
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2190)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2239)
at android.app.ActivityThread.access$800(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1202)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5047)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:806)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_vector_test.xml from drawable resource ID #0x7f020052
at android.content.res.Resources.loadDrawable(Resources.java:2120)
at android.content.res.MiuiResources.loadDrawable(MiuiResources.java:320)
at android.content.res.Resources.getDrawable(Resources.java:710)
at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:374)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:200)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188)
at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:723)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193)
at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:81)
at android.support.v7.app.AppCompatDelegateImplBase.(AppCompatDelegateImplBase.java:127)
at android.support.v7.app.AppCompatDelegateImplV9.(AppCompatDelegateImplV9.java:147)
at android.support.v7.app.AppCompatDelegateImplV11.(AppCompatDelegateImplV11.java:27)
at android.support.v7.app.AppCompatDelegateImplV14.(AppCompatDelegateImplV14.java:53)
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:205)
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:185)
at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:525)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:74)
at com.example.jingbin.cloudreader.ui.TransitionActivity.onCreate(TransitionActivity.java:29)
at android.app.Activity.performCreate(Activity.java:5249)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2154)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2239) 
at android.app.ActivityThread.access$800(ActivityThread.java:141) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1202) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:136) 
at android.app.ActivityThread.main(ActivityThread.java:5047) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:806) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #17: invalid drawable tag vector
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:933)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:877)
at android.content.res.Resources.loadDrawable(Resources.java:2116)
at android.content.res.MiuiResources.loadDrawable(MiuiResources.java:320) 
at android.content.res.Resources.getDrawable(Resources.java:710) 
at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:374) 
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:200) 
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188) 
at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:723) 
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193) 
at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:81) 
at android.support.v7.app.AppCompatDelegateImplBase.(AppCompatDelegateImplBase.java:127) 
at android.support.v7.app.AppCompatDelegateImplV9.(AppCompatDelegateImplV9.java:147) 
at android.support.v7.app.AppCompatDelegateImplV11.(AppCompatDelegateImplV11.java:27) 
at android.support.v7.app.AppCompatDelegateImplV14.(AppCompatDelegateImplV14.java:53) 
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:205) 
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:185) 
at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:525) 
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:74) 
at com.example.jingbin.cloudreader.ui.TransitionActivity.onCreate(TransitionActivity.java:29) 
at android.app.Activity.performCreate(Activity.java:5249) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2154) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2239) 
at android.app.ActivityThread.access$800(ActivityThread.java:141) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1202) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:136) 
at android.app.ActivityThread.main(ActivityThread.java:5047) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:806) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622) 
at dalvik.system.NativeStart.main(Native Method) 

怎么运行项目

很抱歉,想知道如何打开您写的开源项目呢,用什么工具实行

运行报错,我的jdk是1.8版本

image

要运行的时候一直报上面的错误,好像和DataBindingHelper.jar 包有关系

错误代码:
Error:PARSE ERROR:
Error:unsupported class file version 52.0
Error:...while parsing DataAction.class

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.

com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException

【已更新至V1.8.2】

1、[修复] 首页轮播图显示异常问题
2、[修复] 干货订制页,刷新内容到底无内容后切换到其他类别,无法上拉加载的情况

请问Bean模型的BR类是怎么来的呢?

大兄弟,RT,在bean模型中多次使用的BR类是怎么来的?在项目中找不到此类。是 DataBindingHelper.jar 的作用吗?我该怎么在项目中使用 DataBindingHelper.jar 呢?
谢谢~

关于内存泄漏

举一个例子
listener是匿名内部类会持有UI层比如fragment的引用
如果网络比较慢listener异步请求 又销毁了fragment就会有泄露的风险
共同学习 现在已知的解决方法就是利用弱引用 加静态匿名内部类的方法避免
public void showBanncerPage(final RequestImpl listener) {
Subscription subscription = HttpUtils.getInstance().getDongTingServer().getFrontpage()
.observeOn(AndroidSchedulers.mainThread()).subscribeOn(Schedulers.io())
.subscribe(new Observer() {
@OverRide
public void onCompleted() {
}

                @Override
                public void onError(Throwable e) {
                    listener.loadFailed();
                }

                @Override
                public void onNext(FrontpageBean frontpageBean) {
                    listener.loadSuccess(frontpageBean);
                }
            });
    listener.addSubscription(subscription);
}

【已更新至V1.8.0】

  • 1、[新增] 侧边栏增加“登录GitHub账号”和“退出应用”功能
  • 2、[新增] WebView新增“分享到”、“复制链接”、“打开链接”功能
  • 3、[新增] 使其系统更改字体无效
  • 4、[改进] 网络请求更换成retrofit 2.x
  • 5、[改进] 首页轮播图更换显示链接
  • 6、[优化] 进入主界面动画优化
  • 7、[优化] 兼容至7.0、升级关联库和代码优化等

关于样式中的toolbarItemBackground

你好~ 我有个疑问,在项目的values/styles.xml 样式文件中,有以下:

   <!--titleBar样式-->
    <style name="ToolbarStyle" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
        <item name="actionBarItemBackground">@drawable/toolbarItemBackground</item>
        <item name="selectableItemBackground">@drawable/toolbarItemBackground</item>
        <item name="titleTextAppearance">@style/ToolBar.Title</item>
        <item name="subtitleTextAppearance">@style/Toolbar.SubTitle</item>
        <item name="android:windowNoTitle">true</item>
        <!--<item name="android:textSize">18sp</item> &lt;!&ndash;  搞掂字体大小&ndash;&gt;-->
    </style>

我想请问的是,其中引用 @drawable/toolbarItemBackground 这个配置文件,我在项目中找不到,搜索不到答案,上来请教一下,这是怎么来的呢? 我原样照抄的话会报错,是我哪儿错漏了吗?
谢谢了~

activity调用基类很乱,希望优化下

看过别人的上线项目,他们的activity都会继承baseActivity,做统一处理,比如退出,多界面退出,简化操作方法等,希望楼主也统一下,看着舒服撒~~~

item_one.xml中的一处疑问?

我自己练习了大神的代码,发现这行总是提示bug,删除这行就正常运行,
位置:app--res--item_one.xml--的:android:showMovieImg="@{subjectsBean.images.large}"
提示bug:
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.

java.lang.RuntimeException: Found data binding errors.
****/ data binding error ****msg:Cannot find the setter for attribute 'android:showMovieImg' with parameter type java.lang.String on android.widget.ImageView.
file:E:\as_workspace\ISS\app\src\main\res\layout\item_one.xml
loc:35:40 - 35:64
****\ data binding error ****
求解答!!!

还有一处疑惑:databindinghelper.jar包为啥子放在工程下,而不放在module的libs下,求解答!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.