GithubHelp home page GithubHelp logo

weyuereader's Introduction

微Yue电子书-Java版本

注意

现在Java版本由于Gradle无法编译过,切换到kotlin版本。

服务数据获取不到

由于服务器到期,因此应用获取不到数据,此项目仅做学习使用。 如果想要使用服务器,可自行clone服务端代码使用。 服务端地址

项目功能

  • 注册登录
  • 用户信息、用户密码、用户图像修改
  • 书籍分类
  • 本地书籍扫描
  • 书架
  • 书籍搜索(作者名或书籍名)
  • 书籍阅读(仅txt格式,暂不支持PDF等其他格式)
  • 阅读字体、背景颜色、翻页效果等设置
  • 意见反馈(反馈信息发送到我的邮箱)
  • 应用版本更新

项目截图

登录 首页 用户信息 书籍分类 书籍详情 书籍类型 书籍阅读 本地扫描 搜索 选择主题 版本更新 意见反馈

使用开源库

  1. Rx2网络封装 RxHttpUtils
  2. 6.0权限库 RxPermissions
  3. Glide图片加载库 Glide
  4. 下拉刷新库 SmartRefreshLayout
  5. RecyclerView简化框架 BaseRecyclerViewAdapterHelper
  6. MD风格Dialog material-dialogs
  7. TabLaout选择 NavigationTabStrip
  8. 数据加载动画 Android-SpinKit
  9. 展开折叠TextView ExpandTextView
  10. 流式标签 FlowLayout
  11. 数据库 greenDAO
  12. 版本更新进度条 NumberProgressBar
  13. 图片选择器 TakePhoto
  14. 项目首页- GanK -在基础上修改

项目介绍

书籍数据爬取<追书神器>,付费章节是无法阅读的,因为付费章节的书籍内容是加密字符串。书籍数据也不会跟及时更新,只是隔段时间会去更新。这个项目主要是学习为主。项目最开始是准备使用MVVM架构配合DataBinding开发项目,实际运用中DataBinding在Android Studio支持不太友好,就放弃使用(因为太耗费时间),后来也懒得改,不过代码量不多,代码清晰。

下载体验

感谢

  • Allen -使用RxHttpUtils相识(竟然是老乡),帮我解答不少问题
  • Richard Liu -好机油,经常开技术研讨会(是他演讲,我听着)

意见反馈

如果遇到问题或者好的建议,请反馈到:[email protected] 或者[email protected]

如果觉得还行的话,赞一下吧! 谢谢啦!

TODO

  • 支持PDF等更多格式文件
  • 添加更多电子书(如果哪位朋友有免费电子书网站可以给我说一下,谢谢)

说明

本项目仅提供技术学习交流,不可作为商用。

常见问题

1、Clone下来自己运行之后拿不到数据。

修改utils-Constant里面的为!BuildConfig.DEBUG即可(切换为服务器地址) server_address_switch.png

2、Android 4.x版本崩溃。

由于4.x版本不支持svg图片,所以会保错,目前没有解决(谅解,时间有限)

3、应用内版本更新

从我提供的二维码扫描下载的,在应用内是可以正常更新的,自己clone跑起来,提示更新,下载是无法覆盖安装的。(签名问题)

weyuereader's People

Contributors

liangludev 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

weyuereader's Issues

阅读功能

关于那个阅读器,最主要的就是那个PageView? 一章小说分成几页这些逻辑PageView都是写好的吗?

网络异常

什么玩意,一直提示网络异常,我可是100兆的网啊,

请求超时,请问服务器没有维护了吗

