MCPcopy Index your code
hub / github.com/MewX/light-novel-library_Wenku8_Android

github.com/MewX/light-novel-library_Wenku8_Android @v1.29

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.29 ↗ · + Follow
3,027 symbols 8,603 edges 218 files 686 documented · 23% updated 3mo agov1.29 · 2026-03-07★ 2,83444 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

FOSSA Status Build Status Coverage Status :point_left: HISTORICAL ISSUE AND THAT'S WHAT WE ALL KNOW :sob:

play-store-badge

如果您想打赏我用爱发电的代码,可以点击这个链接帮我充电 ❤️: "充电按钮"

文档目录


写在前面

Material Design风格的轻小说文库App完全开源了!想实践Material Design的可以参考本项目的源代码,不清楚的、以及各种相关话题都可以发issue交流~

这个项目是我第一次写安卓App,首先看了一本入门书籍,是chinapub写书评赠送的《第一行代码 Android》,然后便开始着手写这个app了。从2014年10月份开始动手写,都是些零零散散的时间,写到12月底也就是0.5.2.0版本,那时基本上是啥都不会,写的代码也是烂的不行。后来内测用户群里面有个设计师提出来设计Material Design(后面简称MD)风格的app,于是就打算重新开发。也是拖啊拖,到7月底才完成新的app,如果满打满算的话,应该是历时一整个月,手写代码量2W行以上。

本app完全是出于兴趣以及作为一个项目经历,所以完全无偿开发、源代码也是完全开源!欢迎大家交流。之前迟迟不开源新的MD一方面是觉得写得太不容易了,各种谷歌查资料,还为红杏插件贡献了好几十 _(:3」∠)_ 另一方面是正式用git管理,Wenku8的站长也禁止将API公开,所以分来两个版本管理也很麻烦,还有一方面是因为代码非常乱,没有整理。

注:1.x版本源代码有部分是拷贝0520的,而0520的风格非常糟糕,比如AsyncTaskisLoading定义在类外这样。所以编码风格会有不统一,新写的代码我还是比较满意的,老的代码也是因为修改的需求不大,所以也就没有重构了。编码风格的建议也欢迎发issue~


为什么App里面说要尽快缓存感兴趣的小说?为什么现在这么紧急地开放源代码?

请参阅文档末尾的开发者的碎碎念


Repo目录说明

  1. design-source/

设计师提供的app制作效果图,大家可以参考学习~

  1. eclipse-android/

0.5.1.0030版本的源代码(eclipse+ADT版本),这份源代码阉割了API部分,所以编译后也无法正常获取数据。

  1. eclipse-android-old/

0.5.2.1典藏版的源代码(Android Studio版本),完整从私有库里拷贝出来的。release版本和正式版发布地址一样。

  1. graph-source/

老版的制图源文件,当时自己弄得,完全就是随性而无章法 =。=

  1. studio-android/

1.x正式版的所有源代码存放处,MD风格的App完整源码,可编译通过并正常运行!(Android Studio版本)


App程序结构简明

1.x 版本

新版的MD风格App,设计图纸在design-source/,工程文件在studio-android/

三方库的引用全部采用Gradle dependency,在混淆方面会直接忽略,加密强度低,不过开发起来各种方便~

主要视图

  • App启动界面

1.x-cover-sc

Model & Controller: activity/WelcomeActivity.java
View: layout/layout_welcome.xml
  • 侧栏菜单栏

1.x-custom-menu

Model & Controller: fragment/NavigationDrawerFragment.java
View: layout/layout_main_menu.xml
  • 最近更新列表

1.x-list-loading 1.x-list

Model & Controller: fragment/FavFragment.java
Adapter: adapter/NovelItemAdapter.java
View: layout/fragment_latest.xml
  • 搜索界面

1.x-search 1.x-searching 1.x-search-result

搜索界面
  Model & Controller: activity/SearchActivity.java
  Adapter: adapter/SearchHistoryAdapter.java
  View: layout/layout_search.xml
