- 博客(161)
- 资源 (32)
- 收藏
- 关注
转载 maven学习
一、下载及安装1.1 下载maven 3.1.1先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.1.1 ),下载完成后,解压到某个目录(本文中是C:\Java\maven-3.1.1) 2.1 配置环境变量系统环境变量里,添加MAVEN_HOME(或M2_HOME),其值为C:\Java\maven-
2015-08-19 22:39:21
586
原创 Android 事件分发机制
1、基础知识(1) 所有 Touch 事件都被封装成了 MotionEvent 对象,包括 Touch 的位置、时间、历史记录以及第几个手指(多指触摸)等。(2) 事件类型分为 ACTION_DOWN, ACTION_UP, ACTION_MOVE, ACTION_POINTER_DOWN, ACTION_POINTER_UP, ACTION_CANCEL,每个事件都是以 ACTI
2015-08-19 22:20:18
612
原创 Java 中的事件监听机制
看项目代码时遇到了好多事件监听机制相关的代码,现学习一下:java事件机制包括三个部分:事件、事件监听器、事件源。1.事件:继承自java.util.EventObject类,开发者自定义。package com.shuyan.javatest.EventTest;import java.util.EventObject;public class DnsEvent exte
2015-07-23 17:21:10
1248
转载 Java注解 Annotation
注解处理器类库(java.lang.reflect.AnnotatedElement): Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotation类型的父接口。除此之外,Java在java.lang.reflect 包下新增了AnnotatedElement接口,该接口代表程序中可以接受注解的程序元素,该接口主要有如下几个实现类: Clas
2015-07-14 14:53:35
511
转载 正确理解ThreadLocal
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的操作
2015-07-14 10:31:59
556
转载 Callable接口和Runnable接口
1、Java代码 public interface Executor { /** * Executes the given command at some time in the future. The command * may execute in a new thread, in a pooled thread
2015-07-13 17:49:30
526
转载 ExecutorService与Executors例子的简单剖析
对于多线程有了一点了解之后,那么来看看java.lang.concurrent包下面的一些东西。在此之前,我们运行一个线程都是显式调用了Thread的start()方法。我们用concurrent下面的类来实现一下线程的运行,而且这将成为以后常用的方法或者实现思路。 看一个简单的例子: public class CacheThreadPool {
2015-07-13 17:39:36
542
转载 JVM运行时是什么样子
Java是在JVM上运行的,那么JVM运行时是什么样子?对于JVM运行时的数据区的理解用一个图来显示很形象,下面的图显示JVM运行时的数据区。每个线程的数据区从图中可以看出,每个线程有program counter register(程序计数器),JVM Stack(JVM栈),和Native Method Stack(本地方法栈)。 这三个区域都是基于每一
2015-07-08 21:59:01
487
转载 深入浅出 RPC - 深入篇
RPC 功能目标RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用,在前文《浅出篇》中给出了一种实现结构,基于 stub 的结构来实现。下面我们将具体细化 stub 结构的实现。RPC 调用分类RPC 调用分以下两种:
2015-07-08 16:13:23
1090
原创 Android 将对象上传至服务端
思路:将Javabean对象转换成json字符串,然后将json字符串作为一个参数,传递到服务端,服务端servlet通过request.getParameter("studentinfo"),得到json字符串,最后将此json字符串转换成javabean即可。实例代码:android端: UserInfo mUserInfo = userInfoService.getUserInf
2015-06-05 16:02:18
1425
转载 Android-Async-Http 快速使用
先来看一下最基本的用法AsyncHttpClient client = new AsyncHttpClient();client.get("http://www.google.com", new AsyncHttpResponseHandler() { @Override public void onSuccess(String response) { S
2015-05-21 16:42:08
628
原创 Android Universal Image Loader 使用
1. 功能介绍1.1 Android Universal Image LoaderAndroid Universal Image Loader 是一个强大的、可高度定制的图片缓存,本文简称为UIL。简单的说 UIL 就做了一件事——获取图片并显示在相应的控件上。1.2 基本使用1.2.1 初始化添加完依赖后在Application或Activity中初始
2015-05-14 21:24:26
992
原创 分享组件使用记录
应用中经常使用到分享组件,当然,很多第三方都提供了社交分享,像ShareSDK、友盟都有很好的集成。今天记录一下集成的细节:①无论分享到哪个平台,都需要到这个平台注册相应的应用。②以分享到微信、朋友圈、微博为例:/** * */public class Constant { // 微信 public static final String AppID = "wx911
2015-05-13 01:20:45
1364
原创 ListView滑动菜单
项目中使用到了listview中item滑动效果,找了几个,最后发个一个很不错的Swipemenulistview,记录下来,以备后用github上的一个开源库,非常好用,git地址:https://github.com/baoyongzhang/SwipeMenuListView使用方法也很简单运行效果:使用说明:将Swipemen
2015-04-26 16:53:57
1886
原创 十六进制Unicode编码字符串与中文字符串的相互转换
图书馆客户端项目中遇到的一个问题,得到的URL 是这样的 String baseurl = "http://innopac.lib.xjtu.edu.cn/availlim/search~S1*chx?/X{u848B}{u4ECB}{u77F3}&searchscope=1&SORT=DZ/X{u848B}{u4ECB}{u77F3}&searchscope=1&SORT=DZ&exte
2015-04-22 02:16:21
18887
原创 Error parsing XML: unbound prefix on library 解决方法
当使用自定义的控件时,XML中报了Error parsing XML: unbound prefix on library 的错,折腾了半天,终于发现,只需要在 root layout 下添加xmlns:app="http://schemas.android.com/apk/res-auto"即可,参考:http://stackoverflow.com/questions/18871005/e
2015-04-21 01:17:32
938
原创 下拉刷新SwipeRefreshLayout的扩展两个方向
也许之前下拉刷新你可能会用到一些第三方开源库,如PullToRefresh, ActionBar-PullToRefresh等,但现在已经有官方的组件了---SwipeRefreshLayout,SwipeRefreshLayout是Google在support v4 19.1版本的library更新的一个下拉刷新组件,使用起来很方便,可以很方便的实现Google Now的刷新效果。使用官方自带的
2015-04-21 01:10:44
1531
原创 使用讯飞语音的语音听写
准备在项目中使用语音搜索,讯飞语音SDK给了比较完整的案例,这里只用到了其中最简单的语音听写功能(语音转文字),正确率还是很高的。下面是从SDK中抽出的测试代码:准备工作参考讯飞开发平台:http://www.xfyun.cn/default/doccenter/doccenterInner?itemTitle=YXdk语音听写部分很简单,官网指导为://1.创建SpeechRec
2015-04-08 21:00:41
5513
转载 Android 数据库升级中数据保持和导入已有数据库
一.数据库升级: 在我们的程序中,或多或少都会涉及到数据库,使用数据库必定会涉及到数据库的升级,数据库升级带来的一些问题,如旧版本数据库的数据记录的保持,对新表的字段的添加等等一系列问题,还记得当我来西安的时候,面试的第二家公司,做音乐播放客户端的,就问到了这个问题; 我们开发了一个程序,当前是1.0版本。该程序用到了数据库。到1.1版本时,在数据库的某个表中增加了一个字段。那
2015-03-20 11:31:19
590
原创 移动APP如何保存用户密码
为了更好的用户体验,移动APP客户端一般都会将用户信息进行保存以便后续可以自动登录.保存了用户信息便涉及到了安全问题.解决的方法大概有一下几种:1.首先,如果客户端和服务端都是你来设计开发,那么有两种比较可靠的方案A.客户端将密码Hash加密,登录成功后将hash值保存到Sqlite.服务端得到用户名和hash值,采用同样的算法对密码进行Hash运算,然后和用户传来的hash值
2015-03-19 11:40:20
4266
原创 SSL探索03
本文探索Openssl的Engine机制.Openssl硬件引擎(Engine)能够使用户比较容易地将自己的硬件加入到openssl中去,替换其提供的软件算法.ENGINE 是 OPENSSL 预留的用以加载第三方加密库引擎,主要包括了动态库加载的代码和加密函数指针管理的一系列接口.如果要使用 Engine(假设你已经加载上 该 Engine 了 ) , 那 么 首 先 要 加 载 该En
2015-03-18 15:55:52
939
原创 SSL探索02
这篇文章探索TLS -ticket 的重用机制.完整的SSL握手过程为:Client Server ClientHello (empty SessionTicket extension)-------->
2015-03-16 16:06:24
1426
原创 SSL探索01
1. OPENSSL简介OpenSSL项目是一个协作开发一个健壮的,商业级的,全功能的,并且开放源代码工具包,它实现了安全套接字层(SSL v2/v3)和传输层安全(TLS v1)协议以及全强大的通用加密库。2.使用SSL进行安全IO使用SSL进行安全IO与原本的socketIO通信区别不大,只是增加了SSL部分内容.下面说明SSL IO的基本过程:客户端流程① // SS
2015-03-16 15:31:29
1239
转载 加盐密码哈希:如何正确使用
如果你是Web开发者,你很可能需要开发一个用户账户系统。这个系统最重要的方面,就是怎样保护用户的密码。存放帐号的数据库经常成为入侵的目标,所以你必须做点什么来保护密码,以防网站被攻破时发生危险。最好的办法就是对密码进行加盐哈希,这篇文章将介绍它是如何做到这点。在对密码进行哈希加密的问题上,人们有许多争论和误解,这大概是由于网络上广泛的误传吧。密码哈希是一件非常简单的事情,但是依然有很多人理
2015-03-12 15:24:59
867
转载 指针函数与函数指针的区别
一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变
2015-03-09 21:39:15
429
原创 java.nio.Buffer flip()方法
英文API:Flips this buffer. The limit is set to the current position and then the position is set to zero. If the mark is defined then it is discarded.flip()方法 flip方法将Buffer从写模式切换到读模式。调用flip()方法会将p
2015-02-11 22:11:53
3020
转载 Object.clone()方法
首先,看一下源码:1 public class Object {2 protected native Object clone() throws CloneNotSupportedException;3 } 由源代码我们会发现: 第一:Object类的clone()方法是一个native方法,native方法的效率一般来说都是远高于Java中的非nat
2015-02-09 15:45:36
1929
原创 Ubuntu 下ADB shell 报错 error: device not found
ubuntu环境下执行adb shell 时报错 error: device not found.解决方法:1.使用lsusb 查看usb设备,如下红色部分对应的就是android设备Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 r
2015-02-04 14:23:36
14146
1
转载 Android利用Fiddler进行网络数据抓包
转载自:http://www.trinea.cn/android/android-network-sniffer/主要介绍Android及IPhone手机上如何利用Fiddler进行网络数据抓包,比如我们想抓某个应用(微博、微信、墨迹天气)的网络通信请求就可以利用这个方法。 Mac 下请使用 Charles 代替 Fiddler,Charles 免费激活码为Regist
2015-02-03 22:15:28
854
转载 HTTP协议详解
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HT
2015-02-03 20:01:18
622
原创 使用socket、httpclient 文件上传
这个功能经常需要用到,索性完整的总结一下:代码很简单,服务端:package com.shuyan.servlet;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.List;im
2015-02-03 11:35:00
1735
原创 文件上传时异常Processing of multipart/form-data request failed. Stream ended unexpectedly at org.apache.com
当上传文件遇到Processing of multipart/form-data request failed. Stream ended unexpectedly at org.apache.commons.fileupload.FileUploadBase.parseRequest这个错误时,很有可能是传输数据时编码的问题。如POST上传数据时,使用socket拼接的方式上传,POST
2015-02-02 19:42:32
10947
转载 再谈应用环境下的TIME_WAIT和CLOSE_WAIT
昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下:http://blog.youkuaiyun.com/shootyou/article/details/6615051里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态。在服务器的日常维护过程中,会经常用到下面的命令:[plain] view plain
2015-01-30 10:51:32
675
转载 How to Call Java Functions from C Using JNI
http://www.codeproject.com/Articles/22881/How-to-Call-Java-Functions-from-C-Using-JNI还是没成功,不搞了,累死劳资了.下次再弄吧
2015-01-29 14:49:44
585
原创 Http 响应头中Transfer-Encoding: chunked
在http 的响应头中有时会见到这样的字段:Transfer-Encoding: chunked,这是一种分段传输数据的方式。如果对此格式不了解,直接将响应体以某一编码转换成字符串,就会出现乱码。result = new String(data, "utf-8");data为接受的数据。分块传输编码(Chunked transfer encoding)是超文本传输协议(HTTP)中的一
2015-01-28 17:05:24
6103
1
转载 Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案
转载请注明出处:http://blog.youkuaiyun.com/xiaanming/article/details/9401981ADB server didn't ACK 这个问题会困恼很多的新手朋友,我以前刚开始做Android的时候也遇到过这个问题,不过自己百度,google啥的,也不知道怎么就给解决了,看到群里很多新手朋友都会问这个问题,说实话我也没有一个解决这个问题的终极方法(百试百灵
2015-01-24 22:01:59
792
原创 NDK学习---hello JNI例子
1.首先是写java代码建立一个Android应用工程HelloJni,创建HelloJni.java文件:HelloJni.java :/* * Copyright (C) 2009 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "Lic
2015-01-23 20:30:59
1068
转载 学习 shell脚本之前的基础知识
返回网站首页linux入门教程搜索第十二章 学习 shell脚本之前的基础知识日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员。目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目。有的单位甚至用shell脚本的编写能力来衡量这个linux系统管理员的经验是否丰富。笔者讲这些的目的只有一个,那就
2015-01-22 22:18:34
695
转载 bash中 2>&1 & 的解释
1、首先,bash中0,1,2三个数字分别代表STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO,即标准输入(一般是键盘),标准输出(一般是显示屏,准确的说是用户终端控制台),标准错误(出错信息输出)。2、输入输出可以重定向,所谓重定向输入就是在命令中指定具体的输入来源,譬如 cat 1.txt将ls的结果从标准输出重定向为1.txt文本。有时候会看到如 l
2015-01-22 20:57:05
592
转载 OPENSSL编程入门学习
相关学习资料http://bbs.pediy.com/showthread.php?t=92649https://www.openssl.orghttps://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CDoQFjAD&url=http%3a%2f%2fidning-ebook%2egooglec
2015-01-22 16:22:09
868
Contentprovider Android
2014-11-05
2012Android开发人员必看的资料
2013-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人