自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (4)
  • 收藏
  • 关注

原创 前端知识总结

Echarts 文档

2017-04-26 11:24:37 507

原创 android点滴积累

Fragment 踩过的坑(动画,重叠,降低耦合,转场动画,状态监听)https://gold.xitu.io/post/58670e05ac502e006d65aa72android RecyclerView 使用解析http://blog.csdn.net/lmj623565791/article/details/45059587android博客周刊h

2017-01-04 16:23:35 765

原创 android高仿微信表情输入与键盘输入(详细实现分析)

http://blog.csdn.net/javazejian/article/details/52126391

2016-12-28 10:01:34 510

转载 Android无源码调试APK(使用ApkTool和Eclipse ADT)

Android无源码调试APK

2016-12-12 09:48:10 690

转载 如何对apk文件进行签名

有没有发现自己重新打包过后的apk程序无法安装到手机上?那是因为你的程序没有签名或者签名不对。下面就简单介绍一下如何对apk文件进行签名。请确保你的机器上已经安装了JDK。1)首先第一步要生成一个签名用的证书,这个可以用Java自带的工具来做进入到JDK安装路径下的bin目录下,或者在环境变量PATH中加入这个目录,然后敲入命令:[cpp] view plain c

2016-12-12 09:46:00 742

转载 Android上玩玩Hook:Cydia Substrate实战

了解Hook还没有接触过Hook技术读者一定会对Hook一词感觉到特别的陌生,Hook英文翻译过来就是“钩子”的意思,那我们在什么时候使用这个“钩子”呢?我们知道,在Android操作系统中系统维护着自己的一套事件分发机制。应用程序,包括应用触发事件和后台逻辑处理,也是根据事件流程一步步的向下执行。而“钩子”的意思,就是在事件传送到终点前截获并监控事件的传输,像个钩子勾上事件一样。并且能够

2016-12-09 16:35:09 556

原创 Android 7.0 开发者版本

https://developer.android.google.cn/about/versions/nougat/android-7.0.html#tile_api

2016-12-08 16:24:11 417

原创 StrictMode的使用之消除卡顿

StrictMode的使用StrictMode用来基于线程或VM设置一些策略, 一旦检测到策略违例, 控制台将输出一些警告,包含一个trace信息展示你的应用在何处出现问题.通常用来检测主线程中的磁盘读写或网络访问等耗时操作.在Application或是Activity的onCreate中开启StrictMode: public void onCre

2016-11-17 10:31:37 470

原创 Android访问网络,使用HttpURLConnection还是HttpClient?

原文地址:http://android-developers.blogspot.com/2011/09/androids-http-clients.html大多数的Android应用程序都会使用HTTP协议来发送和接收网络数据,而Android中主要提供了两种方式来进行HTTP操作,HttpURLConnection和HttpClient。这两种方式都支持HTTPS协议、以流的形式进行上传和下载、配

2016-11-11 15:19:19 407

转载 Android HTTPS详解

HTTPS原理HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的。HTTPS协议是在HTTP协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议。所以,研究HTTPS协议原理,最终就是研究SSL/TLS协议。不使用SSL/TLS的HTTP通信,就是不

2016-11-11 14:13:55 601

转载 Android产品研发 -->减小Apk大小

转载一片枫叶的专栏随着移动技术的深入发展,各种炫酷效果的更新,在我们追求UI与UE的同时一个不如忽视的问题逐渐暴露出来,那就是apk文件越来越大,可能有的童鞋会说现在都是wifi环境,apk文件增大几M不是什么大不了的问题,这其实也是有一定道理的,但是作为开发人员的我们这绝不是我们认为可以忽略这个问题的理由。优化Apk大小也是优化我们App体验的一个重要方面,虽然可能它不是那么的重要。

2016-10-28 15:06:38 360

原创 Jetty使用攻略

jetty作为一款小型的web容器用处很大,因为其小巧强大,经常作为嵌入式的组件处理http交互。 Jetty 作为一个独立的 Servlet 引擎可以独立提供 Web 服务,但是它也可以与其他 Web 应用服务器集成,所以它可以提供基于两种协议工作,一个是 HTTP,一个是 AJP 协议,本文介绍jetty处理http请求的应用。 实际上 Jetty 的工作方式非常简单,当 Jetty 接受到一

2016-09-26 20:41:32 3648 1

