自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 Git命令笔记

1. 如果某些文件已经被跟踪了, 再放入到.gitinore可能会失效, 用以下命令来忽略          git update-index --assume-unchanged filename撤销用:          git update-index --no-assume-unchanged filename例子:git update-index --assume-unc...

2019-01-25 11:18:18 152

原创 Looper.loop死循环为什么不会卡死

1) Android中为什么主线程不会因为Looper.loop()里的死循环卡死?这里涉及线程,先说说说进程/线程,进程:每个app运行时前首先创建一个进程,该进程是由Zygote fork出来的,用于承载App上运行的各种Activity/Service等组件。进程对于上层应用来说是完全透明的,这也是google有意为之,让App程序都是运行在Android Runtime。大多数情况一个

2017-10-29 17:26:56 3713 1

原创 Https单向认证与双向认证

一、HttpHyperText Transfer Protocol,超文本传输协议,是互联网上使用最广泛的一种协议,所有WWW文件必须遵循的标准。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。使用TCP端口为:80二、HttpsHyper Text Transfer Protocol over Secure Socke

2017-10-29 16:41:51 244

原创 深入理解Android中Loader、AsyncTaskLoader、CursorLoader、LoaderManager

本文主要通过研究Loader及其子类的生命周期的方式来对Loader及其子类、LoaderManager的源码进行研究。Loader是靠LoaderManager管理的,LoaderManager可以同时管理多个Loader,即LoaderManager与Loader是一对多的关系。我们是在Activity或Fragment使用Loader的,虽然Loader有很多public方法,但是我们不能直接

2017-06-12 17:06:40 437

原创 最全HTTPS扫肓贴

为什么需要httpsHTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。用户登陆 –> 代理服务器(做手脚)–> 实际授权服务器在发送端对密码进行加密?没用的,虽然别人不知道你原始密码是多少,但能够拿到加密后的

2017-06-10 16:57:43 597

原创 二叉树遍历与反转java

public class BinaryTree { public static void main(String[] args) { int[] values = {2,14,4,10,7,16,1,12,3,20,5,11,0,9,6,8}; BinaryTree binaryTree = new BinaryTree(); for(int i = 0; i < va

2017-06-08 17:55:45 425

原创 单链表反转java

public class SingleLinkTest { public static void main(String[] args) { Node node = new Node(0); Node head = node; int i = 1; while(i < 10){ node.next = new Node(i); n

2017-06-08 17:54:21 231

原创 ActivityThread与ApplicationThread

Android应用ui是绘制在主线程中的,这个线程就是ActivityThread。但实际上看源码发现ActivityThread并没有继承自Thread,而是一个独立的类,只是在其main方法中开了一个Looper循环消息,不断接收处理发到主线程里面的消息,比如performLaunchActivity.   而ApplicationThread也不是一个Thread,是一个Binder...

2017-06-04 15:59:52 2080

原创 自定义实现瀑布流布局

简单的瀑布流布局 用法: new 一个出来后,直接往里面add(View)就行是不是很简单,哈哈~~~ javaimport java.util.ArrayList;import java.util.List;import android.content.Context;import android.util.AttributeSet;import android.util.Log;im

2017-05-27 16:28:55 426

原创 gradle多渠道打包

1,首先,按照umeng的要求,manifest文件中需要有meta-dataandroid:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"/>这段配置,value那里就是wandoujia,360之类的渠道名称,但是我们在这里不会去写渠道名,写的是一个占位符,后面gradle编译的时候会动态的替换掉它。

2017-05-02 11:46:13 219

原创 JNI NDK开发笔记

目录目录Cmake模式传统NDK-Build模式基于openssl实现的3DESAESMD5RSA加解密源码下载Cmake模式: 谷歌从AndroidStudio2.2以上就添加了Cmake方式来编译NDK代码,并从NDK例子看出,默认编译的方式就是cmake方式。首先需要下载相关工具支持,使用SDK Manager即可: 使用方式:新建项目时勾选这个选项: 项目结构: grad

2016-12-27 17:38:13 309

android仿58动态展开选项,动画版,加Popupwindow位置

仿58首页动态展开的选项列表,还有一个Popupwindow位置控制示例

2014-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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