- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 藏书阁-数据存储选型
藏书阁-数据存储选型ORM: object relational mapping - 上层使用面向对象,面向对象到关系型数据库的转换。javaObject 到 Sql 语句。 - 语法检查在运行期 - SQLiteDatabase - > ORM - >JavaObject选用 greenDao 的好处如下: - 轻量易于上手 - 相对其他 ORM 库性能更优 - 对象关系配置简单Gre
2017-03-09 15:49:03 609
原创 基于okhttp封装网络库 (3)
基于okhttp封装网络库 (3)前言:根据之前封装的库来写一个具体的请求豆瓣 api 的任务类!准备工作:通过 豆瓣 api,查看可知获取某个图书信息的 api 长这样。 GET https://api.douban.com/v2/book/isbn/:name由第一点可知我们请求的 主机地址是 api.douban.com,具体图书 api则是 /v2/book/isbn/:name,请
2017-03-08 17:39:28 386
原创 基于 okhttp 封装网络库 (2)
基于okhttp封装网络库 (2)前言:上篇只是封装了一个基础的抽象类,假设我们需要发送一个 json 请求,那么该如何对 BaseRequest 扩展呢?第一步:确定 MediaType 并解析 //该函数在 okhttp3.MediaType 包下 public static final MediaType Media_Json = MediaType.parse("applica
2017-03-08 17:37:18 320
原创 基于okhttp封装网络库 (1)
基于okhttp封装网络库 (1)前言:在前篇文章中我已经总结了 okhttp 库的特性,这次就来讲对该库封装思路,当然是在熟悉 okhttp 基本 api使用情况下。封装思路首先是确定协议,一般来讲公司都会采用一二级协议的格式,所以这篇是假设服务端跟客户端协定的协议为一二级协议的格式,比如:(输入参数) 参数名称 类型 默认值 描述 id Integer 200
2017-03-08 17:36:28 464
原创 藏书阁app-网络库选型篇
藏书阁app-网络库选型篇基本要求支持 HTTP 协议 异步请求可选的网络库经过整理,可得出以下四个热门网络库都是支持上述两点要求的,接下来一步一步分析各自的特点。android-async-http通过该库的 Github 的主页我们可以得出以下特点: 使用 ThreadPool 调度请求资源,避免了每次请求都要新建线程。支持 Gzip 解压缩早期版本基于 Apa
2017-03-07 20:50:36 3224
原创 简述Android消息机制及解惑
Android消息机制这篇文章主要目的是简单总结消息机制的工作原理以及解决一些疑惑点概述 Android的消息机制主要是指 Handler 的运行机制,这个机制不仅包含发送消息的 Handler ,还包含消息存储单元 MessageQueue 和 不停从 MessageQueue 取出消息的 Looper 。 其实 Handler 的主要作用的将一个任务切换到指定的线程中去执行,比如在
2017-03-02 11:01:51 612
原创 编程题训练5
编程题训练5最大子数组 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。样例 给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6 解析文章public class Solution { public int maxSubArray(int[] nums) { // 参数校验 i
2017-03-01 22:28:51 412
原创 编程题训练4
主元素给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。样例 给出数组[1,1,1,1,2,2,2],返回 1public class Solution { /** * @param nums: a list of integers * @return: find a majority number */ pu
2017-02-28 23:37:09 363
原创 编程题训练3
链表求和你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。样例: 给出两个链表 3->1->5->null 和 5->9->2->null,返回 8->0->8->nullpublic class Solution { /** * @param l1: the
2017-02-28 23:36:38 305
原创 编程题训练2
最后一个单词的长度给定一个字符串, 包含大小写字母、空格’ ‘,请返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 public class Solution { /** * @param s A string * @return the length of last word */ public int lengthOfLastWord
2017-02-28 23:36:04 428
原创 编程题训练1
编程题训练1删除链表中等于给定值val的所有节点。样例 给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; *
2017-02-28 23:33:57 373
原创 数据结构常考知识点
数据结构常考知识点工具可视化工具树二叉树基本性质: 结点度为0的个数 = 结点度为2个数 +1 前序遍历:根节点 -> 左节点 -> 右节点中序遍历:左节点 -> 根节点 -> 右节点后序遍历:左节点 -> 右节点 -> 根节点 遍历技巧,以根节点的遍历结果将左右节点一份为二。 图广度优先:从一个顶点 (A) 开始,遍历与 (A) 相连的顶点,并记录这些顶点遍历顺序(B,C,D)。
2017-02-26 21:12:11 1632
原创 产品开发 + 校招 ---知乎live
产品开发 + 校招张明云老师的知乎live的学习笔记。敏捷开发:敏捷开发优点是:快速迭代,防止跟不上市场趋势。敏捷开发缺点是:会议多。开发时间短。。强调最小化验证,那就必须快速迭代版本。软件开发流程:编码只是非常小的一部分,每个部分同等重要。设计文档:正式编码时,按照产品经理规划完成版本功能。这个时候就必须要求程序设计的低耦合性,因此在前期的程序设计非常非常重要,决定了稳不稳定,迭代的难易度
2016-10-05 07:17:21 776
原创 设计模式 观察者模式
从现实事例讲观察者模式前言:观察者模式 = 观察者 + 主题我们先看一个微信公众号的例子。 如上图所示,服务号就是我们的主题,使用者就是观察者。现在我们明确下功能: 1、服务号就是主题,业务就是推送消息 2、观察者只需要订阅主题,只要有新的消息就会送来 3、当不想要此主题消息时,取消订阅 4、只要服务号还在,就会一直有人订阅观察者模式 = 观察者 + 主题
2016-09-11 18:54:14 547
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人