diff --git a/zhuike/src/main/java/com/deiniu/zhuike/utils/BookUtil.java b/zhuike/src/main/java/com/deiniu/zhuike/utils/BookUtil.java index fdadf15..e4b5bef 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/utils/BookUtil.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/utils/BookUtil.java @@ -91,7 +91,7 @@ public class BookUtil { Log.d(TAG, String.format("bookchapter :%s,fileName :%s, chapter Size %s",c.getChapterName(),c.getChapterPath(),c.getLength())); } - + chaptCache = new HashMap(); if(directoryList.isEmpty()) { if (bookPath == null || !bookPath.equals(book.getBookpath())) { @@ -471,7 +471,7 @@ public class BookUtil { return block; } - Map chaptCache = new HashMap(); + private Map chaptCache = new HashMap(); //获取chapter 缓存 public char[] chaptChars(int index) { @@ -482,6 +482,15 @@ public class BookUtil { if (block == null) { try { File file = new File(fileChapterName(index)); + + if(!file.exists()){ + /* 章节内容没有缓存在本地 + 1. 根据本地的章节网络地址信息,读取章节内容到本地,若读取失败则 + 2. 查询主服务器,若有地址更新则更新本地信息,并重复1,若没有更新地址,则地址无效,返回章节内容正待手打 + */ + } + + int size = (int)file.length(); if (size < 0) { throw new RuntimeException("Error during reading " + fileChapterName(index)); diff --git a/zhuike/src/main/java/com/deiniu/zhuike/utils/PageFactory.java b/zhuike/src/main/java/com/deiniu/zhuike/utils/PageFactory.java index 96371a1..2121498 100644 --- a/zhuike/src/main/java/com/deiniu/zhuike/utils/PageFactory.java +++ b/zhuike/src/main/java/com/deiniu/zhuike/utils/PageFactory.java @@ -802,11 +802,11 @@ public class PageFactory { public void preChapter(){ if (mBookUtil.getDirectoryList().size() > 0){ int num = currentChapter; - if (num ==0){ + if (num ==1){ num =getCurrentCharter(); } num --; - if (num >= 0){ + if (num >= 1){ nextChaptPages =currentChaptPages; currentChapter = num; @@ -826,7 +826,7 @@ public class PageFactory { num =getCurrentCharter(); } num ++; - if (num < getDirectoryList().size()){ + if (num <= getDirectoryList().size()){ preChaptPages =currentChaptPages; currentChapter = num;