-
design-source/
设计师提供的app制作效果图,大家可以参考学习~
-
eclipse-android/
0.5.1.0030版本的源代码(eclipse+ADT版本),这份源代码阉割了API部分,所以编译后也无法正常获取数据。
-
eclipse-android-old/
0.5.2.1典藏版的源代码(Android Studio版本),完整从私有库里拷贝出来的。release版本和正式版发布地址一样。
-
graph-source/
老版的制图源文件,当时自己弄得,完全就是随性而无章法 =。=
-
studio-android/
1.x正式版的所有源代码存放处,MD风格的App完整源码,可编译通过并正常运行!(Android Studio版本)
App程序结构简明
1.x 版本
新版的MD风格App,设计图纸在design-source/,工程文件在studio-android/。
三方库的引用全部采用Gradle dependency,在混淆方面会直接忽略,加密强度低,不过开发起来各种方便~
主要视图
- App启动界面
Model & Controller: activity/WelcomeActivity.java View: layout/layout_welcome.xml
- 侧栏菜单栏
Model & Controller: fragment/NavigationDrawerFragment.java View: layout/layout_main_menu.xml
- 最近更新列表
Model & Controller: fragment/FavFragment.java Adapter: adapter/NovelItemAdapter.java View: layout/fragment_latest.xml
- 搜索界面
搜索界面 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
- 排行榜列表
Model & Controller: fragment/RKListFragment.java Adapter: adapter/NovelItemAdapterUpdate.java View: layout/fragment_rklist.xml + (layout/fragment_novel_item_list.xml)s
- 本地书架(收藏)列表
Model & Controller: fragment/FavFragment.java Adapter: adapter/NovelItemAdapterUpdate.java View: layout/fragment_novel_item_list.xml
- 小说详细信息
Model & Controller: activity/NovolInfoActivity.java View: layout/layout_novel_info.xml
- 小说章节选择
Model & Controller: activity/NovolChapterActivity.java View: layout/layout_novel_chapter.xml
- 左右滑动阅读引擎
Model & Controller: reader/activity/Wenku8ReaderActivityV1.java View: layout/layout_reader_swipe_temp.xml + (layout/layout_reader_swipe_page.xml)s
- 上下滑动阅读引擎
Model & Controller: activity/VerticalReaderActivity.java View: layout/layout_vertical_reader_temp.xml
- 设置界面
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控制内测版/正式版
| | |
| | \---api
| | ChapterInfo.java 章节信息类
| | NovelItemInfo.java 小说信息类
| | NovelItemInfoUpdate.java 更新的小说信息类
| | NovelItemList.java 小说项列表类
| | NovelItemMeta.java 小说完整信息类
| | OldNovelContentParser.java 旧的小说内容解析器,解析成text和image
| | UserInfo.java 用户信息类
| | VolumeList.java 卷信息类
| | Wenku8API.java API类
| | Wenku8Error.java 错误信息类,后期的编码中定义的
| | Wenku8Parser.java 通用项目解析器
| |
| +---listener
| | MyItemClickListener.java RecyclerView的单击监听接口
| | MyItemLongClickListener.java RecyclerView的长按监听接口
| |
| +---reader 这边准备封装成的UniversalReaderActivity库的
| | +---activity
| | | Wenku8ReaderActivityV1.java 左右滑动阅读界面
| | |
| | +---loader
| | | WenkuReaderLoader.java 小说载入类的抽象类
| | | WenkuReaderLoaderXML.java XML格式小说载入类
| | |
| | +---setting
| | | WenkuReaderSettingV1.java 阅读设置类V1
| | |
| | +---slider 三方划屏库
| | | | SlidingAdapter.java
| | | | SlidingLayout.java
| | | |
| | | \---base
| | | BaseSlider.java
| | | OverlappedSlider.java
| | | PageSlider.java
| | | Slider.java
| | |
| | \---view
| | WenkuReaderPageBatteryView.java 电池View(未使用)
| | WenkuReaderPageView.java 单页小说View(效率低)
| |
| +---service
| | HeartbeatSessionKeeper.java 心跳包保持session类(未使用)
| |
| \---util
| LightBase64.java 轻量级base64封装库
| LightCache.java 轻量级文件操作库(容易OOM)
| LightNetwork.java 轻量级网络通信库(容易OOM)
| LightTool.java 轻量级工具集合类
| LightUserSession.java 轻量级用户Session管理(包括账号密码加解密)
| Logger.java 轻量级日志类(未使用)
|
\---res/
| ... 略
\
0.5.2.1 典藏版
老版的App,启动和运行方面都比MD版本流畅,针对旧机型维护。Eclipse版本源码见eclipse-android/目录(非最新),Android Studio版本源码见eclipse-android-old/目录(典藏版最新),老版的图片资源都是用Fireworks做的,源文件见graph-source/目录。
预览图
源代码结构
这边引入了不少三方库,但是方法笨拙,主要采用复制、合并源代码的方式,所以文件目录会比较乱。但是加密强度高 _(:3」∠)_ 以后做商业软件还是建议这样操作,虽然麻烦,但是混淆之后烦的要命~
eclipse-android-old\LightNovelLibrary\src
+---com
| +---davemorrissey
| | \---labs
| | \---subscaleview 分部加载图片的库,查看大图防止OOM
| | ImageViewState.java
| | ScaleImageView.java
| | SubsamplingScaleImageView.java
| |
| +---ecloud
| | \---pulltozoomview 下拉放大的视图,设置界面用的小苹果~
| | IPullToZoom.java
| | PullToZoomBase.java
| | PullToZoomListView.java
| | PullToZoomListViewEx.java
| | PullToZoomScrollView.java
| | PullToZoomScrollViewEx.java
| |
| +---facebook
| | \---rebound 物理、动画库,用途忘记了 =。= 大半年没动了,好像是侧栏菜单用的
| | | AndroidSpringLooperFactory.java
| | | BaseSpringSystem.java
| | | OrigamiValueConverter.java
| | | SimpleSpringListener.java
| | | Spring.java
| | | SpringConfig.java
| | | SpringConfigRegistry.java
| | | SpringListener.java
| | | SpringLooper.java
| | | SpringSystem.java
| | | SpringSystemListener.java
| | | SpringUtil.java
| | | SteppingLooper.java
| | | SynchronousLooper.java
| | |
| | \---ui
| | SpringConfiguratorView.java
| | Util.java
| |
| +---special
| | \---ResideMenu 侧边滑动菜单iOS风格的
| | ResideMenu.java
| | ResideMenuItem.java
| | TouchDisableView.java
| |
| \---zcw
| \---togglebutton iOS风格的切换按钮
| ToggleButton.java
|
+---me
| \---imid
| \---swipebacklayout 右滑返回layout
| \---lib
| | SwipeBackLayout.java
| | Utils.java
| | ViewDragHelper.java
| |
| \---app
| SwipeBackActivity.java
| SwipeBackActivityBase.java
| SwipeBackActivityHelper.java
| SwipeBackPreferenceActivity.java
|
+---org
| \---mewx
| \---lightnovellibrary
| +---activity
| | AboutActivity.java 关于界面
| | BookshelfFragment.java 本地书架
| | LibraryFragment.java 小说库(主界面入口)
| | MainActivity.java 主界面
| | NovelImageActivity.java 看大图界面
| | NovelInfoActivity.java 小说信息界面
| | NovelListActivity.java 小说列表界面
| | NovelReaderActivity.java 阅读器界面(上下滑动)
| | NovelSearchActivity.java 搜索界面
| | SettingFragment.java 设置
| | StartActivity.java 启动界面
| | Wenku8Fragment.java (未完成)
| |
| +---api
| | Wenku8Interface.java 你懂的
| |
| +---component
| | | GlobalConfig.java 全局设置界面
| | | MyApp.java 用于获取Context的全局Application
| | | NovelContentParser.java 小说内容解析器
| | | XMLParser.java XML解析器
| | |
| | \---adapter
| | EntryElement.java 书库分类项
| | EntryElementAdapter.java 书库分类项Adapter
| | NovelContentAdapter.java 小说内容Adapter
| | NovelElement.java 小说项
| | NovelElementAdapter.java 小说项Adapter
| | NovelElementSearch.java 小说搜索项
| | NovelElementSearchAdapter.java 小说搜索项Adapter
| | NovelIcon.java 小说封面
| | NovelIconAdapter.java 小说封面Adapter
| |
| \---util
| LightBase64.java 轻量级Base64库
| LightCache.java 轻量级文件操作库
| LightNetwork.java 轻量级网络通信库
|
\---uk
\---co
\---senab
\---photoview 轻量级看图的View
| Compat.java
| DefaultOnDoubleTapListener.java
| IPhotoView.java
| PhotoView.java
| PhotoViewAttacher.java
|
+---gestures
| CupcakeGestureDetector.java
| EclairGestureDetector.java
| FroyoGestureDetector.java
| GestureDetector.java
| OnGestureListener.java
| VersionedGestureDetector.java
|
+---log
| Logger.java
| LoggerDefault.java
| LogManager.java
|
\---scrollerproxy
GingerScroller.java
IcsScroller.java
PreGingerScroller.java
ScrollerProxy.java