pull/2/head
SYH 1 year ago
parent 3aaf739f0e
commit c71df4d60b

@ -1,25 +1,25 @@
//Copyright (c) 2017. 章钦豪. All rights reserved.
//定义当前类所在的包路径为"com.monke.monkeybook.common",表明它属于"monkeybook"项目的公共部分
package com.monke.monkeybook.common;
//定义一个名为 RxBusTag 的公共类包含一组常量字符串用于标识RxBus事件
public class RxBusTag {
//定义一个静态常量字符串,表示添加书籍的事件
public final static String HAD_ADD_BOOK = "rxbus_add_book";
//定义一个静态常量字符串,表示移除书籍的事件
public final static String HAD_REMOVE_BOOK = "rxbus_remove_book";
//定义一个静态常量字符串,表示更新书籍进度的事件
public final static String UPDATE_BOOK_PROGRESS = "rxbus_update_book_progress";
//定义一个静态常量字符串,表示暂停下载的监听事件
public final static String PAUSE_DOWNLOAD_LISTENER = "rxbus_pause_download_listener";
//定义一个静态常量字符串,表示下载进度监听事件
public final static String PROGRESS_DOWNLOAD_LISTENER = "rxbus_progress_download_listener";
//定义一个静态常量字符串,表示下载完成监听事件
public final static String FINISH_DOWNLOAD_LISTENER = "rxbus_finish_download_listener";
//定义一个静态常量字符串,表示暂停下载的事件
public final static String PAUSE_DOWNLOAD = "rxbus_pause_download";
//定义一个静态常量字符串,表示开始下载的事件
public final static String START_DOWNLOAD = "rxbus_start_download";
//定义一个静态常量字符串,表示取消下载的事件
public final static String CANCEL_DOWNLOAD = "rxbus_cancel_download";
//定义一个静态常量字符串,表示添加下载任务的事件
public final static String ADD_DOWNLOAD_TASK = "rxbus_add_download_task";
}

@ -1,44 +1,59 @@
//Copyright (c) 2017. 章钦豪. All rights reserved.
//定义当前接口所在的包 com.monke.monkeybook.common.api
//这个包路径表示该接口用于应用程序的公共API部分。
package com.monke.monkeybook.common.api;
import io.reactivex.Observable;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.Url;
//引入所需要的库
import io.reactivex.Observable; //导入Observable类这是RxJava中的一个核心类表示一个可以发射数据的流
import retrofit2.http.GET; //导入Retrofit中的GET注解用于表示一个HTTP GET请求
import retrofit2.http.Headers; //导入Retrofit中的Headers注解用于向HTTP请求添加自定义头部信息。
import retrofit2.http.Url; //导入Retrofit中的Url注解用于动态传递URL。
/**
* API ( )
*/
//定义一个接口IEasouApi该接口包含了一些方法用于与宜搜小说的API进行交互。
public interface IEasouApi {
@GET
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
//定义获取书籍信息的方法通过HTTP GET请求并添加自定义请求头
@GET //定义GET请求
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //请求头:表示支持的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //设置User-Agent模拟浏览器请求
"Accept-Charset:UTF-8", //请求头:指定字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //禁用缓存
//返回值为Observable<String>这是一个异步操作最后会返回一个String类型的数据流
//@Url表示该方法接收一个动态URL作为参数
Observable<String> getBookInfo(@Url String url);
@GET
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
//定义搜索书籍的方法类似getBookInfo
@GET //定义GET请求
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //请求头:表示支持的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //设置User-Agent模拟浏览器请求
"Accept-Charset:UTF-8", //请求头:指定字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //禁用缓存
//该方法接受动态URL返回书籍搜索结果
Observable<String> searchBook(@Url String url);
@GET
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
//定义获取书籍内容的方法,类似前两个方法
@GET //定义GET请求
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //请求头:表示支持的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //设置User-Agent模拟浏览器请求
"Accept-Charset:UTF-8", //请求头:指定字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //禁用缓存
//该方法获取书籍的内容通过URL传递获取内容的地址
Observable<String> getBookContent(@Url String url);
@GET
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
//定义获取章节列表的方法,同样类似上述方法
@GET //定义GET请求
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //请求头:表示支持的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //设置User-Agent模拟浏览器请求
"Accept-Charset:UTF-8", //请求头:指定字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //禁用缓存
//该方法获取书籍的章节列表通过URL传递获取章节的地址
Observable<String> getChapterList(@Url String url);
}

