免费小说 app 雨之后
本帖最后由 小伤口 于 2022-2-28 09:41 编辑雨之后
前言
为了对所学知识进行巩固,自己开发的免费小说---雨之后
源是笔趣阁,开发语言是 java ,自己也刚刚接触到 软件开发,安卓现在迭代的太快了。源代码 和软件的下载
链接在文末,顺便发点鱼币,把我的家当全部拿出来{:10_254:} (存了好久{:10_278:} )
软件详解
由于自己是直接用手机截的图所以画质可能看起来不怎么样
主界面
软件由搜索框来搜索想要的小说,遇到喜欢的书籍可以添加到书架里面
关于是指软件的一些说明,不用过多关注
阅读界面
这个其实我做的不是很好{:9_234:} ,界面不是很美观{:10_243:}
长按手机屏幕就会出现,导航界面
只要是添加到书架的书籍,大家观看的时候,软件会自动保存你的阅读记录,
下次观看的时候,不用担心自己看到哪里了
书架界面
当你添加书籍到书架时,书架界面就会显示小说的封面和名称,您之后也可以直接通过书架界面
进行小说的阅读,不过有一个 bug:
如果是从书架界面进行小说阅读,按后退键,退出阅读页面,需要再点击一下下方的书架按钮,软件才会更新您
的阅读记录,或者您可以直接退出软件,软件也可以保存阅读记录,因为当你退出阅读页面的时候,软件虽然已经保存到
你的消息记录,但是书架的 fragment 界面并不会立刻刷新,如果此时,你再次进入刚才阅读的小说,阅读记录将会被覆盖
在书架界面长按就会出现删除按钮,如果您想删除书架的小说,可以点击此按钮
小说简介
小说目录
另外一些界面图
工程介绍
工程结构
首先主界面用三个 Fragment 分别来存放 搜索 ,书架,关于
通过 java 的 Jsoup 爬取笔趣阁的小说和小说信息,再将其存放到集合中 发送到各个 Activity 中
书架是通过将用户要收藏的小说信息,保存到文件中,在文件中读取,这里放出用 java 爬取笔趣阁
小说的代码吧
/**
* 爬取小说简介,封面等
*/
class SearchFormation{
//存放用户点击的小说信息
private Map<String,String> novelFormation=new HashMap<>();
//小说目录
private ArrayList<Map<String,String>> novelMulu=new ArrayList<>();
//getter
public Map<String, String> getNovelFormation() {
return novelFormation;
}
//小说目录
public ArrayList<Map<String,String>> MuluNouvel(String url){
Documentdoc = null;
try {
doc = Jsoup.connect(url)
.data("query", "Java")
.userAgent("Mozilla")
.cookie("auth", "token")
.timeout(5000)
.post();
} catch (IOException e) {
e.printStackTrace();
}
if (doc!=null){
Elements links2=doc.select("dd");
//小说目录
for (int i=0;i<links2.size();i++) {
//如果dd标签的内容不为空才提取添加
if (!"".equals(links2.get(i).select("a").text())) {
Map<String, String> novelZhangJie = new HashMap<>();
novelZhangJie.put("muLuName", links2.get(i).select("a").text());
novelZhangJie.put("url", links2.get(i).select("a").attr("href"));
novelMulu.add(novelZhangJie);
}
}
}else {
Log.d("error","出现错误");
}
return novelMulu;
}
//爬取用户点击的小说信息
public Map<String, String>searchNovel(String url){
try {
Documentdoc = Jsoup.connect(url)
.data("query", "Java")
.userAgent("Mozilla")
.cookie("auth", "token")
.timeout(5000)
.post();
Elements links=doc.select("img");
//System.out.println(novelMulu);
//小说封面
String image=links.get(1).attr("src");
//System.out.println(image);
novelFormation.put("image",image);
//小说名称
String name=links.get(1).attr("title");
//System.out.println(name);
novelFormation.put("name",name);
//小说作者
String author=doc.select("small").text().split("/");
//System.out.println(author);
novelFormation.put("author",author);
//小说简介
String introduction=doc.select("div").text();
//System.out.println(introduction);
novelFormation.put("introduction",introduction);
//更新状况
String update=doc.select("div").text();
//System.out.println(update);
novelFormation.put("update",update);
//是否完结
String isEnd=doc.select("span").get(1).text();
//System.out.println(isEnd);
novelFormation.put("isEnd",isEnd);
//人气
String person=doc.select("span").get(0).text();
//System.out.println(person);
novelFormation.put("person",person);
} catch (IOException e) {
e.printStackTrace();
}
return novelFormation;
}
//爬取小说内容
public List<String> contentNovel(ArrayList<Map<String,String>> novelMulu,int zhangjie,String url) throws NovelException {
String contentUrl=url+novelMulu.get(zhangjie).get("url");
List<String> novelContent=new ArrayList<>();
Documentdoc = null;
try {
doc = Jsoup.connect(contentUrl)
.data("query", "Java")
.userAgent("Mozilla")
.cookie("auth", "token")
.post();
} catch (IOException e) {
e.printStackTrace();
}
if (doc!=null){
Elements links2=doc.select("div");
Elements links3=doc.select("h1");
List<TextNode> list=links2.textNodes();
novelContent.add(links3.text());
for (int i=2;i<list.size();i++){
novelContent.add(list.get(i).text());
}
}else {
throw new NovelException("抱歉小说加载失败请重新尝试");
}
return novelContent;
}
}
源代码
整个工程我已经放在了 GitHub 上,有需要可以自行去下载
传送门
apk文件
点我下载
手机下载此文件即可使用
最后求一个小小的评分
{:9_221:} {:9_221:} {:9_221:}
也欢迎大家关注我的微信公众号小伤口
谢谢大家的观看,我们下个帖子再会~{:9_227:}
视频演示地址 本帖最后由 小伤口 于 2022-3-1 13:05 编辑
手机浏览器扫描上方二维码即可下载
或者点击下方链接
最新软件下载地址 文章中软件已经失效,请扫描评论区二维码重新下载
2022/3/17 2022年/3/26
更新说明
1. 修复了,从书架界面阅读小说,退出后书架界面无法及时更新阅读记录的问题
2. 美化了书架界面没有添加书籍时的界面 顶 本帖最后由 小伤口 于 2022-3-1 21:37 编辑
@hrp @Monsieur. @高山 @python爱好者. @Daniel_Zhang @糖甜弯了嘴
大佬们能捧一下场吗,实在是没人看,呜呜呜{:10_266:} @柿子饼同学 @昨非
好兄弟,帮弟弟一回 我来薅你的家当{:5_102:} 我再薅{:5_97:} 大佬洪福齐天{:5_106:} 总算吃干抹净了,谢谢谢谢谢谢谢谢{:5_100:} isdkz 发表于 2022-2-28 20:44
我再薅
薅!!要多薅,有评论就心满意足了,我想这次评论破百
嘿嘿{:9_219:} isdkz 发表于 2022-2-28 20:47
总算吃干抹净了,谢谢谢谢谢谢谢谢
俺还要谢谢你呢,终于有人肯回我了,我还想这次评论破败呢{:9_227:} isdkz 发表于 2022-2-28 20:47
总算吃干抹净了,谢谢谢谢谢谢谢谢
我大号,又被屏蔽了,评论发不出去,我还要谢谢你,
终于有人肯理我了,我还想这次评论破百{:9_236:} isdkz 发表于 2022-2-28 20:47
总算吃干抹净了,谢谢谢谢谢谢谢谢
哈哈我还要谢谢你呢,感谢你的支持,我的评论一直被吞,害 糖甜弯了嘴 发表于 2022-2-28 20:33
@柿子饼同学 @昨非
好兄弟,帮弟弟一回
虽然我看不懂 , 但我大受震撼{:10_323:} 糖甜弯了嘴 发表于 2022-2-28 20:33
@柿子饼同学 @昨非
好兄弟,帮弟弟一回
你这可以上首页了吧 小说也是楼主写的吗{:5_109:} 沙发 震惊 柿子饼同学 发表于 2022-2-28 21:13
你这可以上首页了吧
哈哈谢谢支持{:9_240:},你的C++学的怎么样了呀 {:5_95:} {:5_95:}