新人开发理念

1 activity 是每个功能页面的入口

2 动画效果需要配合资源文件中,动画的定义

3 文件的读取是有权限控制的

4 布局应该尽量简单,这样才能让程序跑的飞快

前记

重新开始一个新的apk项目,之前的“公共自行车”没搞完又放弃了,希望这个项目不会继续无疾而终。把自己做这个项目的过程用博客记录下来,也算是对自己的一个督促。

规划

1 先做一个基础demo

2 完善功能

3 重构

第一日

之前找了一个coolreader 的源码,感觉听靠谱的,今天先参考下。

对此源码有兴趣的童鞋,可以到网上搜索下,还挺好找的。地址我就不提供了。

1 关于builder

 

查看项目属性时候发现的,突然想起,android的编译器是挺好玩的,最近公司的项目在做个android 套壳的功能:绕过系统的检测,利用已经安装的apk调用没安装的apk。

原理说穿了,也听简单,就是利用java 的反射机制。但是遇到一个问题,被调用的apk,包名并不一致,一般开发android 的人都知道,开发的时候编译,如果R 文件不在对应的包名路径当中,是会报错的,那这个编译报错,其实就是android pre compiler 检查出来的。

另外开发的时候从workspace中导入存在的android 工程,是会报错的,这个也是android pre compiler 犯傻,好象是个bug,解决方法就是把workspace 定义到别的位置去。

2 关于intent

从文档看到,intent 是对动作的描述,用来启动activity,service,或单纯用来通信。而且还能在androidManifest 中利用intent-filter 进行处理。

从construct 看出,能传递action,context 和 对应的class,用于后续的startActivity 或者 bindService

3 关于androidManifest

这个文件相当重要,如果要调用activity,需要在此文件中注册,而且文件本身是加密过的,虽然解密方法已经到处都是。

重要内容:apkPackageName, apkVersionName, apkVersionCode(商店之流用于检测应用版本号)

4 关于io

android 的io 还是很方便的,利用File.listFiles() 就可以获取所有的文件。

而且HttpClient 还特地集成到android 中去,非常方便使用。

5 listAdapter

这个东西很好用,直接可以绑定需要List,可以方便做列表管理,和mfc 的dataAdapter 很类似,也有对应的文章管理内容

6 showDialog

showDialog(int),这个定义还是挺好用的,但是必须得明确,需要配合new AlertDialog.Builder(this).create();注意new Builder(this)的时候,context 传进去的应该是当前activity(extends from context),而不是this.getApplicationContext(),因为getApp….. 返回的是applicationContext,这个context 是全局唯一的,但是并不支持后续showDialog 的需求,说到这个,activityContext 则是当前activity 的context,因为activity 可以销毁,重建,所以context 应该也会被销毁,重建。

那么关于这个context 在何时使用,则要看调用的对象是长周期还是短周期,另外还要看对应的activity 的生命周期,否则会跑着跑着程序挂掉,甚至内存泄漏。

更多关于context 的详细介绍可以查看“http://blog.csdn.net/vincent_czz/article/details/8663871

7 关于数据库操作 sqlite

sqlite 作为短小精悍的关系数据库,在android 还是受欢迎的,android 提供了SQLiteOpenHelper 做简单处理,可以协助创建数据库,更新,并把sql 处理写在此,感觉小项目就不用像ibatis 之流的到处写配置文件了。

8 关于客户端开发

客户端是个长时间周期进程,对内存和资源的管理必须严格,不需要的资源必须马上关闭

9 数据类型bunble

用于共享,在activity 间传递,还可以使用ApplicationContext 和Singleton 实现

文件阅读器

蜘蛛图