08-01 10:06:57.801 22967-24906/com.lianglu.weyue E/RxHttpUtils: --> GET http://192.168.5.87:3389/api/classify http/1.1
08-01 10:06:57.801 22967-24809/com.lianglu.weyue E/RxHttpUtils: app-type: Android
08-01 10:06:57.801 22967-24908/com.lianglu.weyue E/RxHttpUtils: app-type: Android
08-01 10:06:57.801 22967-24906/com.lianglu.weyue E/RxHttpUtils: app-type: Android
08-01 10:06:57.801 22967-24809/com.lianglu.weyue E/RxHttpUtils: access-token: weyue
08-01 10:06:57.801 22967-24908/com.lianglu.weyue E/RxHttpUtils: access-token: weyue
08-01 10:06:57.801 22967-24906/com.lianglu.weyue E/RxHttpUtils: access-token: weyue
08-01 10:06:57.801 22967-24809/com.lianglu.weyue E/RxHttpUtils: --> END GET
08-01 10:06:57.801 22967-24908/com.lianglu.weyue E/RxHttpUtils: --> END GET
08-01 10:06:57.801 22967-24906/com.lianglu.weyue E/RxHttpUtils: --> END GET
08-01 10:07:07.666 22967-24907/com.lianglu.weyue E/RxHttpUtils: <-- HTTP FAILED: java.net.SocketTimeoutException: connect timed out

期待后台程序

能否分享一下后台服务器端的程序呢?小白想要完整学习下,这种联网的APP要如何实现= =

点击"开始阅读"始终显示"正在拼命加载中..."

