自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 react-native-android之初次相识

作为一名Android开发者,我的感觉就是,一步一卡,卡的潇洒。 但是我还是要学react-native,不要问我为什么,因为我相信一门解决了原生app,开发周期长,开发成本高,升级代价大的语言一定会火,而且react语言看起来那么熟悉,组建式的布局方式,让没有接触过web开发的我,感觉没有...

2016-06-29 22:30:42 792 0

转载 App热补丁动态修复技术介绍

安卓App热补丁动态修复技术介绍 来自qq空间团队:微信号qzonemobiledev QQ空间终端开发团队 1.背景 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App、测试、向各个应用市场和渠道换包...

2016-06-29 17:46:20 862 0

原创 Android Studio环境下搭建ReactNative

1.安装Android Studio 首先肯定是 安装Android Studio(包含SDK)(国内推荐) ps:这里有一点要注意,需要为SDK配置环境变量,名称必须为ANDROID_HOME 2.安装Nodo.js(自带npm) 从官网下载node.js的官方4.1版本或更高版本。 安装完成后...

2016-06-28 09:26:55 6119 0

原创 一个可以拖动的自定义Gridview代码

这个可以拖动的gridview继承于gridview,所以,用法和gridview一样, 代码如下: public class DragGridView extends GridView { private long dragResponseMS = 700; // item长按响应...

2016-06-28 09:01:41 1639 0

原创 android图片加载库Glide

什么是Glide? Glide是一个加载图片的库,作者是bumptech,它是在泰国举行的google 开发者论坛上google为我们介绍的,这个库被广泛的运用在google的开源项目中。 Glide解决什么问题? Glide是一个非常成熟的图片加载库,他可以从多个源加载图片,如:网路,本地...

2016-06-27 23:29:21 3544 0

转载 android开发性能分析

1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾。不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结、我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只给出啥啥啥不能用,啥啥啥该咋用等,却很少有较为系统的进行真正性能案例分析的,大多数都是嘴上喊...

2016-06-27 21:58:03 2986 0

转载 android开发之http协议

http协议学习系列 1. 基础概念篇 1.1 介绍   HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engine...

2016-06-27 20:41:40 1756 0

转载 React Native之携程Moles框架

因为支持用javascript开发原生应用,React Native一推出就受到不少公司热捧,各家都跃跃欲试。但有一个痛点是,在移动端,我们是否有必要开发多套程序:iOS、Android和H5?本次将通过对Moles框架的分享,介绍携程在React Native方面的实战干货,希望给大家一些灵感和...

2016-06-24 23:18:05 3421 0

原创 Java泛型和通配符那点事

泛型(Generic type 或者generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。  可以在集合框架(Collection framewo...

2016-06-24 08:45:15 2549 0

原创 java 多线程和线程池

● 多线程 多线程的概念很好理解就是多条线程同时存在,但要用好多线程确不容易,涉及到多线程间通信,多线程共用一个资源等诸多问题。 使用多线程的优缺点: 优点: 1)适当的提高程序的执行效率(多个线程同时执行)。 2)适当的提高了资源利用率(CPU、内存等)。 缺点: 1)占用一定的内存空间。 2)...

2016-06-23 00:01:47 2424 1

原创 android 线程那点事

在操作系统中,线程是操作系统调度的最小单元,同时线程又是一种受限的系统资源,即线程不可能无限制的产生,并且线程的创建和销毁都会有相应的开销,当系统中存在大量的线程时,系统会通过时间片轮转的方式调度每个线程,在这么多线程中有一个被称为主线程,主线程是指进程所拥有的线程,在JAVA中默认情况下一个进程...

2016-06-22 14:23:22 1473 0

原创 android 向webview传值

android中可以使用WebView加载网页,同时Android端的java代码可以与网页上的javascript代码之间相互调用。 效果图: (一)Android部分: 布局代码: xmlns:android="http://schemas.andr...

2016-06-22 09:16:42 1804 0

转载 RecyclerView notifyItem闪烁的问题