原创 Jetty实战之嵌入式Jetty集成Spring运行

本文链接:http://blog.csdn.net/kongxx/article/details/7227107首先修改pom.xml文件,添加spring的依赖项 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

2016-09-26 19:03:27 4450

原创 Jetty实战之 嵌入式运行Jetty实现简单文件服务器

本文链接:http://blog.csdn.net/kongxx/article/details/7224423对于嵌入式运行Jetty,可以通过简单的一些代码实现一个简单的文件服务器的功能,如下:package com.google.code.garbagecan.jettystudy.sample3; import org.eclipse.jetty.server.Handler; imp

2016-09-26 17:41:34 827

原创 Jetty实战之 嵌入式运行Jetty多Connector

本文地址:http://blog.csdn.net/kongxx/article/details/7218787在嵌入运行Jetty的时候,有时候想要启动两个端口,或者通过一个Jetty server提供多个不同服务,比如说使用8080来指定默认访问端口,使用8433指定https访问端口等等,此时就可以通过创建多个Connector来解决。首先创建一个Server类,其中创建了两个Connect

2016-09-26 17:37:43 383

原创 jetty介绍之handler

嵌入一个jetty服务一般会有下面几步,创建Server,加载Connectors,加载handlers,加载Servlets等,启动服务start,最后加入服务器join。一个Jetty Server可以看成由一下几部分组成,其中Connector负责接收客户端的HTTP请求,请求的处理是由Handler来完成的。Handler在Jetty中是一个非常重要的东西,Jetty内部实现了一些Hand

2016-09-26 16:58:09 5178

原创 对图片做处理的一个的工具类

话不多说直接上代码,一切话都在代码中。package com.example.demo;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;

2016-09-21 10:13:55 775

原创 Android客户端和服务器以TCP&&UDP方式互通之Socket通信原理

一、Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信。两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据。而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求。 那么

2016-09-19 15:30:37 1608

原创 LinkedHashMap的实现原理解析

1. LinkedHashMap概述:   LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。   LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序

2016-09-11 16:43:44 615

原创 Android应用AsyncTask处理机制详解及源码分析

工匠若水 http://blog.csdn.net/yanbober1 背景当使用线程和Handler组合实现异步处理时,当每次执行耗时操作都创建一条新线程进行处理,性能开销会比较大。为了提高性能我们使用AsyncTask实现异步处理(其实也是线程和handler组合实现),因为其内部使用了java提供的线程池技术,有效的降低了线程创建数量及限定了同时运行的线程数,还有一些

2016-09-02 09:50:07 626

原创 hashMap的实现原理解析

聊到HashMap我们通常会联系到HashTable,那么就让先来说一下他们们的区别。下面有些是看别人分享的路径是:http://blog.csdn.net/vking_wang/article/details/14166593   加上自己的总结。HashMap和Hashtable的区别HashMap和Hashtable都实现了Map接口,但决定用哪一个之

2016-09-01 14:15:43 550

原创 JavaScript进阶篇

浏览器对象      window对象JavaScript 计时器计时器setInterval()语法:setInterval(代码,交互时间);参数说明:1. 代码:要调用的函数或要执行的代码串。2. 交互时间:周期性执行或调用表达式之间的时间间隔,以毫秒计(1s=1000ms)。返回值:一个可以传递给 clea

2016-08-30 19:33:18 1529

原创 LRU缓存实现(Java)

LRU是Least Recently Used 的缩写,翻译过来就是“最近最少使用”,LRU缓存就是使用这种原理实现,简单的说就是缓存一定量的数据,当超过设定的阈值时就把一些过期的数据删除掉,比如我们缓存10000条数据,当数据小于10000时可以随意添加,当超过10000时就需要把新的数据添加进来,同时要把过期数据删除,以确保我们最大缓存10000条,那怎么确定删除哪条过期数据呢,采用LRU算法

2016-08-27 10:31:18 740

原创 Fresco 与 Picasso 、Glide 的比较

比较Picasso、Glide 和 Fresco 三种图片加载库比较 Picasso 与 Glide总体来说二者极为相似,有着近乎相同的 API 的使用风格,但 Glide 在缓存策略和加载 gif 方面略胜一筹。基础Glide 和 Picasso 非常相似,Glide 加载图片的方式和 Picasso 如出一辙。虽然两者看起来一样,但 Glid