05-03 13:55:16.399 4274-4620/com.lianglu.weyue E/RxHttpUtils: Connection: keep-alive
05-03 13:55:16.425 4274-4620/com.lianglu.weyue E/RxHttpUtils: {"code":10000,"msg":"请求成功","data":{"_id":"5a785d73e2516170fac3bb31","book":"5a785d655a3ff83b701d73ff","chaptersUpdated":"2018-04-03T16:49:20.232Z","chapters":[{"title":"001、道不同不相为谋","link":"http://www.hongxiu.com/chapter/9657103203603503/25923235642625187","_id":"5ad5e2e49fb7f804e30b253c"},{"title":"002、没钱住什么酒店","link":"http://www.hongxiu.com/chapter/9657103203603503/25923244233745060","_id":"5ad5e2e49fb7f804e30b253b"},{"title":"003、爱钞票不爱美人","link":"http://www.hongxiu.com/chapter/9657103203603503/25923315646296340","_id":"5ad5e2e49fb7f804e30b253a"},{"title":"004、满满的都是套路","link":"http://www.hongxiu.com/chapter/9657103203603503/25977217217029438","_id":"5ad5e2e49fb7f804e30b2539"},{"title":"005、卖多卖少都是缘","link":"http://www.hongxiu.com/chapter/9657103203603503/26000958987504878","_id":"5ad5e2e49fb7f804e30b2538"},{"title":"006、我用真心换白眼","link":"http://www.hongxiu.com/chapter/9657103203603503/26045225069762382","_id":"5ad5e2e49fb7f804e30b2537"},{"title":"007、虚出一个银河系","link":"http://www.hongxiu.com/chapter/9657103203603503/26068716371427838","_id":"5ad5e2e49fb7f804e30b2536"},{"title":"008、你俩组团来害我","link":"http://www.hongxiu.com/chapter/9657103203603503/26091545496547122","_id":"5ad5e2e49fb7f804e30b2535"},{"title":"009、请继续你的表演","link":"http://www.hongxiu.com/chapter/9657103203603503/26115136400520115","_id":"5ad5e2e49fb7f804e30b2534"},{"title":"010、古籍上的字没了","link":"http://www.hongxiu.com/chapter/9657103203603503/26138028034590385","_id":"5ad5e2e49fb7f804e30b2533"},{"title":"011、哪里不会点哪里","link":"http://www.hongxiu.com/chapter/9657103203603503/26160804238836141","_id":"5ad5e2e49fb7f804e30b2532"},{"title":"012、你要想清楚后果","link":"http://www.hongxiu.com/chapter/9657103203603503/26184711916810934","_id":"5ad5e2e49fb7f804e30b2531"},{"title":"013、夺取《截脉指》","link":"http://www.hongxiu.com/chapter/9657103203603503/26207931847808211","_id":"5ad5e2e49fb7f804e30b2530"},{"title":"014、在你坟头尿一泡","link":"http://www.hongxiu.com/chapter/9657103203603503/26229452582713098","_id":"5ad5e2e49fb7f804e30b252f"},{"title":"015、今日我定要杀你","link":"http://www.hongxiu.com/chapter/9657103203603503/26246688290293364","_id":"5ad5e2e49fb7f804e30b252e"},{"title":"016、论读书的重要性","link":"http://www.hongxiu.com/chapter/9657103203603503/26264515102979829","_id":"5ad5e2e49fb7f804e30b252d"},{"title":"017、先把内鬼找出来","link":"http://www.hongxiu.com/chapter/9657103203603503/26269296188735378","_id":"5ad5e2e49fb7f804e30b252c"},{"title":"018、栽赃的最高境界","link":"http://www.hongxiu.com/chapter/9657103203603503/26294593005129441","_id":"5ad5e2e49fb7f804e30b252b"},{"title":"019、血剑神指段长虹","link":"http://www.hongxiu.com/chapter/9657103203603503/26346973628149803","_id":"5ad5e2e49fb7f804e30b252a"},{"title":"020、神火飞鸦破寨门","link":"http://www.hongxiu.com/chapter/9657103203603503/26368476392059786","_id":"5ad5e2e49fb7f804e30b2529"},{"title":"021、总有刁民想害朕","link":"http://www.hongxiu.com/chapter/9657103203603503/26393388805305482","_id":"5ad5e2e49fb7f804e30b2528"},{"title":"022、你是王家的余孽","link":"http://www.hongxiu.com/chapter/9657103203603503/26416615173725868","_id":"5ad5e2e49fb7f804e30b2527"},{"title":"023、一个大胆的想法","link":"http://www.hongxiu.com/chapter/9657103203603503/26438263949117323","_id":"5ad5e2e49fb7f804e30b2526"},{"title":"024、你牛哔,我认怂","link":"http://www.hongxiu.com/chapter/9657103203603503/26462964845305045","_id":"5ad5e2e49fb7f804e30b2525"},{"title":"025、得来全不费工夫","link":"http://www.hongxiu.com/chapter/9657103203603503/26486041997949704","_id":"5ad5e2e49fb7f804e30b2524"},{"title":"026、不停练功才能活","link":"http://www.hongxiu.com/chapter/9657103203603503/26505747832418818","_id":"5ad5e2e49fb7f804e30b2523"},{"title":"027、楼主,但求一炮",
05-03 13:55:16.425 4274-4620/com.lianglu.weyue E/RxHttpUtils: <-- END HTTP (11130-byte body)
05-03 13:55:16.501 4274-4620/com.lianglu.weyue E/RxHttpUtils: --> GET http://chapterup.zhuishushenqi.com/chapter/http:%2F%2Fwww.hongxiu.com%2Fchapter%2F9657103203603503%2F25923235642625187 http/1.1
05-03 13:55:16.501 4274-4620/com.lianglu.weyue E/RxHttpUtils: --> END GET
05-03 13:55:16.501 4274-4274/com.lianglu.weyue D/ThemeResources: getThemeFilePath assetCookie = 3; resourcePath=res/mipmap-xhdpi-v4/item_category_normal.png; accessPackageName=com.lianglu.weyue; mPackageName=com.lianglu.weyue
05-03 13:55:16.504 4274-4274/com.lianglu.weyue D/ThemeResources: final Theme file path = system/lib/uitechno/defaulttheme/com.lianglu.weyue/res/drawable-nodpi/item_category_normal.png
05-03 13:55:16.506 4274-4274/com.lianglu.weyue D/ThemeResources: getThemeFilePath assetCookie = 3; resourcePath=res/mipmap-xhdpi-v4/item_category_activated.png; accessPackageName=com.lianglu.weyue; mPackageName=com.lianglu.weyue
05-03 13:55:16.507 4274-4274/com.lianglu.weyue D/ThemeResources: final Theme file path = system/lib/uitechno/defaulttheme/com.lianglu.weyue/res/drawable-nodpi/item_category_activated.png
05-03 13:55:16.513 4274-4620/com.lianglu.weyue I/System.out: [socket]close,localport:56740
05-03 13:55:16.520 4274-4620/com.lianglu.weyue I/System.out: [socket]connecting,remote:chapterup.zhuishushenqi.com/183.61.180.217:80,localport:-1(timeout:10000ms)

                                                         [ 05-03 13:55:16.520  4274: 4620 D/         ]
                                                         [socket]Process(4274) com.lianglu.weyue :80 

05-03 13:55:16.704 4274-4620/com.lianglu.weyue I/System.out: [socket]connected,remote:chapterup.zhuishushenqi.com/183.61.180.217:80,localport:56746
05-03 13:55:16.817 4274-4620/com.lianglu.weyue E/RxHttpUtils: <-- 200 OK http://chapterup.zhuishushenqi.com/chapter/http:%2F%2Fwww.hongxiu.com%2Fchapter%2F9657103203603503%2F25923235642625187 (315ms)
05-03 13:55:16.817 4274-4620/com.lianglu.weyue E/RxHttpUtils: Server: Tengine
05-03 13:55:16.817 4274-4620/com.lianglu.weyue E/RxHttpUtils: Content-Type: application/json; charset=utf-8
05-03 13:55:16.817 4274-4620/com.lianglu.weyue E/RxHttpUtils: Connection: keep-alive
05-03 13:55:16.817 4274-4620/com.lianglu.weyue E/RxHttpUtils: Vary: Accept-Encoding
05-03 13:55:16.818 4274-4620/com.lianglu.weyue E/RxHttpUtils: X-Req-Id: bbcaee70-48fb-11e8-afde-43827e9f89df
05-03 13:55:16.818 4274-4620/com.lianglu.weyue E/RxHttpUtils: ETag: "1de0-w2DHUD3wxtL6Oop0MUjYBiPkYIY"
05-03 13:55:16.818 4274-4620/com.lianglu.weyue E/RxHttpUtils: Date: Thu, 26 Apr 2018 02:44:25 GMT
05-03 13:55:16.818 4274-4620/com.lianglu.weyue E/RxHttpUtils: Via: cache19.l2st3-2[0,200-0,H], cache20.l2st3-2[1,0], kunlun6.cn116[6,200-0,M], kunlun5.cn116[8,0]
05-03 13:55:16.818 4274-4620/com.lianglu.weyue E/RxHttpUtils: Age: 0
05-03 13:55:16.818 4274-4620/com.lianglu.weyue E/RxHttpUtils: X-Cache: MISS TCP_MISS dirn:-2:-2 mlen:-1
05-03 13:55:16.818 4274-4620/com.lianglu.weyue E/RxHttpUtils: X-Swift-SaveTime: Thu, 03 May 2018 05:55:16 GMT
05-03 13:55:16.818 4274-4620/com.lianglu.weyue E/RxHttpUtils: X-Swift-CacheTime: 31104000
05-03 13:55:16.819 4274-4620/com.lianglu.weyue E/RxHttpUtils: Access-Control-Allow-Methods: GET, POST, HEAD, OPTIONS, PUT
05-03 13:55:16.819 4274-4620/com.lianglu.weyue E/RxHttpUtils: Timing-Allow-Origin: *
05-03 13:55:16.821 4274-4620/com.lianglu.weyue E/RxHttpUtils: EagleId: 7793970515253269167524592e
05-03 13:55:16.828 4274-4620/com.lianglu.weyue E/RxHttpUtils: {"ok":true,"chapter":{"title":"001、道不同不相为谋","body":"大学毕业季,一家欢喜百家愁。\n找工作不比高考,成绩好的上,成绩差的……花点钱也能上。\n想要找到一份像样、体面的工作,成绩、学历在其次,重要的是人情关系。\n有人情,花点小钱就进去了;没人情,履历再好看也只能靠边站。\n至于说花钱……没人情关系,你连塞钱的地方都找不到!\n从一家私营企业出来,郑丰仰天叹了口气,这已经是他面试的第八家单位了,依旧没成。\n大学毕业以前,郑丰在班里的学习成绩名列前茅,荣获过不少市级、省级奖项,这些一度为他的大学生活增光添彩,让人倍感羡慕。\n但这些曾经的荣耀光环,在社会上并没能帮助他太多。\n精于世故的人事主管们总会带着一副戏谑的态度去看待荣誉,也许在他们看来,他的所有荣誉都是花钱买来的吧。\n面试碰壁,郑丰也不是没想过考事业单位和公务员,但在毕业之前,他已经报名过省级事业单位的考试。\n考试的成绩名列第一,但他却连面试官的影子都没见着就被莫名其妙的刷下去了。\n几经打听,他才知道对方压根没想招外人,入取的是过线名单中的内部子弟,其他人和他一样,都没经历过面试这一环。\n说实话,当是郑丰真的很气愤,一股子书生气让他郁愤难平,但没办法,人家不要他,就算去投诉,最终的结局也不会有任何改变。\n无奈之下,他毕业后转战私企,四处投奔简历,但直到今天,也没有一家打通过他的电话。\n“还有一家,希望能成。”郑丰看了一眼自己的“面试计划书”,给自己打了打气。\n最后一家面试单位是一家娱乐公司,主营各类视频直播,公司规模不大,但资金充足,背景雄厚,在多个网络平台都有资源,发展潜力十足,这是郑丰选择它的主要原因。\n毕竟在郑丰看来,他学问、能力样样不缺,缺的只是一个展示自己的机会,只要给他机会,他就能够很好的发展起来。\n深吸了一口气,郑丰走进娱乐公司所在的大厦,乘坐电梯来到12楼,在前台接待的指引下来到了面试地点。\n有眼光、有志向的人不止郑丰一个,前来面试这家公司的人很多。\n有衣着曝露、姿容秀丽的摩登女郎;也有西装革履、提着一只公文包的商务男;但更多的还是和郑丰一样,涉世未深的毕业季大学生。\n“竞争激烈啊。”郑丰排在队伍的最后头,忍不住低声自语了一句。\n前面的短发女孩听到他的话回过头来,一对月牙儿一样的眼睛弯了弯,嘟着嘴说道:“可不是吗,现在找工作真难,以前还听人说,只要有手有脚肯吃苦就不怕被饿死,话虽是这么说,可光是不被饿死就行吗?总得有个地方住吧?现在市中心的房租都快涨疯了,再找不到工作我就得睡桥底下去了。”\n听到女孩的抱怨,郑丰会心一笑,她说的也是他所担心的。\n毕业之后,毕业生要尽快离校,郑丰已经拖了半个月了,如果再不能找到工作安顿下来,那他就只能提着行李回老家,总不能还伸手向父母要钱租房子住吧?\n就在这时,面试的会议室大门被推开,一名商务男垂头丧气的走了出来,跟在他身后的是一名鼻梁上架着圆形时尚框镜的OL,她只探出半边身子,对着面试的人群喊道:“下一位!”\n立时,排在最前面的人走进了会议室,大门再次紧闭。\n面试失败的商务男一步步走来,众人纷纷投以同情的目光,同时还夹杂着几分幸灾乐祸的味道。\n他的失败,意味着他们成功的几率又大了一些。\n郑丰不知经历过多少次类似的遭遇,有些无奈的叹了口气。\n世态炎凉啊。\n面试的速度出人意料的快,差不多五到十分钟就能�
05-03 13:55:16.828 4274-4620/com.lianglu.weyue E/RxHttpUtils: <-- END HTTP (7648-byte body)
05-03 13:55:16.842 4274-4620/com.lianglu.weyue E/RxHttpUtils: --> GET http://chapterup.zhuishushenqi.com/chapter/http:%2F%2Fwww.hongxiu.com%2Fchapter%2F9657103203603503%2F25923244233745060 http/1.1
05-03 13:55:16.843 4274-4620/com.lianglu.weyue E/RxHttpUtils: --> END GET
05-03 13:55:16.845 4274-4620/com.lianglu.weyue E/RxHttpUtils: <-- HTTP FAILED: java.io.IOException: Canceled
05-03 13:55:16.859 4274-4274/com.lianglu.weyue E/VMBookContentInfo$3: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
05-03 13:56:09.705 4274-4483/com.lianglu.weyue I/System.out: [socket]close,localport:58292

导入出错

项目导入是不是对gradle版本有要求啊,导入的时候报错:Could not find method google() for arguments [] on repository container.

阅读设置

大佬,请问这个项目里面的阅读设置写在哪儿了

接口api访问失败

www.luliangdev.cn/api/

app-type:Android
access-token:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiOTUyOCIsImlhdCI6MTUyNTg0MTE3OSwiZXhwIjoxNTI4NDMzMTc5fQ.WFVaErTIG7mXtZdhpkdCf2P947b9xHucbwcQoDzdrbE

报错信息:

Not Found

404

Error: Not Found
    at /node/node_dev/WeYueSever/app.js:41:15
    at Layer.handle [as handle_request] (/node/node_dev/WeYueSever/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/node/node_dev/WeYueSever/node_modules/express/lib/router/index.js:317:13)
    at /node/node_dev/WeYueSever/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/node/node_dev/WeYueSever/node_modules/express/lib/router/index.js:335:12)
    at next (/node/node_dev/WeYueSever/node_modules/express/lib/router/index.js:275:10)
    at /node/node_dev/WeYueSever/node_modules/express/lib/router/index.js:635:15
    at next (/node/node_dev/WeYueSever/node_modules/express/lib/router/index.js:260:14)
    at jwt.verify (/node/node_dev/WeYueSever/controller/api/headers.js:33:17)
    at /node/node_dev/WeYueSever/node_modules/jsonwebtoken/verify.js:27:18
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickDomainCallback (internal/process/next_tick.js:218:9)

登录用户名 9528 密码123456

阅读中滑动进度条闪退问题

@LiangLuDev 首先谢谢你的分享,其次如题问题麻烦帮忙看下。

具体操作步骤:
滑动进度条到头-点击下一章-滑动进度条到头-点击下一章,如此重复2-3章就会闪退

日志如下:
java.lang.IndexOutOfBoundsException: Index: 16, Size: 15
at java.util.ArrayList.get(ArrayList.java:411)
at com.lianglu.weyue.widget.page.PageLoader.getCurPage(PageLoader.java:1074)
at com.lianglu.weyue.widget.page.PageLoader.skipToPage(PageLoader.java:282)
at com.lianglu.weyue.view.activity.impl.ReadActivity$4.onStopTrackingTouch(ReadActivity.java:311)
at android.widget.SeekBar.onStopTrackingTouch(SeekBar.java:121)
at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:772)
at android.view.View.dispatchTouchEvent(View.java:10039)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:417)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1808)
at android.app.Activity.dispatchTouchEvent(Activity.java:3198)
at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:68)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:379)
at android.view.View.dispatchPointerEvent(View.java:10261)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4500)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4365)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3905)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3958)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3924)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4051)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3932)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4108)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3905)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3958)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3924)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3932)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3905)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6309)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java

