大家今天跟大家伙儿聊聊我这几天捣鼓的“lu小说合集安卓”的事儿。一开始我也就是好奇,想看看能不能自己搞个方便点的小说APP,结果一不小心就陷进去了。
一、想法的起源:
最开始就是觉得现在各种小说APP广告太多,要么就是动不动就收费,看个开头就吊人胃口,烦都烦死了。就想着,要是能把一些经典的老书,或者网上搜集的一些txt格式的小说,自己整理到一个APP里,想看啥就看多爽!
二、技术选型:
我本身不是专业的安卓开发,之前稍微学过点Java,也了解过Android Studio。第一反应就是用Android Studio来搞。不过这玩意儿上手还是有点难度的。界面布局、数据存储、文件读取,每个环节都得研究一阵子。
三、动手开干:
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
1. 环境搭建:先是下载安装Android Studio,然后配置JDK,设置环境变量,这一步就搞了我半天。各种报错,各种查资料,总算是把环境给配好了。
2. 界面设计:界面这块我没啥追求,简单粗暴就一个主界面,显示小说列表;点击小说,进入阅读界面。用了ListView来展示小说列表,TextView来显示小说内容。为了美观,还稍微加了点颜色和边框。
3. 数据存储:小说数据我一开始是打算直接放在APP里,后来发现这样APP体积太大,不方便。于是就想着用SQLite数据库来存储小说信息,比如小说名、作者、简介、文件路径等等。这样可以方便查询和管理。
4. 文件读取:这是个大坑!安卓读取本地txt文件,涉及到文件权限的问题。我研究了好久,才搞明白怎么在代码里申请文件读取权限,然后用IO流把txt文件的内容读取出来,显示在TextView里。还要处理编码问题,不然中文全是乱码。
5. 小说导入:我写了个简单的工具,可以把电脑上的txt小说批量导入到APP的数据库里。这样就不用手动一条一条添加了。
四、遇到的坑:
- 文件权限:安卓6.0之后,权限管理变得严格了,必须动态申请权限。
- 编码问题:txt文件的编码格式五花八门,UTF-8、GBK、ANSI,搞得我头都大了。
- 内存溢出:读取大文件的时候,很容易发生内存溢出。需要分段读取,或者使用流式读取。
- APP崩溃:各种空指针异常、数组越界异常,防不胜防。
五、最终效果:
经过几天的折腾,总算是把这个“lu小说合集安卓”APP给搞出来了。虽然界面丑了点,功能也简单了点,但是能用!可以把自己喜欢的小说都放进去,随时随地看,不用受广告的骚扰。
六、
这回实践,让我深刻体会到安卓开发的难度。虽然我只是做了个很简单的APP,但是也学到了很多东西。以后有机会,希望能继续深入学习安卓开发,做出更牛逼的APP!
对了,这个APP我就自己用用,就不公开分享了。毕竟有些内容不太适合公开传播,大家懂的。