- 博客(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 175
原创 Looper.loop死循环为什么不会卡死
1) Android中为什么主线程不会因为Looper.loop()里的死循环卡死? 这里涉及线程,先说说说进程/线程,进程:每个app运行时前首先创建一个进程,该进程是由Zygote fork出来的,用于承载App上运行的各种Activity/Service等组件。进程对于上层应用来说是完全透明的,这也是google有意为之,让App程序都是运行在Android Runtime。大多数情况一个
2017-10-29 17:26:56 3763 1
原创 Https单向认证与双向认证
一、Http HyperText Transfer Protocol,超文本传输协议,是互联网上使用最广泛的一种协议,所有WWW文件必须遵循的标准。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。 使用TCP端口为:80 二、Https Hyper Text Transfer Protocol over Secure Socke
2017-10-29 16:41:51 276
原创 深入理解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 485
原创 最全HTTPS扫肓贴
为什么需要httpsHTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。用户登陆 –> 代理服务器(做手脚)–> 实际授权服务器 在发送端对密码进行加密?没用的,虽然别人不知道你原始密码是多少,但能够拿到加密后的
2017-06-10 16:57:43 636
原创 二叉树遍历与反转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 451
原创 单链表反转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 335
原创 ActivityThread与ApplicationThread
Android应用ui是绘制在主线程中的,这个线程就是ActivityThread。 但实际上看源码发现ActivityThread并没有继承自Thread,而是一个独立的类,只是在其main方法中开了一个Looper循环消息,不断接收处理发到主线程里面的消息,比如performLaunchActivity. 而ApplicationThread也不是一个Thread,是一个Binder...
2017-06-04 15:59:52 2122
原创 自定义实现瀑布流布局
简单的瀑布流布局 用法: 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 440
原创 gradle多渠道打包
1,首先,按照umeng的要求,manifest文件中需要有 meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" /> 这段配置,value那里就是wandoujia,360之类的渠道名称,但是我们在这里不会去写渠道名,写的是一个占位符,后面gradle编译的时候会动态的替换掉它。
2017-05-02 11:46:13 241
原创 JNI NDK开发笔记
目录目录 Cmake模式 传统NDK-Build模式 基于openssl实现的3DESAESMD5RSA加解密 源码下载Cmake模式: 谷歌从AndroidStudio2.2以上就添加了Cmake方式来编译NDK代码,并从NDK例子看出,默认编译的方式就是cmake方式。 首先需要下载相关工具支持,使用SDK Manager即可: 使用方式:新建项目时勾选这个选项: 项目结构: grad
2016-12-27 17:38:13 337
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人