阅读页活动进度条闪退

@LiangLuDev 谢谢您的分享!

如题问题希望能帮忙解答下

操作步骤:
点击下一章,拖动进度条,2-3章就会崩溃

日志如下:
java.lang.IndexOutOfBoundsException: Index: 16, Size: 15
at java.util.ArrayList.get(ArrayList.java:411)
at com.lianglu.weyue.widget.page.PageLoader.getCurPage(PageLoader.java:1074)
at com.lianglu.weyue.widget.page.PageLoader.skipToPage(PageLoader.java:282)
at com.lianglu.weyue.view.activity.impl.ReadActivity$4.onStopTrackingTouch(ReadActivity.java:311)
at android.widget.SeekBar.onStopTrackingTouch(SeekBar.java:121)
at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:772)
at android.view.View.dispatchTouchEvent(View.java:10039)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2321)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:417)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1808)
at android.app.Activity.dispatchTouchEvent(Activity.java:3198)
at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:68)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:379)
at android.view.View.dispatchPointerEvent(View.java:10261)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4500)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4365)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3905)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3958)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3924)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4051)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3932)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4108)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3905)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3958)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3924)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3932)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3905)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6309)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java

无法显示分类和登录

就是我clone了之后想看看项目结构,但是本地run后无法显示出分类书籍并提示无法连接上网络,扫码的体验版就是正常的,还请老哥答疑~~~

