老胡--心若在,梦就在

文章均在独立博客:huyongli.github.io和此博客发布,QQ群:106510493

排序:
默认
按更新时间
按访问量

透过Retrofit使用看其源码设计模式

前言这篇文章我将从Retrofit的基本用法出发,透过其使用步骤,一步步的探究Retrofit的实现原理及其源码的设计模式。这篇文章可能会将Retrofit中用到的设计模式和其实现原理穿插着写,所以各位同学也可以选择性的阅读。而对于Retrofit具体使用还不太清楚的同学可以去看的另一篇文章Ret...

2016-10-16 12:29:14

阅读数:3790

评论数:1

在线视频播放App的实现

前一段时间在公司项目上做了一个视频播放的功能,当时时间紧,做完之后感觉有些地方处理的不好,所以就基于当时实现的思路进行了一些改进,加上自己平时喜欢看新闻客户端里面的一些短视频,所以就用网易等客户端的视频数据完成了一个独立的视频播放APP,顺便巩固下其他的技术。主要功能 列表中播放视频 列表滑动时如...

2016-09-28 14:22:04

阅读数:5103

评论数:0

基于OkHttp的封装库TigerOkHttp的使用

在前面熟悉了OkHttp的用法之后,为了简化用法同时适用于我的项目,我针对OkHttp进行了更进一步的封装(源码及其Demo地址在https://github.com/huyongli/TigerOkHttp),封装之后其支持的功能特性包括如下: 1.一般的get同步阻塞请求和异步请求 2.一...

2016-01-06 12:07:34

阅读数:2267

评论数:4

基于openfire+smack开发Android即时聊天应用[五]-简易IM客户端效果图

经过几天时间对Openfire+Smack的研究,写了一个简单的Android端的IM客户端,给大家看看我的客户端的效果图,支持发送文本、图片、语音三种消息,群聊功能暂时没有集成上去。整个应用做的比较粗糙。 欢迎大家访问我的个人博客:http://ittiger.cn 1.登陆界面...

2015-10-30 22:09:42

阅读数:2816

评论数:11

简单实用的Android ORM框架TigerDB

TigerDB是一个简单的Android ORM框架,它能让你一句话实现数据库的增删改查,同时支持实体对象的持久化和自动映射,同时你也不必关心表结构的变化,因为它会自动检测新增字段来更新你的表结构。 该库主要包括如下几个要点: 根据实体对象自动建表、新增字段(SQLite不支持删除字段列)支持...

2015-09-28 15:58:38

阅读数:1149

评论数:0

Flutter实战之封装一个LinearLayout

序 在APP开发过程中,经常遇到需要添加背景、设置边距、动态显示和隐藏某个组件。 但是在Flutter中,能同时具有添加背景、设置边距、阴影、边框、圆角的布局只有Container(参考我上一篇文章的介绍Flutter入门之Row、Column、Container布局),这个已经算是业务功能比较多...

2018-11-05 15:03:57

阅读数:33

评论数:0

Flutter入门之Row、Column、Container布局

序 写过Android的都知道Android中有个很常用布局LinearLayout,它可以实现线性的横向或纵向的布局结构。对于学习Flutter的Android开发者来说,肯定也想知道Flutter中该如何实现线性布局结构。 在Flutter中线性布局结构的实现是通过两个不同的widget分别来...

2018-11-05 11:21:17

阅读数:16

评论数:0

Flutter实战之Gank Demo实践

初学Flutter,看了两天文档,花了两天时间利用gank.io提供的api接口实践了下Flutter,写了个Demo. 主要实践了Flutter的如下几个知识点: 如何使用dio框架发起网络请求 如何实现常用布局,如: 水平布局 垂直布局 层叠布局 如何设置间距(padding) 如何显...

2018-11-02 14:47:38

阅读数:20

评论数:0

Flutter入门之Could not find lint-gradle-api.jar

这两天在学习Flutter,学习过程中尝试着写了个Demo,然后在Android平台运行想看下效果,结果直接gradle都没过,错误提示如下: Where: Build file 'PROJECTPATH/android/app/build.gradle' line: 25 What went w...

2018-11-02 10:35:30

阅读数:262

评论数:1

多线程之:Synchronized与ReentrantLock

什么是线程安全 保证多线程环境下共享的、可修改的状态的正确性。(这里的状态在程序中可以看作为数据) 反着来说则是如果状态非共享、不可修改,也就不存在线程安全的问题 保证线程安全的两种方法 封装,通过封装将对象内部状态隐藏、保护起来 不可变,将状态改为不可变,例如将状态定义为final 线程...

2018-10-26 11:17:44

阅读数:17

评论数:0

React Native学习问题记录

最近做了一个RN的项目,RN小白,自然遇到了不少问题,这里记录一下。 命令行下启动IOS版本时出现如下错误:xcrun: error: unable to find utility "instruments", not a developer tool or ...

2018-10-23 11:39:00

阅读数:37

评论数:0

整洁代码的理解

前段时间看了《代码整洁之道》这本书,书中的一些观点讲的很不错,这些观点很容易让人对号入座,也很容易让人知道自己写的代码是否漂亮、是否整洁。通过这篇文章记录下读后感和书中的一些观点。 为什么要整洁代码 很多时候我们修复bug或开发新功能时都会先看看周边的相关代码(开发过程中经常碰到前面写的...

2018-09-15 22:59:37

阅读数:320

评论数:0

Hashtable、HashMap、TreeMap

Hashtable、HashMap、TreeMap都是比较常见的一些Map实现,它们都是key-value键值对的形式存储和操作数据的容器类,同时他们的元素中不能有重复的key,一个key也只能映射一个value值。 下面我从不同的维度来分别说说这三个集合,文章中涉及到的源码版本是JDK8 ...

2018-08-30 17:45:51

阅读数:35

评论数:0

Java知识点梳理

从毕业到现在也有好几年了,从刚开始的Java开发到现在的Android开发,基本上用到的都是Java语言,最近回想了一下,好像自己从来没有认真总结过Java里面的一些知识点,因此就有了这篇博客,打算将Java里面比较常用的一些知识点梳理一下。 String、StringBuffer与Strin...

2018-08-30 15:07:04

阅读数:32

评论数:0

Hash冲突解决方法

何为Hash冲突 假设Hash表大小为5(即5个槽位),现在要把2,5,6,7,8这几个数存储到Hash表中,假设hash函数为hash(num)=num % size 简单计算下,第一个数2的hash值为2所以放到第三个槽中,第二个数5的hash值为0放到第一个槽中,第三个数6的hash值为...

2018-08-30 14:32:24

阅读数:59

评论数:0

final、finally、finalize

final final可以用来修饰类、方法、变量,修饰对象不同所代表的意义也不同 修饰类则代表该类不可继承扩展 修饰方法则代表该方法不可重写 修饰变量则代表该变量某种程度不可更改。为什么说是某种程度呢,因为这需要根据变量的类型来区分 如果修饰的变量是基本类型,则该变量赋值一次之后就无法修改...

2018-08-29 16:49:37

阅读数:27

评论数:0

Exception与Error

相同点 Exception和Error都是继承自Throwable,在Java中只有Throwable的实例才可以被抛(throw)出或捕获(catch),它是java异常处理机制的基本组成类型。 Exception和Error体现了Java平台设计者对不同异常情况的分类 Excepti...

2018-08-29 16:19:09

阅读数:45

评论数:0

强引用、软引用、弱引用、虚引用

在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为4类。 强引用 特点:我们平常典型编码Object obj = new Object()中的obj就是强引用。 通过关键字new创建的对象所关联的引用就是强引用。 当JVM内...

2018-08-29 14:56:20

阅读数:28

评论数:0

String、StringBuffer与StringBuilder

String String的创建机制 因为String在Java中使用过于频繁,Java为了避免在系统中产生大量的String对象,引入了字符串常量池的概念。 其运行机制是: 创建一个字符串时,首先检查池中是否有值相同的字符串对象(equals决定),如果有则不需要创建而是直接从常量池...

2018-08-29 14:43:07

阅读数:24

评论数:0

微信小程序之页面数据绑定及页面跳转传参

在写前面的小程序入门项目时,发现有两个很常用而且觉得也算比较重要的知识点,这里记录下:页面数据绑定比如你的页面需要显示一个Hello字符串,这个这个字符串可能会根据某些情况会动态变化,这个时候就需要进行数据绑定展示了在wxml文件布局如下:<view>{{message}}</v...

2017-07-17 17:28:00

阅读数:1012

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