@ -1,61 +1,79 @@
//Copyright (c) 2017. 章钦豪. All rights reserved.
//定义包名,表明该接口属于 "monkeybook" 项目中的 API 部分
package com.monke.monkeybook.common.api;
//引入所需的库
import io.reactivex.Observable; //引入RxJava中的Observable用于定义响应式流
import retrofit2.http.Field; //引入Retrofit中的@Field 注解用于表示POST请求中的表单字段
import retrofit2.http.FormUrlEncoded; //引入Retrofit中的@FormUrlEncoded注解用于标记表单请求
import retrofit2.http.GET; //引入Retrofit中的@GET注解用于定义GET请求
import retrofit2.http.Headers; //引入Retrofit中的@Headers注解用于添加HTTP请求头
import retrofit2.http.Query; //引入Retrofit中的@Query注解用于在URL中添加查询参数
import retrofit2.http.Url; //引入Retrofit中的@Url注解用于动态传递URL
import io.reactivex.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.Query;
import retrofit2.http.Url;
//该API接口定义了与小说网站进行交互的方法用于获取书籍信息、搜索书籍、获取书籍内容等。
public interface IGxwztvApi {
@GET
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
//获取书籍信息的请求
@GET //定义GET请求
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //设置请求头:接受的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //设置User-Agent模拟浏览器请求
"Accept-Charset:UTF-8", //设置字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //禁用缓存
//该方法接收一个动态URL返回Observable<String>,表示异步的响应数据流
Observable<String> getBookInfo(@Url String url);
@GET("/search.htm")
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
//搜索书籍的请求
@GET("/search.htm") //定义固定的GET请求路径为"/search.htm"
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //设置请求头:接受的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //设置User-Agent模拟浏览器请求
"Accept-Charset:UTF-8", //设置字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //禁用缓存
//使用@Query注解传递查询参数表示关键词和页码
Observable<String> searchBook(@Query("keyword")String content, @Query("pn")int page);
@GET
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
//获取书籍内容的请求
@GET //定义GET请求
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //请求头:表示支持的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //设置User-Agent模拟浏览器请求
"Accept-Charset:UTF-8", //设置字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //禁用缓存
//该方法接收动态URL返回书籍的内容
Observable<String> getBookContent(@Url String url);
@GET
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
//获取章节列表的请求
@GET //定义GET请求
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //请求头:表示支持的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //设置User-Agent模拟浏览器请求
"Accept-Charset:UTF-8", //设置字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //禁用缓存
//该方法接收动态URL返回章节列表
Observable<String> getChapterList(@Url String url);
@GET
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
//获取书籍类型相关书籍的请求
@GET //定义GET请求
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //请求头:表示支持的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //设置User-Agent模拟浏览器请求
"Accept-Charset:UTF-8", //设置字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //禁用缓存
//该方法接收动态URL返回该类型的书籍
Observable<String> getKindBooks(@Url String url);
@GET
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
// 获取图书馆数据的请求
@GET //定义GET请求
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //请求头:表示支持的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //设置User-Agent模拟浏览器请求
"Accept-Charset:UTF-8", //设置字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //禁用缓存
//该方法接收动态URL返回图书馆相关的数据
Observable<String> getLibraryData(@Url String url);
}

@ -1,43 +1,54 @@
//Copyright (c) 2017. 章钦豪. All rights reserved.
//定义包路径,表示该接口属于"monkeybook"项目中的公共API部分
package com.monke.monkeybook.common.api;
//引入所需的库
import io.reactivex.Observable; //引入RxJava中的Observable类表示异步流
import retrofit2.http.GET; //引入Retrofit中的@GET注解定义GET请求
import retrofit2.http.Headers; //引入Retrofit中的 @Headers 注解,用于添加自定义请求头
import retrofit2.http.Query; //引入Retrofit中的@Query注解用于在URL中添加查询参数
import retrofit2.http.Url; //引入Retrofit中的@Url注解表示动态传递URL
import io.reactivex.Observable;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.Query;
import retrofit2.http.Url;
//该API接口定义了与零点看书小说网站进行交互的方法用于获取书籍信息、搜索书籍、获取书籍内容等。
public interface ILingdiankanshuApi {
@GET
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
//获取书籍信息的请求
@GET //定义GET请求
//设置自定义的HTTP请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //请求头:表示支持的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //模拟浏览器的User-Agent
"Accept-Charset:UTF-8", //请求头:指定字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //请求头:禁用缓存
//该方法接受一个动态URL返回一个Observable<String>类型的响应流,表示书籍信息
Observable<String> getBookInfo(@Url String url);
@GET("/cse/search")
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
//搜索书籍的请求
@GET("/cse/search") //定义GET请求的URL路径"/cse/search"
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //请求头:表示支持的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //模拟浏览器的User-Agent
"Accept-Charset:UTF-8", //请求头:指定字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //请求头:禁用缓存
//该方法接受三个查询参数:书籍关键词`q`,页码`p`,以及时间`s`,返回书籍搜索结果
Observable<String> searchBook(@Query("q") String content, @Query("p") int page, @Query("s") String time);
@GET
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
//获取书籍内容的请求
@GET //定义GET请求
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //请求头:表示支持的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //模拟浏览器的User-Agent
"Accept-Charset:UTF-8", //请求头:指定字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //请求头:禁用缓存
//该方法接受一个动态URL返回书籍内容
Observable<String> getBookContent(@Url String url);
@GET
@Headers({"Accept:text/html,application/xhtml+xml,application/xml",
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Accept-Charset:UTF-8",
"Connection:close",
"Cache-Control:no-cache"})
@GET //定义GET请求
//设置请求头
@Headers({"Accept:text/html,application/xhtml+xml,application/xml", //请求头:表示支持的响应类型
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", //模拟浏览器的User-Agent
"Accept-Charset:UTF-8", //请求头:指定字符集为 UTF-8
"Connection:close", //请求头:请求完成后关闭连接
"Cache-Control:no-cache"}) //请求头:禁用缓存
//该方法接受一个动态URL返回书籍的章节列表
Observable<String> getChapterList(@Url String url);
}

Loading…
Cancel
Save