使用简单的几行代码,打造你自己的小说开源软件,多站点解析,并发搜索下载。
QQ群交流:29527219
Step 1. Add the JitPack repository to your build file
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
implementation 'com.github.Zzzia:EasyBook:2.31'
}
将release内的压缩包下载下来,解压后依次添加依赖,一共有7个jar。
使用说明:(具体可参照项目内简单示例或我写的小说神器)
搜索:(Android会自动切换到主线程)
EasyBook.search("天行")
.subscribe(new Subscriber<List<Book>>() {
@Override
public void onFinish(List<Book> books) {
//搜索结果,返回book集合,提示用户选择
//recyclerviewAdapter.load(books);
}
@Override
public void onError(Exception e) {
//搜索时遇到错误
}
@Override
public void onMessage(String s) {
//搜索的提示,如"正在搜索x趣阁"
}
@Override
public void onProgress(int i) {
//搜索进度,0 ~ 100
}});
加载目录:
EasyBook.getCatalog(book)
.subscribe(new Subscriber<List<Catalog>>() {
@Override
public void onFinish(List<Catalog> catalogs) {
//加载结果,返回该书籍所有目录
}
...
});
加载某一章节内容:
EasyBook.getContent(book,catalog)
.subscribe(new Subscriber<List<String>>() {
@Override
public void onFinish(List<String> strings) {
//返回该章节所有内容,按行保存在集合内,需要自行调整格式
}
...
});
下载书籍:
EasyBook.download(book)
.setSavePath("/sdcard/book")//设置保存的路径
.setThreadCount(150)//设置下载的线程数
.setType(Type.EPUB)//设置下载格式,如epub或txt
.subscribe(new Subscriber<File>() {
@Override
public void onFinish(File file) {
//下载完成后的文件
}
...
});
销毁线程(解决内存泄漏):
Disposable disposable;
void onCreate(){
disposable = EasyBook.search("天行").subscribe(...);
}
void onDestroy(){
disposable.dispose();
}
添加自己的站点解析:
//添加一个自己解析的站点类,叫Zhuishushenqi,需要继承Site
SiteCollection.getInstance().addSite(Zhuishushenqi());
- okHttp
- epublib
- jsoup