Skip to content

Commit 48a4285

Browse files
author
15dd
committed
v2.2.2
1 parent 290e88e commit 48a4285

17 files changed

+87
-74
lines changed

.idea/compiler.xml

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/gradle.xml

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

+2-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
## 软件bug请提issues,其他问题请发discussions
2-
<hr>
1+
# 重要事项
2+
- <h3>软件bug请提issues,其他问题请发discussions</h3>
3+
- <h3>本人职三开学了,项目维护和更新会非常慢</h3>
4+
- <h3>本软件目前以维护为主,我接下来计划重写整个项目,只是不知道什么时候能搞好就是了
35

4-
### 本人职三开学了,项目维护和更新会非常慢
5-
### 最新通知(2023/10/27):由于轻小说文库官方网站更新的原因,导致目前版本的爬虫无效了。虽然可以重新写,但是我没啥空闲时间重写了(现在我连周日都要上一整天课了,一周上六天课)。我暂且定在寒假的时候修复,同时也会重构一部分代码。
6+
# 介绍
67
<div align="center">
78
<div align="center">
89
<img src="./README/logo.png" alt="Logo" width="100" height="100">
@@ -23,7 +24,7 @@
2324
- 支持阅读进度保存
2425
- 深色模式适配
2526
## 注意
26-
- 本软件是轻小说文库的第三方软件,本软件数据全部来自轻小说文库(www.wenku8.net)
27+
- 本软件是轻小说文库的第三方软件,本软件数据全部来自轻小说文库(www.wenku8.cc)
2728
- 支持的安卓版本:Android 10+ (API 29+)
2829

2930
<h2>觉得好用别忘了star哦,你的star是对我最大的激励</h2>
@@ -76,7 +77,7 @@
7677

7778
## 常见问题
7879
- Q:为什么软件一直崩溃?<br>
79-
A:首先先看一下网络是否正常,比如没连接上网络,开了vpn之类的。或者打开浏览器访问 https://www.wenku8.net/index.php 。如果能正常访问该网站,而且网络环境没问题的情况下还一直崩溃的话,请提一个issue,并附上报错信息、使用的版本号,以及软件是在什么情况下崩溃的说明。
80+
A:首先先看一下网络是否正常,比如没连接上网络,开了vpn之类的。或者打开浏览器访问 https://www.wenku8.cc/index.php 。如果能正常访问该网站,而且网络环境没问题的情况下还一直崩溃的话,请提一个issue,并附上报错信息、使用的版本号,以及软件是在什么情况下崩溃的说明。
8081
- Q:图片加载失败怎么办?<br>
8182
A:长按图片查看原图
8283

app/build.gradle