错误~

FATAL EXCEPTION: main
Process: com.lianglu.weyue, PID: 26258
io.reactivex.exceptions.OnErrorNotImplementedException: Can not perform this action after onSaveInstanceState
at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704)
at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701)
at io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:74)
at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:64)
at io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmit(ObservableFlatMap.java:262)
at io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.onNext(ObservableFlatMap.java:559)
at io.reactivex.observers.SerializedObserver.onNext(SerializedObserver.java:113)
at io.reactivex.internal.operators.observable.ObservableConcatMap$SourceObserver$InnerObserver.onNext(ObservableConcatMap.java:250)
at io.reactivex.subjects.PublishSubject$PublishDisposable.onNext(PublishSubject.java:265)
at io.reactivex.subjects.PublishSubject.onNext(PublishSubject.java:184)
at com.tbruyelle.rxpermissions2.RxPermissionsFragment.onRequestPermissionsResult(RxPermissionsFragment.java:64)
at com.tbruyelle.rxpermissions2.RxPermissionsFragment.onRequestPermissionsResult(RxPermissionsFragment.java:49)
at android.app.Activity.dispatchRequestPermissionsResultToFragment(Activity.java:6738)
at android.app.Activity.dispatchActivityResult(Activity.java:6610)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3774)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3821)
at android.app.ActivityThread.access$1400(ActivityThread.java:168)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1428)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:5659)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:822)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:712)
Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:2044)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:2067)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:680)
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:634)
at com.lianglu.weyue.view.activity.impl.MainActivity.switchFragment(MainActivity.java:238)
at com.lianglu.weyue.view.activity.impl.MainActivity.lambda$null$2$MainActivity(MainActivity.java:133)
at com.lianglu.weyue.view.activity.impl.MainActivity$$Lambda$3.accept(Unknown Source)