2016-08-26 11:21:06 9179 2

转载 Fresco-加载图片基础[详细图解Fresco的使用]

Fresco简单的使用—SimpleDraweeView转自:http://blog.csdn.net/y1scp/article/details/49245535百学须先立志—学前须知:在我们平时加载图片(不管是下载还是加载本地图片…..)的时候,我们经常会遇到这样一个需求,那就是当图片正在加载时应该呈现正在加载时的图像,当图片加载失败时应该呈现图片加载时的图像,当我们重新加

2016-08-25 14:39:54 2516

转载 让我们来聊一聊插件化吧---高深莫测

现如今插件化的思想和应用在Android上越来越多了,各式各样的方案也是层出不穷,这篇文章旨在告诉大家插件化的核心思想是什么,又有什么样的实现方式。前言首先,这篇文章的题目为什么不沿用我之前xxxx!xxxxx这样的风格呢,因为我觉得这样风格太中二了。。其次,我写这篇文章的原因是因为前些时候看到有大神写了一篇文章Android 插件化的 过去 现在 未来,里面的内容很不错,特别

2016-08-25 10:32:55 1331

原创 Android 性能优化之使用线程池处理异步任务

说到线程,我想大家都不陌生,因为在开发时候或多或少都会用到线程,而通常创建线程有两种方式:1、继承Thread类2、实现Runnable接口虽说这两种方式都可以创建出一个线程,不过它们之间还是有一点区别的,主要区别在于在多线程访问同一资源的情况下,用Runnable接口创建的线程可以处理同一资源,而用Thread类创建的线程则各自独立处理,各自拥有自己的资源。所以,在Java中大多数多线程程序都

2016-08-24 11:46:28 3575 3

原创 Android 内存管理 &Memory Leak & OOM 分析

1、Android 进程管理&内存Android主要应用在嵌入式设备当中,而嵌入式设备由于一些众所周知的条件限制,通常都不会有很高的配置,特别是内存是比较有限的。如果我们编写的代 码当中有太多的对内存使用不当的地方,难免会使得我们的设备运行缓慢,甚至是死机。为了能够使得Android应用程序安全且快速的运行,Android 的每个应用程序都会使用一个专有的Dalvik虚拟机实例来运行,它是由Z

2016-08-18 17:26:22 676

原创 Android 内存优化 (防Memory Leak)

Android Memory Leak 和 OOM为什么会发生。这次主要说说编码层面,如何来预防Memory Leak的发生。对象都是有生命周期的,对象的生命周期有的是进程级别的,有的是Activity所在的生命周期,随Activity消亡;有的是Service所在的生命周期,随Service消亡。很多情况下判断对象是否合理存在的一个很重要的理由就是它实际的生命周期是否符合它本来的生命周期。很

2016-08-18 17:25:33 499

原创 文本编辑工具 vim

它是linux中必不可少的一个工具。没有它很多工作都无法完成。早期的Unix都是使用的vi作为系统默认的编辑器的。你也许会有疑问,vi与vim有什么区别?可以这样简单理解,vim是vi的升级版。很多linux系统管理员都习惯用vi,那是因为他们接触linux的时候用的就是vi,vim后来才比较流行。所以,无所谓用vi和vim,只要你能达到你想要的目的即可。在笔者看来vi 和vim最大的区别就是

2016-08-18 09:55:31 513

转载 android中常用的技巧

这里收集了大家常用的一些Android代码,持续更新中,内容来自自己的平时积累和网络上看到的文章,部分原文地址在最下方。如有错误欢迎指正,如有侵权,请联系我删除。里面可能会有重复内容,请忽略或者提醒我删除。setBackgroundResource(0) 可以移除 View 的背景色Resources.getSystem().getDisplayMetrics().dens

2016-08-16 15:55:32 1238

原创 Android+NDK

Android开发文档   Android中文API开源代码  几乎每天都有更新 23code  更新的不是特别频繁,但还是不错 开源项目  这个是Github上比较经典的 MaterialDesign  这个MaterialDesign比较多的开源项目 eoe  eoe论坛 安卓巴士论坛   安卓巴士论坛 网友收集整理Github项

2016-08-11 13:57:59 453

转载 JNI官方中文资料