之前我们做点赞,用listview做的话,就是在item实现点击后,写一个scal动画,不过现在都转到RecyclerView,那么要做这种效果于是做了一个notifyItemChanged()的操作,功能都顺利实现,美中不足的是当前Item闪了一下,QA甚至为此提了Bug,一开始以为是图片加载库...

2016-06-22 09:08:16 7785 4

转载 Android开发中的安全

根据Android四大框架来解说安全机制   代码安全 java不同于C/C++,java是解释性语言,存在代码被反编译的隐患; 默认混淆器为proguard,最新版本为4.7; proguard还可用来压缩、优化java字节码,删除无用的类、字段、方法、属性、注...

2016-06-22 08:54:01 711 0

原创 android ViewPager+Fragment之懒加载

说说写这篇博客的背景吧,前两天去面试,问到一个问题说的是:比如我们首页,是有3个fragment构成的,并且要是实现作用可以滑,那么这个最好的选择就是ViewPager+fragment了,但是我们知道ViewPager+fragment是做预加载的,然而这种方法有一个坏处,当前页面和预加载页面都...

2016-06-21 23:38:07 1061 0

转载 我所理解的Android 启动模式

首先,这是从 一个开源网站转载的,觉得写得不错,对我们之前理解的activity的启动模式是一个新的理解方式,并给出实际的应用场景。 任务栈是什么 任务栈Task,是一种用来放置Activity实例的容器,他是以栈的形式进行盛放,也就是所谓的先进后出,主要有2个基本操作:压栈和出栈,其所存放的Ac...

2016-06-21 23:02:07 2975 0

原创 android 开发Handler源码剖析

Android的消息机制主要是Handler的运行机制,而讲Handler的机制,又需要和MessageQueue和Looper结合。MessageQueue中文意思是消息队列,虽说叫队列,但是其内部结构并不是队列组成的,而是采用了单链表的形式来存储消息。MessageQueue只是负责存储消息,...

2016-06-20 20:08:57 3188 0

原创 Rest api简介

理解和使用内容协商 我们的开发者在发送一个 REST API 请求的同时,根据应用场景,针对相同的资源,可能会期待不同的返回形式。 比如,我希望根据用户客户端语言,同一个资源的内容可以返回不同的语言。又比如,当我使用 Java 编程的时候,我希望得到 ATOM 格式的返回结果,而当我使用 Ja...

2016-06-20 11:43:51 947 0

原创 Android 常用的ORM框架详解

1. OrmLite OrmLite 不是 Android 平台专用的ORM框架,它是Java ORM。支持JDBC连接,Spring以及Android平台。语法中广泛使用了注解(Annotation)。 官方网站:http://ormlite.com/sqlite_java_andr...

2016-06-19 22:21:21 907 0

原创 Android 之dragger使用

添加apt 添加仓储 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.neenbedankt.gradle.plugins:a...

2016-06-18 23:45:16 1708 0

原创 Rxjava + retrofit + dagger2 + mvp搭建Android框架

最近出去面试,总会被问到我们项目现在采用的什么开发框架,不过据我的经验网络框架(volley)+图片缓存(uIl)+数据库(orm)+mvp,不过现在这套框架比较好了,现在采用什么呢?Rxjava + retrofit + dagger2 + mvp。好,那我们接下来说说由这几种库来组成我们一个常...

2016-06-18 23:28:55 2966 1

原创 Java的依赖注入(控制反转)

两个主角“依赖注入”和“控制反转”: 1、二都说的都是同一件事,只是叫法不同。是一个重要的面向对象编程的法则,也是一种设计模式; 2、英文原称:依赖注入,Dependency Injection(DI);    控制反转,Inversion of Control(IoC)。 ...

2016-06-18 23:26:12 5235 1

原创 内存泄漏和内存溢出的区别

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危...

2016-06-18 11:57:15 5127 5

原创 股票K线图

后面会上代码

2016-06-17 09:12:10 1574 0

转载 Android LruCache技术原理

概述 记得在很早之前,我有写过一篇文章Android高效加载大图、多图解决方案,有效避免程序OOM,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache技术。但LruCache只是管理了内存中图片的存储与释放,如果图片从内存中被移除的话,那么又需...

