Android集成FBReader(精简版)指南
来源:互联网 发布:守望先锋安娜技能数据 编辑:程序博客网 时间:2024/05/18 10:23
本文的主要内容
- 概述
- 精简版FBReader下载地址
- 集成教程
- 问题及解决方法
- 参考文档
概述
之前集成FBReader参考的是这篇文章:
- 如何把FBReader集成到自己的项目中 - 简书
http://www.jianshu.com/p/febc1f032ff2
但是集成完成后出现了一些问题,比如内存泄露严重、加上项目中使用的开源框架也蛮多的,集成后又出现了著名的65K方法数限制问题,解决了很久很头疼没解决,还有其它一些问题……不知道大家有没有遇到这些问题,可能是我操作的问题吧。
言归正传,本文将提供一个精简版的FBreader集成版本,集成过程只需要4步,集成后也没有遇到上面的问题;其中集成中遇到的问题,我会在下面一一给出解决方法。
精简版FBReader下载地址
PS:该版本是我在FBReader交流群(321171877)里发现的,感谢大神。
http://pan.baidu.com/s/1hsL2Lhy
集成教程
PS:建议大家不要再AS里复制,巨卡;集成前要做好备份工作。
言归正传,我们先看下目录结构,要复制的文件都在这里,其中jni文件夹可以不用复制。
1.将除jni和AndroidManifest.xml的其他文件夹直接复制到相应文件夹下。
2.复制的时候会提示是否替换下面的文件,选否,然后把里面的代码复制到对应的xml中即可。
3.打开AndroidManifest.xml,将application标签内的所有代码和下图中的权限代码复制到你的AndroidManifest.xml中。
4.自定义的Application一定要继承FBReader项目中的FBReaderApplication类。
至此,集成已经完成。
问题及解决方法
1.找不到org.geometerplus.zlibrary.ui.android.R
解决方法:替换为自己的R文件即可,大家可使用Ctrl+Shift+R一键替换
2.程序包org.apache.http不存在
出现该问题的原因是在新版本的SDK中Google删除了这个类,解决方法:
打开app的build.gradle中 ,在buildToolsVersion下边,添加如下代码,即可解决。
useLibrary 'org.apache.http.legacy'
3.Error:(303, 27) 错误: 找不到符号 符号: 方法 sin(float) 位置: 类 FloatMath
原因同上,解决方法:
将FloatMath替换为Math即可,要注意的地方是,有的地方需要强转为Float类型。
4.Error:(31, 29) 错误: 找不到符号 符号: 方法 setLatestEventInfo(MainActivity,String,String,<空值>) 位置
原因同上,我直接贴下修改代码吧,直接替换方法即可。
private Notification createDownloadFinishNotification(File file, String title, boolean success) { final ZLResource resource = getResource(); final String tickerText = success ? resource.getResource("downloadCompleteTicker").getValue() : resource.getResource("downloadFailedTicker").getValue(); final String contentText = success ? resource.getResource("downloadComplete").getValue() : resource.getResource("downloadFailed").getValue(); NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);//获取系统服务 final Intent intent = success ? getFBReaderIntent(file) : new Intent(); final PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0); final Notification notification = new Notification.Builder(this) .setTicker(tickerText)//在状态栏显示的标题 .setContentText(contentText) .setSmallIcon(android.R.drawable.stat_sys_download_done)//设置状态栏显示时的图标 .setContentIntent(contentIntent) .build();//创建Notification notification.flags |= Notification.FLAG_AUTO_CANCEL; notificationManager.notify(1, notification);//管理器通知 return notification; }
5.启动后出现两个app
解决方法:打开清单文件把这里的intent-filter删除即可。
参考文档
如何把FBReader集成到自己的项目中 - 简书
http://www.jianshu.com/p/febc1f032ff2
程序包org.apache.http不存在,解决方式 - 丶鹏 - CSDN博客
http://blog.csdn.net/qq_23089525/article/details/52038529
AS 报错 Error:(303, 27) 错误: 找不到符号 符号: 方法 sin(float) 位置: 类 FloatMath - rongwenbin的专栏 - CSDN博客
http://blog.csdn.net/rongwenbin/article/details/51240884
Error:(31, 29) 错误: 找不到符号 符号: 方法
setLatestEventInfo(MainActivity,String,String,<空值>) - linsuren的博客 - CSDN博客
http://blog.csdn.net/linsuren/article/details/52440792?locationNum=1
- Android集成FBReader(精简版)指南
- android集成新浪官网SDK精简版
- cxf集成spring,精简版
- unity android 集成指南
- Android 快速集成指南
- Android SDK 集成指南
- RedPacket集成指南(Android)
- FBreader
- Android Binder IPC分析(精简版)
- android 土豪体验器(精简版 )
- Android开发Eclipse快捷键(精简版)
- Android友盟分享集成微信QQ微博分享demo精简版
- Android ADT Eclipse编译FBReader详解
- FBReader集成后,打开书出现空白页面
- 如何把FBReader集成到自己的项目中
- Android中第三方SDK集成之高德地图集成指南(入门篇)
- Android项目如何集成ZXing二维码扫描功能(精简、竖屏、解决图像拉伸、工程库形式)
- Linux精简指南
- java 数据库批量插入
- [python3.6 flask web学习]Flask模板引擎jinjia2
- IPSec VPN基本原理(图解)
- bzoj3675 [APIO2014] 序列分割(斜率优化)
- 利用caffe训练好的模型测试自己的手写字体图片
- Android集成FBReader(精简版)指南
- LogisticRegression Digital
- Git版本控制系统之基本使用
- Android onTouchEvent 随手指移动时的抖动
- php 关键字static
- Hdu3473 Minimum Sum(划分树)
- LeetCode 80 Remove Duplicates from Sorted Array II (Python详解及实现)
- W7下QT5.8+opencv2.4.9+ffmpeg
- 洛谷P3374 [模板]树状数组1