A. android开发,txt文件阅读器将.txt文件分页显示。
楼上楼下全是扯淡回答。。。大文本的情况下全部颠覆。。。网上没有一个真正实用有效的阅读器代码。首先,文本分页,U以为想分就分啊?文本多,分了半分钟没分完,用户缩放文本,是从头分页还是从这里分页?从当前位置分页,那往前分页呢?而且,一页的字数,不是定多少就真的那么多:100个换行符和普通字符能一样占一个页面?问题多着呢。
B. Android 在一个文件夹中点击txt文件,选择一个阅读器,可以读取这个txt文件,怎么实现的
这就是个 文件关联而已。
和电脑上一个原理,你电脑上打开 txt文件,
电脑没有提示你选择 阅读器,那是因为电脑已经默认了
用 “记事本”来 打开 txt 文件。
C. 大牛们是怎么阅读 Android 系统源码的
由于工作需要大量修改framework代码, 在AOSP(Android Open Source Project)源码上花费了不少功夫, Application端和Services端都看和改了不少.
如果只是想看看一些常用类的实现, 在Android包管理器里把源码下载下来, 随便一个IDE配好Source Code的path看就行.
但如果想深入的了解Android系统, 那么可以看下我的一些简单的总结.
知识
java
Java是AOSP的主要语言之一. 没得说, 必需熟练掌握.
熟练的Android App开发
Linux
Android基于Linux的, 并且AOSP的推荐编译环境是Ubuntu 12.04. 所以熟练的使用并了解Linux这个系统是必不可少的. 如果你想了解偏底层的代码, 那么必需了解基本的Linux环境下的程序开发. 如果再深入到驱动层, 那么Kernel相关的知识也要具备.
Make
AOSP使用Make系统进行编译. 了解基本的Makefile编写会让你更清晰了解AOSP这个庞大的项目是如何构建起来的.
Git
AOSP使用git+repo进行源码管理. 这应该是程序员必备技能吧.
C++
Android系统的一些性能敏感模块及第三方库是用C++实现的, 比如: Input系统, Chromium项目(WebView的底层实现).
硬件
流畅的国际网络
AOSP代码下载需要你拥有一个流畅的国际网络. 如果在下载代码这一步就失去耐心的话, 那你肯定没有耐心去看那乱糟糟的AOSP代码. 另外, 好程序员应该都会需要一个流畅的Google.
一台运行Ubuntu 12.04的PC.
如果只是阅读源码而不做太多修改的话, 其实不需要太高的配置.
一台Nexus设备
AOSP项目默认只支持Nexus系列设备. 没有也没关系, 你依然可以读代码. 但如果你想在大牛之路走的更远, 还是改改代码, 然后刷机调试看看吧.
高品质USB线
要刷机时线坏了, 没有更窝心的事儿了.
软件
Ubuntu 12.04
官方推荐, 没得选.
Oracle Java 1.6
注意不要用OpenJDK. 这是个坑, 官方文档虽然有写, 但还是单独提一下.
安装:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
sudo apt-get install oracle-java6-set-default
Eclipse
估计会有不少人吐槽, 为什么要用这个老古董. 其实原因很简单, 合适. 刚开始搞AOSP时, 为了找到效率最优的工具, 我尝试过Eclipse, IntelliJ IDEA, Vim+Ctags, Sublime Text+Ctags. 最终结果还是Eclipse. 主要优点有:
有语法分析 (快速准确的类, 方法跳转).
支持C++ (IntelliJ的C++支持做的太慢了).
嵌入了DDMS, View Hierarchy等调试工具.
为了提高效率, 花5分钟背下常用快捷键非常非常值得.
调整好你的classpath, 不要导入无用的代码. 因为AOSP项目代码实在是太多了. 当你还不需要看C++代码时, 不要为项目添加C++支持, 建索引过程会让你崩溃.
Intellij IDEA
开发App必备. 当你要调试系统的某个功能是, 常常需要迅速写出一个调试用App, 这个时候老旧的Eclipse就不好用了. Itellij IDEA的xml自动补全非常给力.
巨人的肩膀
这个一定要先读. 项目介绍, 代码下载, 环境搭建, 刷机方法, Eclipse配置都在这里. 这是一切的基础.
这个其实是给App开发者看的. 但是里面也有不少关于系统机制的介绍, 值得细读.
此老罗非彼老罗. 罗升阳老师的博客非常有营养, 基本可以作为指引你开始阅读AOSP源码的教程. 你可以按照博客的时间顺序一篇篇挑需要的看.但这个系列的博客有些问题:
早期的博客是基于旧版本的Android;
大量的代码流程追踪. 读文章时你一定要清楚你在看的东西在整个系统处于什么样的位置.
邓凡平老师也是为Android大牛, 博客同样很有营养. 但是不像罗升阳老师的那么系统. 更多的是一些技术点的深入探讨.
Android官方Issue列表. 我在开发过程中发现过一些奇怪的bug, 最后发现这里基本都有记录. 当然你可以提一些新的, 有没有人改就是另外一回事了.
一定要能流畅的使用这个工具. 大量的相关知识是没有人系统的总结的, 你需要自己搞定.
其它
代码组织
AOSP的编译单元不是和git项目一一对应的, 而是和Android.mk文件一一对应的. 善用mmm命令进行模块编译将节省你大量的时间.
Binder
这是Android最基础的进程间通讯. 在Application和System services之间大量使用. 你不仅要知道AIDL如何使用, 也要知道如何手写Binder接口. 这对你理解Android的Application和System services如何交互有非常重要的作用. Binder如何实现的倒不必着急看.
HAL
除非你对硬件特别感兴趣或者想去方案公司上班, 否则别花太多时间在这一层.
CyanogenMod
这是一个基于AOSP的第三方Rom. 从这个项目的wiki里你能学到很多AOSP官方没有告诉你的东西. 比如如何支持Nexus以外的设备.
DIA
这是一个Linux下画UML的工具, 能够帮你梳理看过的代码.
XDA
这里有最新资讯和最有趣的论坛.
想到了再补充.
D. 新手用java编写一个android的txt阅读器,运行时报错NullPointerException
既然是空指针那你就看看你的 for(Filef:aDirectory.listFiles()){I里的aDirectory.listFiles()是不是空的,导致遍历的时候报错,或者看看ListFile(mCurrentDirectory);里的参数
E. android txt阅读器怎么样实现转码的大致的流程
InputStream is = Activity.getAssets().open(”txt文件名");// 文件输入流
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
int value = 0;
try {
while ((value = is.read()) != -1) {
if (value != '\n' && value != '\r') {
bytes.write(value);
} else if (bytes.size() > 0) {
String str = new String(bytes.toByteArray(), "UTF-8");
String[] params = T.splitString(str, " ");
bytes.reset();
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
F. android有哪些开源的电子书阅读器
什么是电子书阅读器?电子书阅读器是采用Eink电子墨水屏幕的专业阅读工具,与传统的手机,MP4,电脑阅读相比,它具有长时间阅读不伤眼,不闪烁,无辐射。且待机时间超长的优点,同时也有色彩单调(黑白双色)、反应较慢、功能单一(可以说是优点,也可以说是缺点)的缺点。对于每天进行阅读的人,推荐使用电子书阅读器,更专业。对于喜欢多媒体娱乐的人,推荐TFT屏幕的其他移动设备。如何选购电子书阅读器?首先,确认购买的是电子墨水屏幕的电子书阅读器,而不是TFT屏幕的娱乐设备。目前电子书阅读器只有黑白屏幕,未来将采用彩色屏幕,可以阅读彩色杂志和彩色漫画。其次,根据需求选择尺寸,对便携性高的用户推荐6英寸,可以满足除扫描版PDF外的基本需求。扫描版PDF一般推荐10英寸以上。再次,屏幕选择,电子书阅读器屏幕有4级、8级、16级灰阶三个层次,16级为最高级别,显示效果细腻,低灰阶的屏幕显示效果灰暗。由于电子墨水屏幕很脆弱,容易破碎,在选购时要注意配皮套,对屏幕进行保护。接着,最重要的格式支持,常见的格式有网络小说的TXT、专业文献文档的PDF(PDF的支持效果很重要),OFFICE组件(word、ppt、excel)、网页阅读的CHM、HTML、专业排版制作的Epub,以及图片浏览的JPG,压缩格式ZIP,支持格式根据自己的需求选择。支持效果也是需要考虑的,排版的美观性,字体的设置,格式的兼容,操作的易用性等。最后,就是操作上的细节,翻页键的设计很重要,阅读过程中最容易使用到的就是翻页键,因此翻页键的位置最好能适应左手,右手单手操作和双手操作。翻页键的手感也是,软硬适中,弹性适中最好。选择国内品牌还是国外品牌,国内品牌在格式支持,资源支持和售后服务上更方便,国外品牌在外观工业设计上更突出。关于OPPO Enjoy(E601)电子书阅读器:OPPO Enjoy为国内首款基于Google Android系统的电子书阅读器,6英寸16级灰阶电子墨水屏幕,支持格式为目前国内最全面的,包括TXT、PDF、WORD、EXCEL、PPT、Epub、CHM、HTML、ZIP、JPG等。支持边看书边听书的TTS语音朗读。字体可以四级放大缩小,自定义更换,同时能够横竖屏切换。可以边看书边听音乐。机器内置了900本免费的正版书籍,同时用户可以自由从网上书城下载100本免费的正版书籍。外观设计上也很时尚,只有8.2mm,很轻薄。另外,全国售后联保,质量有保证。感兴趣的朋友可以去专卖店了解一下。推荐您选择OPPO Enjoy电子书阅读器。详细参数 1.仿书外观:6.0英寸屏,约262克,仅8.2毫米厚,正面象牙白雾面磨砂处理,一体成型铝合金背板。 2、采用电子墨水屏技术(E-ink),显示效果像真书一样。 3、标准文档TXT四种编码格式:ANSI、Unicode、Unicode big endian和UTF-8 ,并支持TXT秒开。 4、专业PDF阅读,并支持重排和自动切白边。 5、OFFICE商务办公文档:DOC、XLS、PPT、PPS 。 6、漫画ZIP压缩包直接打开。 7、电子书文档:CHM、EPUB;网页:HTML、HTM。 8、反射光特性,即屏幕自身不发光,将辐射降低至0 ;反射自然光接近自然阅读效果,精度高,眼睛不疲劳。 9、支持多语言显示:中文简体、中文繁体、英语、韩语、日语。 10、经调屏技术处理,E601翻页响应速度快达0.9秒,翻页速度更快。 11、三种按键体验:日本松下3D轨迹球自由滑动,创新性体验感受;美国德州仪器电容感应键,轻轻点触迅速反应;日本阿尔卑斯机械按键,操作反馈手感好;握书方式、阅读姿势更多。 12、TTS真人朗读:看书和听书的两种选择。 13、动态节能省电模块,续航更长久,待机时间和使用时间更长。 14、谷歌安致(Google Android)免费开源,应用程序丰富,用户可以开发、下载安装应用程序,打造个性化的电子书阅读器。 15、三重密码:开机密码、文件密码、USB密码,全面文件加密保护;首字母搜索,便捷查找;书签管理:书签统一管理,且不限制数量;四种排序:名称、大小、类型、最近添加;文件管理:复制、粘贴、删除、批量处理。 16、听歌看书:支持APE/FLAC格式、后台播放、边看书边听音乐;一键返回,长按返回键两秒,返回主菜单希望您能满意我的回答!
G. 如何做一一个android电子书阅读器
小说格式只有常见的只有txt什么
那里来的apk格式的
apk格式的就是已经封装好的电子书了。打开就能看,
一般的电子书阅读器就弄一个txt阅读器不就可以了
很多论坛上有源码
H. 基于Android的txt阅读器基本原理是什么
1、编码问题可以统一转换为一种编码显示(如utf-8);
2、分页的效果,包括动画,可以用ViewPager实现;
3、这个问题最难的还是如何把一堆文字按屏幕大小来分页。简单的思路就是,读取所有字符(防止文件过大,可以设置一次性读取的最大字符数)塞进第一屏,然后根据屏幕能显示的最大字符数截取,把截取后的字符放到第二屏显示,以此类推。
I. Android本地小说阅读器(仿真、覆盖、滑动翻页,支持大文件)
项目地址: https://github.com/PeachBlossom/treader
分享下之前写的小说阅读器,项目结构是传统mvc这样来做,欢迎大家star。
如风小说阅读器,添加书签、目录跳转、(仿真、覆盖、滑动、无)翻页动画效果、日夜间模式、字体/字体大小/主题/亮度设置、本地txt书籍阅读(支持大文件)
J. Android下长文本怎么分页显示与书签功能
无论什么方式,先将文件的总长度读出来,然后每次都按照一个偏移来读取文件,只读取字节。这样每页的内容就可以实现了。
另外你也可以根据textView自带的文字排版大小来进行分页动作。