2016-06-17 09:05:12 2237 0

原创 AndFix使用感想

AndFix已经使用了一段时间了,但是到AndFix上看了一下,最近2个月都没有更新代码了,有141个issues和3个pull request没人处理,其实AndFix的Contributors就俩个人,一个是rogerAce还有个是supern lee,虽然快要沦为了阿里的KPI项目,...

2016-06-16 20:21:32 1350 1

转载 Android 几种网络请求的区别与联系

HttpUrlConnection 最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android 2.2及以下版本中HttpUrlConnection存在着一些bug,所以建议在android 2.3以后使用HttpUrlConne...

2016-06-16 12:32:51 6454 0

原创 23种设计模式

一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、...

2016-06-15 15:16:52 5384 1

原创 anndroid 模糊引导界面

先上两张图,后面补上代码

2016-06-14 09:16:34 1269 1

转载 Java 继承Thread类和实现Runnable接口的区别

ava中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类     在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程。当我们做这个系统...

2016-06-13 23:28:24 2872 2

原创 Map排序

Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value)。 按键排序(sort by key) jdk内置的Java.util包下的TreeMap既可满足此类需求,原理很简单,其重载的构造器之一 ...

2016-06-13 22:10:02 1976 1

原创 数据结构之栈和队列

我们知道,在数组中,若知道数据项的下标,便可立即访问该数据项,或者通过顺序搜索数据项,访问到数组中的各个数据项。但是栈和队列不同,它们的访问是受限制的,即在特定时刻只有一个数据项可以被读取或者被删除。众所周知,栈是先进后出,只能访问栈顶的数据,队列是先进先出,只能访问头部数据。这里不再赘述。 ...

2016-06-12 21:00:21 1146 1

原创 Android ORM 框架之 greenDAO

前言 我相信,在平时的开发过程中,大家一定会或多或少地接触到 SQLite。然而在使用它时,我们往往需要做许多额外的工作,像编写 SQL 语句与解析查询结果等。所以,适用于 Android 的ORM 框架也就孕育而生了,现在市面上主流的框架有 OrmLite、SugarORM、Active A...

2016-06-12 13:51:05 4089 2

转载 droid invalidate和postinvalidate的区别

Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。  invalidate()是用来刷新View的,必须是在UI线程中进行工作。比如...

2016-06-09 12:17:15 832 1

原创 java注解及在butternife中的实践和原理

1.  背景 之前去一个公司,说到了java的注解,问java的注解有几种方式,然后我提到了android中的butternife和afinal注解工具,我们知道butternife在6.1版本的时候还是InjectView,可以到7.1的时候用的却是BInd,这里面有什么区别吗。简单的...

2016-06-08 23:41:25 3370 1

原创 数据结构之堆和栈

内存分配策略     按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的.    静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存...

2016-06-07 15:14:29 1199 1

原创 数据结构是哈希表(hashTable)

哈希表也称为散列表,是根据关键字值(key value)而直接进行访问的数据结构。也就是说,它通过把关键字值映射到一个位置来访问记录,以加快查找的速度。这个映射函数称为哈希函数(也称为散列函数),映射过程称为哈希化,存放记录的数组叫做散列表。比如我们可以用下面的方法将关键字映射成数组的下标:arr...

2016-06-06 21:34:02 4839 1

转载 java面试之常见编程题

1.编程实现:二分搜索算法 解答: public class SearchTest { /** 被搜索数据的大小 */ private static final int size = 5000000; public static void main(String[] ...

2016-06-06 13:44:02 4499 0

原创 数据结构之二叉树

二叉树的定义: 二叉树是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。     二叉树(BinaryTree)是n(n≥0)个结点的有限集,它或者是空集(n=0...

2016-06-06 09:46:36 1095 0

原创 数据结构之数组

一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理。数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组的元素可以是任何数据类型,包括基本类型和引用类型。C和C++中的数组都可以分配在栈上面,而JAVA中的数组是只能分配在堆...

2016-06-06 00:03:23 4124 0

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