声明该篇文章完全引用自《JNI完全手册》完整版,用来方便查询查阅,同时作为该系列教程的基础知识。感谢原文档作者。文档所依赖的版本是比较低的,但是恰恰是低版本才能更容易上手学习。文档也有些枯燥,适合开发中参考查询和粗略概况性 的浏览掌握大局使用,也是下来几篇的基础性指导文档。下来几篇不会再解释代码简单函数释义,只会说重点,遇到不懂的来 这篇文章搜索函数名即可查阅函数详情。设计概述

2016-08-11 10:42:54 6048

转载 JNI/NDK开发指南(九)---JNI异常处理

异常简介异常,显而意见就是程序在运行期间没有按照正常的程序逻辑执行,在执行过程当中出现了某种错误,导致程序崩溃。在Java中异常分为运行时异常(RuntimeException)和编译时异常,在程序中有可能运行期间发生异常的逻辑我们会用try…catch…来处理,如果没有处理的话,在运行期间发生异常就会导致程序奔溃。而编译时异常是在编译期间就必须处理的。本章主要介绍运行时异常。 示例1:

2016-08-10 16:50:55 463

转载 JNI/NDK开发指南(八)---JNI调用性能测试及优化

在前面几章我们学习到了,在Java中声明一个native方法,然后生成本地接口的函数原型声明,再用C/C++实现这些函数,并生成对应平台的动态共享库放到Java程序的类路径下,最后在Java程序中调用声明的native方法就间接的调用到了C/C++编写的函数了,在C/C++中写的程序可以避开JVM的内存开销过大的限制、处理高性能的计算、调用系统服务等功能。同时也学习到了在本地代码中通过JNI提供的

2016-08-10 14:13:07 2494

转载 JNI/NDK开发指南(七)---调用构造方法和父类实例方法

我们先回过一下,在Java中实例化一个对象和调用父类实例方法的流程。先看一段代码:package com.study.jnilearn;public class Animal { public void run() { System.out.println("Animal.run..."); }}package com.study.jnilearn;p

2016-08-10 11:58:33 551

转载 JNI/NDK开发指南(五)---C/C++访问Java实例方法和静态方法

通过前面5章的学习,我们知道了如何通过JNI函数来访问JVM中的基本数据类型、字符串和数组这些数据类型。下一步我们来学习本地代码如何与JVM中任意对象的属性和方法进行交互。比如本地代码调用Java层某个对象的方法或属性,也就是通常我们所说的来自C/C++层本地函数的callback(回调)。这个知识点分2篇文章分别介绍,本篇先介绍方法回调,在第七章中介绍本地代码访问Java的属性。在这之前,先

2016-08-10 09:02:40 855

转载 JNI/NDK开发指南(四)--访问数组(基本类型数组与对象数)

JNI中的数组分为基本类型数组和对象数组,它们的处理方式是不一样的,基本类型数组中的所有元素都是JNI的基本数据类型,可以直接访问。而对象数组中的所有元素是一个类的实例或其它数组的引用,和字符串操作一样,不能直接访问Java传递给JNI层的数组,必须选择合适的JNI函数来访问和设置Java层的数组对象。阅读此文假设你已经了解了JNI与Java数据类型的映射关系,如果还不了解的童鞋,请移步《JNI/

2016-08-09 17:19:56 628

转载 JNI/NDK开发指南(三)---Android NDK开发Crash错误定位

在Android开发中,程序Crash分三种情况:未捕获的异常、ANR(Application Not Responding)和闪退(NDK引发错误)。其中未捕获的异常根据logcat打印的堆栈信息很容易定位错误。ANR错误也好查,Android规定,应用与用户进行交互时,如果5秒内没有响应用户的操作,则会引发ANR错误,并弹出一个系统提示框,让用户选择继续等待或立即关闭程序。并会在/data/a

2016-08-09 16:17:52 1272

转载 JNI/NDK开发指南(二)---字符串处理

typedef unsigned char jboolean;typedef unsigned short jchar;typedef short jshort;typedef float jfloat;typedef double jdouble;typedef int jint;#ifdef _LP64 /* 64-b

2016-08-09 15:53:16 671

Linux 命令大全完整版

2016-08-05

获取当前运行的程序

获取当前运行的应用

2016-08-04

数据结构与算法分析

想学习数据结构和算法的可以下载来看看。

2016-07-28

android-support-v7-recyclerview

android design包中的新控件架包

2016-01-18

空空如也

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

TA关注的人

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