【android开发】小说阅读器的更多相关文章

  1. 开发微信小程序——古龙小说阅读器

    概述 由于面试的关系接触了一下微信小程序,花了2晚上开发了一个带书签功能的古龙小说阅读器,并且已经提交审核等待发布.这篇博文记录了我的开发过程和对微信小程序的看法,供以后开发时参考,相信对其他人也有用 ...

  2. android优化中国风应用、完整NBA客户端、动态积分效果、文件传输、小说阅读器等源码

    Android精选源码 android拖拽下拉关闭效果源码 一款优雅的中国风Android App源码 EasySignSeekBar一个漂亮而强大的自定义view15 android仿蘑菇街,蜜芽宝 ...

  3. 读取本地HTML的小说阅读器应用源码项目

    该源码是一个不错的读取本地HTML的小说阅读器,读取本地HTML的小说阅读器,并且源码也比较简单的,非常适合我们的新手朋友拿来学习,有兴趣的朋友研究下. 源码下载: http://code.662p. ...

  4. PC免费的小说阅读器,可提取章节

    最近自己做了个小说阅读器,就是下面这个东西啦,目前仅支持Window系统: 个人喜欢在电脑.平板上等大屏幕设备上阅读小说或电子书籍.原因其一是屏幕足够大,可以选择更舒服的字体大小:其二是觉得小屏幕看字 ...

  5. 使用C#开发pdf阅读器初探(基于WPF,没有使用开源库)

    前言 pdf是最流行的版式格式文件标准,已成为国际标准.pdf相关的开源软件非常多,也基本能满足日常需要了.相关商业软件更是林林总总,几乎应有尽有!似乎没必要自己再独立自主开发!但,本人基于以下考虑, ...

  6. Android 仿 新闻阅读器 菜单弹出效果(附源码DEMO)

    这一系列博文都是:(android高仿系列)今日头条 --新闻阅读器 (一) 开发中碰到问题之后实现的,觉得可能有的开发者用的到或则希望独立成一个小功能DEMO,所以就放出来这么一个DEMO. 原本觉 ...

  7. Android开发环境——调试器 DDMS相关内容汇总

       Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT ...

  8. Vue小说阅读器(仿追书神器)

    一个vue阅读器项目,目前已升级到2.0,阅读器支持横向分页并滑动翻页(没有动画,需要动画的可以自己设置,增加transitionDuration即可) 技术栈 vue全家桶+mint-ui gith ...

  9. Android开发 多媒体提取器MediaExtractor详解_入门篇

    前言 MediaExtractor字面意思是多媒体提取器,它在Android的音视频开发里主要负责提取视频或者音频中的信息和数据流(例如将视频文件,剥离出音频与视频).本章博客将讲解一些入门简单的东西 ...

随机推荐

  1. Web数据库的UI框架 Evolutility

    Evolutility 这个框架通过一个XML文件的定义,能够为一个数据对象(数据库中的一张表)来自动生成List,View,Edit,Delete,Search,Advance Search等视图, ...

  2. JAVA里的String、Timestamp、Date相互转换

    Timestamp转化为String: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义 ...

  3. .aspx.cs传值与取值

    1:.aspx中post传值 $.post("ABP_ExchangeRatelz.aspx", { option: "isdelete", Ori_Curre ...

  4. MQ学习(二)----ActiveMQ简介(转)

    1.  什么是ActiveMQ ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的.可扩展的.稳定的和安全的企业级消息通信.ActiveMQ使用A ...

  5. Ini文件操作类

    /// <summary> /// Ini文件操作类 /// </summary> public class Ini { // 声明INI文件的写操作函数 WritePriva ...

  6. 搭建Hadoop集群 (三)

    通过 搭建Hadoop集群 (二), 我们已经可以顺利运行自带的wordcount程序. 下面学习如何创建自己的Java应用, 放到Hadoop集群上运行, 并且可以通过debug来调试. 有多少种D ...

  7. Java和JavaScript的时间互传

    原创文章,转载请注明:Java和JavaScript的时间互传 By Lucio.Yang 1.从JavaScript到Java JavaScript: function query(){ var s ...

  8. 新浪sae 项目之 git 配置

    新浪sae 项目现在支持git 配置了,但是有好多人配置不成功.下面对这个问题进行一个总结. 1. 在新浪云上面新建项目(该步骤省略) 2. 一般新建完毕后,会让你选择代码的管理工具,如下 注意这里, ...

  9. [Java]使用队列求解josephus问题

    约瑟夫斯问题(有时也称为约瑟夫斯置换),是一个出现在计算机科学和数学中的问题.在计算机编程的算法中,类似问题又称为约瑟夫环. 有个囚犯站成一个圆圈,准备处决.首先从一个人开始,越过个人(因为第一个人已 ...

  10. CSS3自适应字体大小(vw vh)

    viewpoint css3提供了一些与当前viewpoint相关的元素,vw,vh,vmin, vmax等. “viewpoint” = window size vw = 1% of viewpor ...