其实在程序读取txt文件进行分页时找出包含“第X章”关键字的页码,保存起来至于章节名称肯定与正文之间有空格,用正则表达式筛选下和页码一起保存。
解决方案 »
- 求救各位大神!!adb 命令有时候出现out of date错误如何解决
- 提取的系统应用如何在所有的机器上安装
- 求助 怎样读取CSV文件中的数据啊
- VB写的服务端,android写的客户端,在模拟器上能通信,把android客户端按到手机上就不连接不上了
- Android FrameBuffer读屏幕30秒后mmap失败
- mediaplayer的问题
- Could not create tab content because could not find view with id 2130903042
- 请哪位大神指导一下,我想做android静默安装
- 关于存储接收到的推送消息存储问题
- 匿名内部类里调用外部变量进行自增自减操作,可以不用final修饰吗
- android起来后,串口不能进入shell
- android 实现背景拖动(布局和动画的结合)
参考下iBook阅读星Android版的功能,有兴趣的话而已给你点实用的建议参考。
/**
* Role:智能断章<BR>
* Date:2012-5-7<BR>
*
* @author ZHENSHI)peijiangping
*/
private void goToBreakChapter(String str, int num) {
boolean ok = false;
Pattern p = Pattern.compile("^[0-9一二三四五六七八九十百千 ]+$");
String[] key_array = { "章", "回", "节", "卷", "集", "幕", "计" };
if (str.contains("第")) {
if (key != null) {
if (str.contains(key) && str.indexOf(key) > str.indexOf("第")) {
String a = str.substring(str.indexOf("第") + 1,
str.indexOf(key));
Matcher m = p.matcher(a);
ok = m.matches();
}
} else {
: for (int i = 0; i < key_array.length; i++) {
key = key_array[i];
if (str.contains(key)
&& str.indexOf(key) > str.indexOf("第")) {
String a = str.substring(str.indexOf("第") + 1,
str.indexOf(key));
Matcher m = p.matcher(a);
ok = m.matches();
if (ok) {
break ;
}
}
}
}
}
if (ok) {
ChapterInfo cha = new ChapterInfo();
cha.setChapter(str);
endPercent = (float) (num * 1.0 / m_mbBufLen);
cha.setPercent(endPercent);
infos.add(cha);
}
}
至于是分别存储到不同的文件,还是只将章节信息保存到文件或数据库里都不是难点。
一楼所说也正是一种章节之间的特征。
建议你多比较几个TXT小说是怎么排的章节,找出共性
如果你的TXT都是排版很好的文章,共性就比较好找。
不然就不说是章节目录,只说是阅读器中的自动分节功能,显示找到可能的章节信息,并可以让用户用滑动条选择阅读进度,保存书签,和在程序打开后自动定位到最后阅读的地方
再不济也像如下所示了:
1、第一章:李小龙
2、第二章:猛张飞
3、李小龙突然出现在猛张飞面前
4、第五章:决战
Typeface tf = Typeface.createFromAsset(getAssets(),
"fonts/font.mp3");
viewfont.setTypeface(tf, Typeface.NORMAL);
同时还可以设置字体加粗、倾斜等
viewfont.setTypeface(tf, Typeface.BOLD);//加粗