+14-10
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,20 @@ plugins {
55

66
android {
77
namespace 'com.cyh128.wenku8reader'
8-
compileSdk 33
9-
8+
compileSdk 34
109
packagingOptions {
11-
exclude 'META-INF/DEPENDENCIES'
10+
resources {
11+
excludes += ['META-INF/DEPENDENCIES']
12+
}
1213
}
1314

15+
1416
defaultConfig {
1517
applicationId "com.cyh128.wenku8reader"
1618
minSdk 29
1719
targetSdk 33
18-
versionCode 230829
19-
versionName "2.2.1"
20+
versionCode 231103
21+
versionName "2.2.2"
2022
}
2123

2224
buildTypes {
@@ -27,23 +29,23 @@ android {
2729
}
2830

2931
compileOptions {
30-
sourceCompatibility JavaVersion.VERSION_19
31-
targetCompatibility JavaVersion.VERSION_19
32+
sourceCompatibility JavaVersion.VERSION_17
33+
targetCompatibility JavaVersion.VERSION_17
3234
}
3335
}
3436

3537
dependencies {
3638

3739
implementation 'androidx.appcompat:appcompat:1.6.1'
38-
implementation 'com.google.android.material:material:1.9.0'
40+
implementation 'com.google.android.material:material:1.10.0'
3941
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
40-
implementation 'androidx.recyclerview:recyclerview:1.3.1'
42+
implementation 'androidx.recyclerview:recyclerview:1.3.2'
4143
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
4244
implementation 'org.jsoup:jsoup:1.16.1'
4345
implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.11'
4446
implementation 'com.github.chrisbanes:PhotoView:2.3.0'
4547
implementation 'com.github.bumptech.glide:glide:4.15.1'
46-
implementation 'androidx.sqlite:sqlite-ktx:2.3.1'
48+
implementation 'androidx.sqlite:sqlite-ktx:2.4.0'
4749
implementation 'com.alibaba:fastjson:2.0.37'
4850
implementation 'com.github.youlookwhat:ByRecyclerView:1.3.6'
4951
implementation 'com.github.MZCretin:ExpandableTextView:v1.6.1-x'
@@ -53,6 +55,8 @@ dependencies {
5355
implementation 'com.github.huburt-Hu:NewbieGuide:v2.4.0'
5456
implementation 'com.github.RickyHal:EColorPicker:1.0.4'
5557

58+
testImplementation 'junit:junit:4.13.2'
59+
5660
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12'
5761

5862
}

app/src/main/java/com/cyh128/wenku8reader/activity/ContentsActivity.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -220,9 +220,9 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
220220
contentsList = Wenku8Spider.getContents(bookUrl);//小说目录
221221

222222
//获取这本书的aid和bid====================================================================================================
223-
//aid获取 https://www.wenku8.net/book/xxxx.htm
223+
//aid获取 https://www.wenku8.cc/book/xxxx.htm
224224
this.aid = Integer.parseInt(bookUrl.substring(bookUrl.indexOf("book/") + 5, bookUrl.indexOf(".htm")));
225-
//bid获取 https://www.wenku8.net/book/xxxx.htm 如果url没有bid,只有aid,那么就根据它的aid在书架中找到它对应的bid。删除必须用bid
225+
//bid获取 https://www.wenku8.cc/book/xxxx.htm 如果url没有bid,只有aid,那么就根据它的aid在书架中找到它对应的bid。删除必须用bid
226226
getBid();
227227
//end===================================================================================================================
228228

@@ -269,7 +269,7 @@ public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int
269269
}
270270

271271
private void getBid() throws IOException {
272-
//https://www.wenku8.net/book/xxxx.htm 如果url没有bid,只有aid,那么就根据它的aid在书架中找到它对应的bid。因为删除必须用bid
272+
//https://www.wenku8.cc/book/xxxx.htm 如果url没有bid,只有aid,那么就根据它的aid在书架中找到它对应的bid。因为删除必须用bid
273273
BookCaseFragment.bookcaseList = Wenku8Spider.getBookcase();
274274
for (BookcaseBean bcc : BookCaseFragment.bookcaseList) {
275275
if (Integer.parseInt(bcc.aid) == this.aid) {

app/src/main/java/com/cyh128/wenku8reader/activity/LoginInputActivity.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
8989
new MaterialAlertDialogBuilder(LoginInputActivity.this)
9090
.setCancelable(false)//禁止点击其他区域
9191
.setTitle("网络错误")
92-
.setMessage("可能是以下原因造成的:\n\n1 -> 请检查是否正在连接VPN或代理服务器\n2 -> 未连接上网络\n3 -> 服务器(wenku8.net)出错,(此网站有时会登不上去)\n\n请稍后再试")
92+
.setMessage("可能是以下原因造成的:\n\n1 -> 请检查是否正在连接VPN或代理服务器\n2 -> 未连接上网络\n3 -> 服务器(wenku8.cc)出错,(此网站有时会登不上去)\n\n请稍后再试")
9393
.setPositiveButton("明白", null)
9494
.setIcon(R.drawable.warning)
9595
.show();
@@ -115,7 +115,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
115115
.setCancelable(false)
116116
.setNegativeButton("取消", null)
117117
.setPositiveButton("前往注册", (dialog, which) -> {
118-
Uri uri = Uri.parse("https://www.wenku8.net/register.php"); //设置跳转的网站
118+
Uri uri = Uri.parse("https://www.wenku8.cc/register.php"); //设置跳转的网站
119119
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
120120
startActivity(intent);
121121
})

app/src/main/java/com/cyh128/wenku8reader/activity/LoginingActivity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public void run() {
7777
new MaterialAlertDialogBuilder(LoginingActivity.this)
7878
.setCancelable(false)//禁止点击其他区域
7979
.setTitle("网络错误")
80-
.setMessage("可能是以下原因造成的:\n\n1 -> 请检查是否正在连接VPN或代理服务器\n2 -> 未连接上网络\n3 -> 服务器(wenku8.net)出错,(此网站有时会登不上去)\n\n请稍后再试")
80+
.setMessage("可能是以下原因造成的:\n\n1 -> 请检查是否正在连接VPN或代理服务器\n2 -> 未连接上网络\n3 -> 服务器(wenku8.cc)出错,(此网站有时会登不上去)\n\n请稍后再试")
8181
.setPositiveButton("重启软件", (dialogInterface, i) -> {
8282
final Intent intent = getPackageManager().getLaunchIntentForPackage(getPackageName());
8383
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

app/src/main/java/com/cyh128/wenku8reader/adapter/BookCaseAdapter.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
8484
.show();
8585
return;
8686
}
87-
String url = String.format("https://www.wenku8.net/book/%s.htm",novel.bookUrl.substring(novel.bookUrl.indexOf("aid=") + 4, novel.bookUrl.indexOf("&")));
87+
String url = String.format("https://www.wenku8.cc/book/%s.htm",novel.bookUrl.substring(novel.bookUrl.indexOf("aid=") + 4, novel.bookUrl.indexOf("&")));
8888
Intent toContents = new Intent(context, ContentsActivity.class);
8989
toContents.putExtra("bookUrl", url);
9090
context.startActivity(toContents);
@@ -111,7 +111,7 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
111111
.show();
112112
return;
113113
}
114-
String url = String.format("https://www.wenku8.net/book/%s.htm",novel.bookUrl.substring(novel.bookUrl.indexOf("aid=") + 4, novel.bookUrl.indexOf("&")));
114+
String url = String.format("https://www.wenku8.cc/book/%s.htm",novel.bookUrl.substring(novel.bookUrl.indexOf("aid=") + 4, novel.bookUrl.indexOf("&")));
115115
Intent toContents = new Intent(context, ContentsActivity.class);
116116
toContents.putExtra("bookUrl", url);
117117
context.startActivity(toContents);

app/src/main/java/com/cyh128/wenku8reader/adapter/BookListAdapter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
6767
itemViewHolder.number.setText(String.valueOf(position + 1));
6868

6969
itemViewHolder.itemView.setOnClickListener(v -> {//设置项目点击监听
70-
Log.d("debug", "url:" + novel.bookUrl);
70+
Log.d("debug", "BookListAdapter url:" + novel.bookUrl);
7171

7272
Intent toContents = new Intent(context, ContentsActivity.class);
7373
toContents.putExtra("bookUrl", novel.bookUrl);

app/src/main/java/com/cyh128/wenku8reader/fragment/TagSearchFragment.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ private void setPageData(boolean isFirstPage, List<BookListBean> data) {
123123

124124
private List<BookListBean> getData() {
125125
try {
126-
String url = String.format("https://www.wenku8.net/modules/article/tags.php?t=%s&page=%d&v=%s", URLEncoder.encode(tag, "gbk"), ++pageindex, sort);
126+
String url = String.format("https://www.wenku8.cc/modules/article/tags.php?t=%s&page=%d&v=%s", URLEncoder.encode(tag, "gbk"), ++pageindex, sort);
127127
return Wenku8Spider.parseNovelList(LoginWenku8.getPageHtml(url));
128128
} catch (Exception e) {
129129
pageindex--;

app/src/main/java/com/cyh128/wenku8reader/newReader/PageView.kt

+7-7
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,18 @@ class PageView : ViewFlipper, IPageView {
7070
return true
7171
}
7272

73-
override fun onShowPress(e: MotionEvent) {
74-
}
75-
7673
override fun onScroll(
77-
e1: MotionEvent,
74+
e1: MotionEvent?,
7875
e2: MotionEvent,
7976
distanceX: Float,
8077
distanceY: Float
8178
): Boolean {
8279
return false
8380
}
8481

82+
override fun onShowPress(e: MotionEvent) {
83+
}
84+
8585
override fun onLongPress(e: MotionEvent) {
8686
if (pageNum - maxTextPageNum > 0 && imgUrlList.size != 0) { //判断当前页面是否有图片,图片存放列表是否不为空
8787
val intent = Intent(context, PhotoViewActivity::class.java)
@@ -91,13 +91,13 @@ class PageView : ViewFlipper, IPageView {
9191
}
9292

9393
override fun onFling(
94-
e1: MotionEvent,
94+
e1: MotionEvent?,
9595
e2: MotionEvent,
9696
velocityX: Float,
9797
velocityY: Float
9898
): Boolean {
9999
if (direction == Orientation.horizontal) {
100-
if (e1.x - e2.x > FLIP_DISTANCE) {
100+
if (e1!!.x - e2.x > FLIP_DISTANCE) {
101101
Log.i("debug", "手指向左滑...")
102102
pageToNext(Orientation.horizontal)
103103
return true
@@ -108,7 +108,7 @@ class PageView : ViewFlipper, IPageView {
108108
return true
109109
}
110110
} else if (direction == Orientation.vertical) {
111-
if (e1.y - e2.y > FLIP_DISTANCE) {
111+
if (e1!!.y - e2.y > FLIP_DISTANCE) {
112112
Log.i("debug", "手指向上滑...")
113113
pageToNext(Orientation.vertical)
114114
return true

app/src/main/java/com/cyh128/wenku8reader/newReader/ReaderActivity.java

+11-8
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import android.os.Bundle;
1111
import android.os.CountDownTimer;
1212
import android.text.Html;
13+
import android.util.Log;
1314
import android.util.TypedValue;
1415
import android.view.LayoutInflater;
1516
import android.view.View;
@@ -104,26 +105,27 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
104105
toolbar.setBackgroundResource(showBarColor);
105106
bottombar.setBackgroundResource(showBarColor);
106107

107-
UiModeManager uiModeManager = (UiModeManager) getSystemService(Context.UI_MODE_SERVICE);
108+
//getSystemService导致的内存泄漏问题 https://blog.csdn.net/xiabing082/article/details/53993298
109+
UiModeManager uiModeManager = (UiModeManager) getApplicationContext().getSystemService(Context.UI_MODE_SERVICE);
108110
if (uiModeManager.getNightMode() == UiModeManager.MODE_NIGHT_YES) {
109111
isNigntMode = true;
110112
} else {
111113
isNigntMode = false;
112114
}
113115

116+
setBackgroundAndTextColor();//初始化背景颜色的字符串,以便hideBar()调用
117+
114118
bottomSheetDialog = new BottomSheetDialog(this);
115119
bottomSheetView = LayoutInflater.from(this).inflate(R.layout.view_bottom_sheet_act_new_reader, null, false);
116120
bottomSheetDialog.setContentView(bottomSheetView);
117121
bottomSheetDialog.setDismissWithAnimation(true);
118122
//保存设置
119123
bottomSheetDialog.setOnDismissListener(dialog -> {
120-
hideBar();
121-
122-
GlobalConfig.newReaderFontSize = fontSize.getValue() + 20f;
123-
GlobalConfig.newReaderLineSpacing = lineSpacing.getValue();
124-
GlobalConfig.readerBottomTextSize = bottomTextSize.getValue();
125-
126-
DatabaseHelper.SaveReaderSetting();
124+
hideBar();
125+
GlobalConfig.newReaderFontSize = fontSize.getValue() + 20f;
126+
GlobalConfig.newReaderLineSpacing = lineSpacing.getValue();
127+
GlobalConfig.readerBottomTextSize = bottomTextSize.getValue();
128+
DatabaseHelper.SaveReaderSetting();
127129
});
128130

129131

@@ -381,6 +383,7 @@ public void showBar() {
381383
toolbar.animate().translationY(0).setListener(new Animator.AnimatorListener() {
382384
@Override
383385
public void onAnimationStart(@NonNull Animator animation) {
386+
Log.d("tag","readeractivity hide:"+hideBarColor);
384387
ImmersionBar.with(ReaderActivity.this)
385388
.statusBarColor(showBarColor)
386389
.navigationBarColor(showBarColor)

app/src/main/java/com/cyh128/wenku8reader/util/LoginWenku8.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public static boolean login(String username, String password) throws IOException
4545
builder.add(key, paramsMap.get(key));
4646
}
4747
RequestBody formBody = builder.build();
48-
Request request = new Request.Builder().url("https://www.wenku8.net/login.php").post(formBody).build();
48+
Request request = new Request.Builder().url("https://www.wenku8.cc/login.php").post(formBody).build();
4949

5050
Response response = okHttpClient.newCall(request).execute();
5151
String html = new String(response.body().bytes(), "gbk");

0 commit comments

Comments
 (0)