第一次安装APP,手机没有内置SD卡,当点击扫描书籍,确定开启读取SD卡权限,报错,程序退出

在线阅读版权到期了

{"ok":true,"chapter":{"title":"亲爱的小伙伴,非常歉意!","body":"亲爱的小伙伴,非常歉意。该书版权到期,不再提供在线阅读服务。我们会竭尽全力继续与版权方协商,感谢您一直以来的支持。\r\n\r\n安卓手机,推荐您:\r\n\r\n在应用商店搜索并安装“追.书.神.器.免.费.版”,30万本正版小说永久免费阅读!每天看书签到还送钱!\r\n\r\n苹果手机,推荐您:\r\n\r\n在苹果应用商店下载安装“饭.团.追.书”,正版小说永久免费阅读!每天看书签到还送钱。"}}

我clone了项目然后把项目导入android studio,编译没问题,运行的时候报了下面这个错误

尝试了一下网上的方法,问题没解决,请教一下大佬这个问题怎么破?)

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.lianglu.weyue, PID: 30142
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lianglu.weyue/com.lianglu.weyue.view.activity.impl.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable/ic_setting.xml from drawable resource ID #0x7f08009f
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2200)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249)
at android.app.ActivityThread.access$800(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5052)
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:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_setting.xml from drawable resource ID #0x7f08009f
at android.content.res.Resources.loadDrawable(Resources.java:2139)
at android.content.res.MiuiResources.loadDrawable(MiuiResources.java:394)
at android.content.res.Resources.loadDrawable(Resources.java:2062)
at android.content.res.Resources.getDrawable(Resources.java:710)
at com.lianglu.weyue.utils.BaseUtils.setIconDrawable(BaseUtils.java:30)
at com.lianglu.weyue.view.activity.impl.MainActivity.initMenu(MainActivity.java:119)

你好,我想在绘制完文字bitmap上加高亮

我想在绘制完文字bitmap上加高亮,我通过pageview.getBitmap()方法拿到 这个bitmap。但是我现在就是我加高亮之后每次之前加高亮的文字还是会显示,我想每次都能拿到一个最原始的光是文字的bitmap。这个我应该怎么办?,找了很久也没有找到解决的办法。

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.