搜索结果界面
  Model & Controller: activity/SearchResultActivity.java
  Adapter: adapter/NovelItemAdapterUpdate.java
  View: layout/layout_search_result.xml
  • 排行榜列表

1.x-rank-list 1.x-rank-list2

Model & Controller: fragment/RKListFragment.java
Adapter: adapter/NovelItemAdapterUpdate.java
View: layout/fragment_rklist.xml + (layout/fragment_novel_item_list.xml)s
  • 本地书架(收藏)列表

1.x-fav

Model & Controller: fragment/FavFragment.java
Adapter: adapter/NovelItemAdapterUpdate.java
View: layout/fragment_novel_item_list.xml
  • 小说详细信息

1.x-info 1.x-info-menu 1.x-info-hotspot

Model & Controller: activity/NovolInfoActivity.java
View: layout/layout_novel_info.xml
  • 小说章节选择

1.x-chapter

Model & Controller: activity/NovolChapterActivity.java
View: layout/layout_novel_chapter.xml
  • 左右滑动阅读引擎

1.x-reader 1.x-reader-swipe 1.x-reader-menu 1.x-reader-dark 1.x-reader-vertical 1.x-image-view 1.x-reader-jump 1.x-reader-jump-show 1.x-reader-setting 1.x-font-custom 1.x-font-seek

Model & Controller: reader/activity/Wenku8ReaderActivityV1.java
View: layout/layout_reader_swipe_temp.xml + (layout/layout_reader_swipe_page.xml)s
  • 上下滑动阅读引擎

1.x-reader-horizental

Model & Controller: activity/VerticalReaderActivity.java
View: layout/layout_vertical_reader_temp.xml
  • 设置界面

1.x-config 1.x-switch-tc 1.x-cover-tc 1.x-config-tc

Model & Controller: fragment/ConfigFragment.java
View: layout/fragment_config.xml

源代码结构

studio-android/LightNovelLibrary/app/src/main
|   AndroidManifest.xml
|
+---assets/fonts
|       fzss-gbk.ttf 方正书宋GBK字体
|
+---java/org/mewx/wenku8
|       |   MyApp.java 自定义Application为了全局获取Context
|       |
|       +---activity
|       |       AboutActivity.java 关于界面
|       |       MainActivity.java 主界面
|       |       MenuBackgroundSelectorActivity.java 侧栏菜单背景选择界面
|       |       NovelChapterActivity.java 章节选择界面
|       |       NovelInfoActivity.java 小说信息界面
|       |       SearchActivity.java 搜索界面
|       |       SearchResultActivity.java 搜索结果框架界面
|       |       UserInfoActivity.java 用户信息界面
|       |       UserLoginActivity.java 用户登录界面
|       |       VerticalReaderActivity.java 上下滑动界面
|       |       ViewImageDetailActivity.java 查看大图界面
|       |       WelcomeActivity.java 启动界面
|       |
|       +---adapter
|       |       NovelItemAdapter.java 老版的小说项Adapter,每10项更新一次
|       |       NovelItemAdapterUpdate.java 更新的小说项Adapter,动态更新每一项
|       |       SearchHistoryAdapter.java 搜索历史Adapter
|       |
|       +---component
|       |       PagerSlidingTabStrip.java 排行榜自定义的标签类
|       |       ScrollViewNoFling.java 可控滑动阻尼的ScrollView
|       |
|       +---fragment
|       |       ConfigFragment.java 设置界面
|       |       FavFragment.java 本地书架框架
|       |       LatestFragment.java 最近更新
|       |       NavigationDrawerFragment.java 侧栏菜单
|       |       NovelItemListFragment.java 通用的小说列表界面(嵌入框架中)
|       |       RKListFragment.java 排行榜框架
|       |
|       +---global
|       |   |   GlobalConfig.java 全局设置(糟糕向),其中inAlphaBuild控制内测版/正式版
|       |   |

Extension points exported contracts — how you extend this code

