主页 > 系统开发 > 如何用ADT做一个简单的电子书阅读器

如何用ADT做一个简单的电子书阅读器

2022-03-04 05:00来源:m.sf1369.com作者:宇宇

1、需求

从个人需求和角度出发,自己想要一个什么东西,获取别人也有类似的困惑和想法。

经常在网上看小说,有时候会觉得广告太多,运行太慢。无聊的时候看新闻,也会觉得不是很感兴趣的东西也会搜索到。于是想到了自己或许可以写个小程序,放一些自己感兴趣的东西。

总结下来,自己想要的东西无非就是两个:

1)、把自己感兴趣的书管理起来

2)、把感兴趣的新闻组管理起来

有时候,会觉得很简单,可是自己也是经历和很久,才知道自己到底想要什么。

2、计划

计划总是理想的东西,也算是目标,没有计划可能动力就会少很多。只有合理的计划,合理的目标才能一鼓作气完成。若是不切实际,不考虑自身条件和资源特质,想做一个好的东西,结果也只能像打水漂,一个个的飘过去,最后沉入水底。

不过我们都是人在职场,身不由己,不可能有完整的时间让你做自己的事情。

因此,自己使用了迭代的方法,不至于感觉到自己的想法太过渺茫。

1)、制定一个简单的框架

2)、建立后台查询webservice接口,能够查询数据列表,和文件位置。

3)、实现小文本书籍程序(一个唐诗三百首的简单程序)

4)、实现大文本书籍阅读(四大名著翻阅)

5)、实现新闻组阅读

6)、对几个小程序进行集成。

7)、后台使用sqlite数据库,支持基本数据存储。前台使用sqlite实现数据缓存支持离线阅读。

每一步都需要都需要在尽可能集中的时间尽快完成,不然就可能被打断。

3、构架

所谓麻雀虽小,五脏俱全,即便它很小,该有的总还是要有,只不过是缩减版。

做这个小程序,需要申请一个云服务器,最简单的那种,1元/天,作为学习和实验已经够用。不过所有的东西都要省着用,计算资源,网络资源依然是个负担,能不用尽量不用。有点像大城市的房子,如果只有巴掌大的地方,那么每个地方都要省着用。

如果从较大的视野看,这个程序算起来也实在是小,无外乎就是租用一个外部服务器,然后做一个webservice服务,然后在app上把数据展示出来。没有负载均衡,没有用大型数据库,没有文件服务器,没有复杂的业务逻辑,甚至也不敢采用未知的技术,然而就是这么说起来的一点点东西,那么实现其中的那么一点点,也是不容易的事情。

若是一定要说说框架,那就是:

软件采用webservice+app的结构,服务器采用spring+cxf通用构架,app采用mvp通用框架。硬件从同单服务器+android设备数据采用文件服务器+sqlite+数据缓存。

4、技术

受限于资源,不可能把程序做的很大,所用的技术也不用最新,深度难度深度不大,所求的不过是一个完整可用的程序。

这个程序没有使用H5,没有使用JNI,仅仅使用java去完成服务端和客户端的整个程序。

这个过程中依然遇到了一些通用的技术,比如:

服务器的搭建,tomcat的安装部署,spring+cxf服务搭建,日志部署,mybatis+sqlite的使用,json对象转换,MyBatisGeneratorTool表映射,数据查询,文本文件压缩加密分割等。

App框架选用,restful接口访问,分辨率自适应,程序升级,版本管理,阅读翻页,数据缓存,标签处理,greendao数据映射,数据列表拖动,以及各种各样的界面问题。

只要程序向前走总会遇到各种问题,而且一旦程序规模达到一定程序,那就不能随意的更改,只能是更加小心,实现备份,并且先进性适当的规划和预研才可以动手。

5、过程

软件开发的过程总是反反复复,想做的,设计的,实际完成的总会有很多的出入。今天想到的,明天可能有不同,实际做的时候,又发现因为其他的原因导致需要变通的去做。

从资源,时间和精力来说,在没有外力的情况下,一个人想把东西做好,可能性很小,那就存在适度的问题,到底做到何种程度才算结束,才算是一个里程碑。

我想基本上够用即可,不需要太多的功能,灵活的技巧,炫目的界面,自我认为可以了就结束了,毕竟这不是一个商业软件。

程序做到一定时间,或者环境和心理发生,或许暂时不适合继续做下去了,适当停一停。

预先想的索引,分类,黑夜模式,订阅处理,html缓存和截取,界面优化,添加评论,添加注解,更多配置,自定义添加文章,自定义插件,安全加固等等,都是没有做的。

存储器存数据,液晶屏显示,单片机控制

相关推荐

请教ESB是如何实现系统集成的

系统开发 2024-01-18

如何成功实施管理信息系统?

系统开发 2023-12-28