- 博客(171)
- 资源 (2)
- 收藏
- 关注
转载 数字证书原理,公钥私钥加密原理
文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1、基础知识 这部分内容主要解释一些概念和术语,最好是先理
2018-01-05 18:06:00 395
原创 UML类图与类的关系
在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。基本概念类图(Class Diagram): 类图是面向对象系统建模中最常用
2017-12-28 20:18:32 275
原创 Android官方架构组件-ViewModel
ViewModel像Activity,Fragment这类应用组件都有自己的生命周期并且是被Android的Framework所管理的。Framework可能会根据用户的一些操作和设备的状态对Activity或者Fragment进行销毁和重构。作为开发者,这些行为我们是无法干预的。所以Activity或Fragment中的一些数据也会随着销毁而丢失,随着重构而重新生成。比如你的Ac
2017-12-10 14:05:29 1626
原创 Android Studio中Kotlin使用错误—compileDebugKotlin
下载Github中Kotlin项目导入AS中发现了如下错误原因: 在AS菜单File—>Setting—>Plugins中,查找Kotlin插件如图(Kotlin插件版本(1.1.2)) build.gradle(Project)中版本(1.0.4) 所以,只要将版本改成1.1
2017-08-11 11:01:00 7284 1
翻译 如何在Android开发中让你的代码更有效率
最近看了Google IO 2012年的一个视频,名字叫做Doing More With Less: Being a Good Android Citizen,主要是讲如何用少少的几句代码来改善Android App的性能。在这个视频里面,演讲者以一个图片app为例讲解如何应用Android中现有的东西来改善app性能问题。这个图片app的代码在这里。ppt在这里。现在我将视频里面的内容记录如
2017-03-03 16:00:30 420
翻译 深入解析Android的自定义布局
写在前面的话:这篇文章是前Firefox Android工程师(现在跳槽去Facebook了) Lucas Rocha所写,文中对Android中常用的四种自定义布局方案进行了很好地分析,并结合这四种Android自定义布局方案所写的示例项目讲解了它们各自的优劣以及四种方案之间的比较。看完这篇文章,也让我对Android 自定义布局有了进一步的了解,于是趁着兴头,我把它翻译成中文,原文
2017-03-03 15:44:46 402
原创 RxJava运用Scheduler完成多线程操作
RxJava运用Scheduler完成多线程操作Scheduler-调度器 (为了方便理解可以简单的认为rx中的调度器即为线程)应用Rxjava中如果想在操作符链上添加多线程,你可以指定这些操作符(或特定的Observables)运行在指定的调度器上.也就是说RxJava的多线程是由Schedulers操作的RxJava中Schedulers有很多种 下表展示了RxJava中常用的几种调度器:
2016-12-05 11:03:26 2231
原创 Java ConcurrentModificationException异常原因和解决方法
Java ConcurrentModificationException原因和解决方法 Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。一.ConcurrentModificationException异常出现的原因 先看下面这段代码:
2016-09-08 11:29:46 507
原创 Java的文件读写操作
当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等。使用FileReader读取文件:[java] view
2016-07-15 17:31:27 1011
原创 Android studio编译OOM
Android Studio编译报错 java.lang.OutOfMemoryError: GC overhead limit exceeded原因:由于编译过程中导入jvm内存中资源过多,超出内存限制导致OOM解决方法:如果在整个工程中生效,则在build.gradle中增加如下配置:12345678android {..............
2016-04-15 16:14:28 2383
转载 PhotoView ImageView缩放
介绍我们来讨论PhotoView这个开源项目,也是我们用的非常频繁的一个,用来帮助产生一个容易实现ImageView缩放的这么个东东。功能特性 支持放缩超出边界,多点触控和双击事件 滚动和滑动 和ViewPager等能完美兼容 矩阵变化等有回调,方便前台其他展示的改变 单击,长按都有回调提醒源码剖析那么怎么来学习他的源码呢,我
2016-03-28 17:10:48 542
转载 关于“运行在主线程的ContentProvider为什么不会影响主线程”的记录
我们四大组件都是运行在UI线程上的,之前据我自己所看到的是主线程上有耗时的操作可能会造成ANR,今天做了一个实验,建立一个工程,主Activity有一个可以触发显示一个Toast的按钮,另外还有一个SQLiteOpenHelper的子类,另外一个继承ContentProvider,提供往数据库插入数据的操作:01packagecth.android.
2016-03-02 13:47:48 5071
原创 关于如何高效率开发App
前言关于如何高效率开发App,开发前需要做哪些准备呢?在这里按划分功能模块---设计APP框架---APP质量把关---内测,正式发布的流程来总结。1)功能模块网络模块okhttpandroid-async-httpvolleyretrofit事件总线ottoEventBus依赖注入DaggerRoboGuiceButterKnife
2016-03-01 11:17:00 896
转载 Android屏幕适配方案:产品级的解决方案
1、概述 大家在Android开发时,肯定会觉得屏幕适配是个尤其痛苦的事,各种屏幕尺寸适配起来蛋疼无比。如果我们换个角度我们看下这个问题,不知道大家有没有了解过web前端开发,或者说大家对于网页都不陌生吧,其实适配的问题在web页面的设计中理论上也存在,为什么这么说呢?电脑的显示器的分辨率、包括手机分辨率,我敢说分辨率的种类远超过Android设备的分辨率,那么有一个很奇怪的现象:为什么W
2016-02-03 12:15:23 520
原创 android 布局优化标签<include/>、<merge />、<ViewStub />
在布局优化中,Android的官方提到了三种布局标签、、,并介绍了这三种布局各有的优势,下面也是简单说一下他们的优势,以及怎么使用,记下来权当做笔记。1、布局重用标签能够重用布局文件,简单的使用如下:[html] view plaincopyprint?LinearLayout xmlns:android=
2016-02-02 11:43:33 631
转载 HTTPS 原理解析
一 前言 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。SSL目前的版本是3.0,被IE
2016-02-01 15:59:30 592
原创 字符编码总结
编码简介常见的一些字符编码方式无非有:Unicode、ASCII、GBK、GB2312、UTF-8。下面先对常见的这一些字符编码方式作下说明:1.ASCII码这是美国在19世纪60年代的时候为了建立英文字符和二进制的关系时制定的编码规范,它能表示128个字符,其中包括英文字符、阿拉伯数字、西文字符以及32个控制字符。它用一个字节来表示具体的字符,但它只用后7位来表示字符(2
2016-01-22 11:28:08 1118 1
原创 JNI学习小结
Java中类型与C/C++中对应关系 Java中的类的对应 Sign签名, 用来识别对应各个方法。JDK下的javap.exe能输出签名。用法javap -s -p 完整类名 下面是几个例子程序:1、C++本地方法中获取Java中的变量以及调用Java中的方法 Java代码:
2016-01-21 10:23:39 1124
原创 fresco使用笔记
关于 FrescoFresco 是一个强大的图片加载组件。Fresco 中设计有一个叫做 image pipeline 的模块。它负责从网络,从本地文件系统,本地资源加载图片。为了最大限度节省空间和CPU时间,它含有3级缓存设计(2级内存,1级文件)。Fresco 中设计有一个叫做 Drawees 模块,方便地显示loading图,当图片不再显示在屏幕上时,及时地释放内
2016-01-19 10:37:57 514
转载 Android 可拖拽的GridView效果实现, 长按可拖拽和item实时交换
转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17718579),请尊重他人的辛勤劳动成果,谢谢!在Android开发中,我们常常用到ListView和GridView,而有的时候系统的ListView,GridView并不能满足我们的需求,所以我们需要自己定义一个ListView或者GridV
2015-12-28 10:15:37 556
转载 我为什么主张反对使用Android Fragment
转载自 我为什么主张反对使用Android Fragment 文中的fragments应该是fragment,在英文中为复数,但是中文没有这个习惯。原文如下:原文链接:https://corner.squareup.com/2014/10/advocating-against-android-fragments.html最近我在Droidcon Paris举办了
2015-12-25 18:58:50 790
转载 JDK DualPivotQuicksort 源码解析
参考自:论文,Dual-Pivot Quicksort algorithm ,by Vladimir Yaroslavskiy。http://www.sytarena.com/javajswz/20140217/1329.html DualPivotQuicksort是JDK1.7开始的采用的快速排序算法。一般的快速排序采用一个枢轴来把一个数组划分成两半,然后递归之。
2015-12-16 10:38:00 434
原创 TCP\UDP\IP协议分析
互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能。为了改善这种缺点,大牛弄出了TCP/IP协议。现在几乎所有的操作系统都实现了TCP/IP协议栈。TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图所谓的协议就是双方进行数据传输的一种格式。
2015-12-09 19:02:59 761
转载 Ted Mosby - 一个MVP框架的软件架构
Ted Mosby - 软件架构作者:Hannes Dorfmann原文链接 : [http://hannesdorfmann.com/android/mosby/] (http://hannesdorfmann.com/android/mosby/)文章出自 : Android开发技术前线译者 : Mr.Simple我给这篇关于Android库的博客起的名字灵感来源于《老爸老
2015-11-11 19:19:31 1144
原创 1.Java的集合类 2.Vector,ArrayList,LinkedList,SynchronizedList 3.HashMap与ConcurrentHashMap的区别
在Java的java.util包中,有一批类被称为集合类集合类,顾名思义,就是存放对象的集合的类,可以是数组形式【ArrayList】,也可以是链表形式【LinkedList】,也可以是两种形式结合【HashMap】。Java的集合类的父类是Collection接口,主要分为三大类:List、Map、Set。其中,List是一组元素的集合,最常用到的为ArrayList、L
2015-10-28 14:40:36 1635 1
原创 ActivityLifecycleCallbacks 对Activity的生命周期事件进行集中处理
ActivityLifecycleCallbacks是什么?Application通过此接口提供了一套回调方法,用于让开发者对Activity的生命周期事件进行集中处理。为什么用ActivityLifecycleCallbacks?以往若需监测Activity的生命周期事件代码,你可能是这样做的,重写每一个Acivity的onResume(),然后作统计和处理:[java]
2015-10-20 13:06:34 383
转载 高仿微信对话列表滑动删除效果
高仿微信对话列表滑动删除效果目录(?)[+]前言用过微信的都知道,微信对话列表滑动删除效果是很不错的,这个效果我们也可以有。思路其实很简单,弄个ListView,然后里面的每个item做成一个可以滑动的自定义控件即可。由于ListView是上下滑动而item是左右滑动,因此会有滑动冲突,也许你需要了解下android中点击事件的派发流程,请参考Android
2015-10-10 11:45:35 996
转载 AS问题解决系列3—iCCP: Not recognizing known sRGB profile
本文解决了Android Studio 1.2.2下编译期间出现的libpng warning: iCCP: Not recognizing known sRGB profile that has been edited警告问题。
2015-09-18 14:44:40 1631 1
转载 Retrofit – Java(Android) 的REST 接口封装类库
原文 http://blog.chengyunfeng.com/?p=491Retrofit 和Java领域的ORM概念类似, ORM把结构化数据转换为Java对象,而Retrofit 把REST API返回的数据转化为Java对象方便操作。同时还封装了网络代码的调用。例如:public interface GitHubService { @GET("/users
2015-09-16 16:03:59 654
转载 android获得联系人
import android.annotation.SuppressLint;import android.app.Activity;import android.content.ContentResolver;import android.database.Cursor;import android.os.Bundle;import android.provider.Cont
2015-09-15 13:58:53 356
原创 Android Fragment 生命周期图
1 生命周期两张图Fragment生命周期图:Fragment与Activity生命周期对比图:2 生命周期分析1. 当一个fragment被创建的时候,它会经历以下状态.onAttach()onCreate()onCreateView()onActivityCreated()2. 当这个fragment对用户
2015-09-15 11:45:38 450
原创 android快捷方式创建权限
android快捷方式创建权限(市场大部分launcher)添加快捷方式 -->uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />uses-permission android:name="com.android.launcher2.permission.INSTA
2015-09-07 09:58:58 8964 1
原创 Android添加快捷方式(Short)到手机桌面
权限 要在手机桌面上添加快捷方式,首先需要在manifest中添加权限。 添加快捷方式 --> uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> 移除快捷方式 --> uses-permission android:name="
2015-09-06 09:46:28 842
转载 深入浅出RxJava四-在Android中使用响应式编程
原文链接](http://blog.danlew.net/2014/10/08/grokking-rxjava-part-4/)在第1,2,3篇中,我大概介绍了RxJava是怎么使用的。下面我会介绍如何在Android中使用RxJava.RxAndroidRxAndroid是RxJava的一个针对Android平台的扩展。它包含了一些能够简化Android开发的工具。
2015-08-31 15:16:13 350
转载 深入浅出RxJava三-响应式的好处
在第一篇中,我介绍了RxJava的基础知识。第二篇中,我向你展示了操作符的强大。但是你可能仍然没被说服。这篇里面,我讲向你展示RxJava的其他的一些好处,相信这篇足够让你去使用Rxjava.错误处理到目前为止,我们都没怎么介绍onComplete()和onError()函数。这两个函数用来通知订阅者,被观察的对象将停止发送数据以及为什么停止(成功的完成或者出错了)。下面的
2015-08-31 15:14:44 419
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人