SwipeBackActivityBase (Interface)
@author Yrom [6 implementers]
eclipse-android/src/me/imid/swipebacklayout/lib/app/SwipeBackActivityBase.java
SwipeBackActivityBase (Interface)
@author Yrom [6 implementers]
eclipse-android-old/LightNovelLibrary/src/me/imid/swipebacklayout/lib/app/SwipeBackActivityBase.java
MyItemLongClickListener (Interface)
(no doc) [12 implementers]
studio-android/LightNovelLibrary/app/src/main/java/org/mewx/wenku8/listener/MyItemLongClickListener.java
OnMenuListener (Interface)
(no doc) [10 implementers]
eclipse-android/src/com/special/ResideMenu/ResideMenu.java
OnMenuListener (Interface)
(no doc) [10 implementers]
eclipse-android-old/LightNovelLibrary/src/com/special/ResideMenu/ResideMenu.java
MyItemClickListener (Interface)
(no doc) [20 implementers]
studio-android/LightNovelLibrary/app/src/main/java/org/mewx/wenku8/listener/MyItemClickListener.java
IPhotoView (Interface)
(no doc) [6 implementers]
eclipse-android/src/uk/co/senab/photoview/IPhotoView.java
IPhotoView (Interface)
(no doc) [6 implementers]
eclipse-android-old/LightNovelLibrary/src/uk/co/senab/photoview/IPhotoView.java

Core symbols most depended-on inside this repo

findViewById
called by 313
eclipse-android/src/me/imid/swipebacklayout/lib/app/SwipeBackActivity.java
get
called by 270
eclipse-android/src/org/mewx/lightnovellibrary/activity/SettingFragment.java
show
called by 249
studio-android/LightNovelLibrary/app/src/main/java/org/mewx/wenku8/util/ProgressDialogHelper.java
add
called by 207
eclipse-android-old/LightNovelLibrary/src/com/facebook/rebound/ui/SpringConfiguratorView.java
findViewById
called by 137
eclipse-android-old/LightNovelLibrary/src/me/imid/swipebacklayout/lib/app/SwipeBackActivity.java
v
called by 123
eclipse-android-old/LightNovelLibrary/src/uk/co/senab/photoview/log/Logger.java
d
called by 110
eclipse-android-old/LightNovelLibrary/src/uk/co/senab/photoview/log/Logger.java
get
called by 92
eclipse-android-old/LightNovelLibrary/src/org/mewx/lightnovellibrary/activity/AboutActivity.java

Shape

Method 2,650
Class 324
Interface 37
Enum 16

Languages

Java100%

Modules by API surface

eclipse-android-old/LightNovelLibrary/src/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java95 symbols
eclipse-android-old/LightNovelLibrary/src/com/davemorrissey/labs/subscaleview/ScaleImageView.java83 symbols
eclipse-android/src/uk/co/senab/photoview/PhotoViewAttacher.java76 symbols
eclipse-android-old/LightNovelLibrary/src/uk/co/senab/photoview/PhotoViewAttacher.java76 symbols
studio-android/LightNovelLibrary/app/src/main/java/org/mewx/wenku8/component/PagerSlidingTabStrip.java74 symbols
studio-android/LightNovelLibrary/app/src/main/java/org/mewx/wenku8/global/GlobalConfig.java72 symbols
eclipse-android/src/me/imid/swipebacklayout/lib/ViewDragHelper.java63 symbols
eclipse-android-old/LightNovelLibrary/src/me/imid/swipebacklayout/lib/ViewDragHelper.java63 symbols
eclipse-android/src/com/special/ResideMenu/ResideMenu.java45 symbols
eclipse-android-old/LightNovelLibrary/src/com/special/ResideMenu/ResideMenu.java45 symbols
studio-android/LightNovelLibrary/app/src/main/java/org/mewx/wenku8/reader/activity/Wenku8ReaderActivityV1.java43 symbols
studio-android/LightNovelLibrary/api-stub/src/main/java/org/mewx/wenku8/api/Wenku8API.java41 symbols

For agents

$ claude mcp add light-novel-library_Wenku8_Android \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page