- 浏览: 176946 次
- 性别:
- 来自: 北京
最新评论
-
hety163:
socket并不一定是长连接吧。。。
【转】关于socket长连接的心跳包 -
u013490012:
楼主,这个加阴影不是很清楚.我按照文章介绍的,程序出错啊
Android自定义Shape 加上阴影shadow之方法 -
cz2861856:
很好的文章!
Android自定义Shape 加上阴影shadow之方法 -
ezfantasy:
好文,转走了
Android 使用xliff 格式化字符串 -
songfantasy:
ericbaner 写道Android官方blog:http: ...
Android HTTP Clients使用选择介绍
文章列表
之前有朋友问到说eclipse3.7,以及以后版本(貌似直接跳到4.2了)没有Courier New 样式,其实因为你用了window7以上系统
解决方法如下:
win7/8 中的系统字体分为"显示"和"隐藏"两种状态
当为"隐藏"状态时,其它软件程序就无法找到该字体。
解决办法是把要使用的系统字体设为显示。
如:在C:/windows/Fonts中设置Courier New 字体为显示就可以了
Android本身是支持ant打包项目的,并且SDK中自带一个build.xml文件。通过该文件,可以对文件进行编译、打包、安装等。并且支持多种方式打包,如debug或者release。一般的,可以按照如下方法进行操作:首先创建一个Android工程。工程创建好后,需要为工程添加ant支持,即创建相应的build.xml文件。这个文件不需要用户自己创建,只需要执行如下命令即可:<sdk>/tools/android update project -p <project> -t <target>其中:sdk为sdk的安装目录,其下的tools/android是我 ...
Android一些常用的颜色值
- 博客分类:
- Android
一些常用的颜色值:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<color name="white">#ffffff</color><!--白色 -->
<color name="ivory">
jar引用的资源文件必须放在assets文件夹中,并且布局文件和Drawable必须是编译过的格式,否则布局文件无法解析,一般的Drawable尺寸不正确,Nine-Patch无法拉伸。
抽取布局文件的方法如下,其中fileName必须包含assets/路径:
public static View extractView(Context context, String fileName, ViewGroup root) throws Exception { XmlResourceParser parser = context.getAssets().ope ...
当需要把一个Android导出为jar包时,如果里面有用到Resource,比如R.layout,R.id 其它程序引入这个包的时候会遇到id找不到的情况。
这是因为导出jar的时候里面的R.id已经替换为一个int常量,而在新的程序中resource id会重新生成,两者不匹配就会产生问题。
所以在这个Android工程中不能使用import com.xx.R,否则会出现问题,必须在用到资源的时候用另外一个函数去获取它的真正id.
解决办法大致就是利用java的反射机制,通过string来找到类,从而找到变量值。
方法一
public static int getId ...
【转】Android类库打包方法探究
- 博客分类:
- Android
开发Android应用的时候,对于可用于多个应用的公用的部分,或是打算发布给第三方进行应用集成的部分,要把这部分打包成类库怎么做呢?
众所周知,Android应用使用ADT打包成apk,apk中包含了运行程序所需要的一切,包括:clas ...
如果工程引入了android-support-v4的jar类库,那么在工程打包混淆时,就会出现报错提示。例如提示你:You may need to specify additional library jars (using '-libraryjars')。
这里先给出解决方案,稍后我们再来解释如何处理类似情况:
在proguar ...
根据前两周写的关于Socket编程的网络通信的代码,现在对有关知识和注意事项进行总结如下:
1.首先说下Android NIO中有关Socket编程的类:
1)ServerSocketChannel类:服务器套接字通道相当于传统IO下的ServerSocket,通过ServerSocketChannel的socket()可以获得传统的ServerSocket,反过来使用ServerSocket的getChannel()可以获得ServerSocketChannel对象;实例化ServerSocketChannel可以直接通过ServerSocketChannel的静态方法open()就可以 ...
【转】关于socket长连接的心跳包
- 博客分类:
- Android
出于最近对im研究的兴趣,看到smack里有个30s发送一个空消息的线程,了解了下关于心跳包,keepalive的知识。 TCP的socket本身就是长连接的,那么为什么还要心跳包呢?
搜索到的资料解释如下:
一:内网机器如果不主动向外发起连接,外网机没法直连内网的,这也是内网机安全的原因之一吧,又因为路由器会把这个关系记录下来,但是过一段时间这个记录可能会丢失 ,所有每一个客户端每隔一定时间就会向服务器发送消息,以保证服务器可以随时找到你,这东西被称为心跳包。
二:理论上说,这个连接是一直保持连接的,但是实际情况中,如果中间节点出现什么故障是难以知道的。更要命的是,有的节点(防火墙)会 ...
17.3.1 如何处理慢速的连接
对企业级的服务器软件,高性能和可扩展性是基本的要求。除此之外,还应该有应对各种不同环境的能力。例如,一个好的服务器软件不应该假设所有的客户端都有很快的处理能力和很好的网 ...
【转】Java 加密解密基础
- 博客分类:
- Android
Java 加密解密基础
密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。
密码学常用术语
明文: 待加密数据。
密文: 明文经过加密后数据。
加密: 将明文转换为密文的过程。
加密算法: 将明文转换为密文的转换算法。
加密密钥: 通过加密算法进行加密操作的密钥。
解密: 将密文转换为铭文的过程。
解密算法: 将密文转换为明文的转换算
引言现有的大部分RSA算法实现都遵循PKCS#1 v2.1/v1.5 (2002/1993)。根据PKCS#1的建议,公钥指数e是可以选取较小的素数3或65537(=2^16+1)。这样选取主要是为了提高加密或签名验证的性能,因为3或65537分别只需要2或17次模乘运算,而一个随机选择的e(假设n是1024-bit)则大约需要1000次。这种选用小公钥指数的方法使用户相信RSA在签名验证和加密操作方面确实要比“以高效著称的ECC”还要高效很多。
然而在选用小公钥指数时,有很多人则更倾向于选e=65537而不是e=3,他们认为3“似乎不安全”,然而又给不出所以然。今天我想说的是,在“正 ...
【转】RSA加密的填充模式
- 博客分类:
- Android
跟DES,AES一样, RSA也是一个块加密算法( block cipher algorithm),总是在一个固定长度的块上进行操作。
但跟AES等不同的是, block length是跟key length 以及所使用的填充模式 有关的。
1)RSA_PKCS1_PADDING 填充模式,最常用的模式
要求:输入 必须 比 RSA 钥模长(modulus) 短至少11个字节, 也就是 RSA_size(rsa) – 11如果输入的明文过长,必须切割, 然后填充
输出 和modulus一样长
根据这个要求,对于512bit的密钥, block length = 512/8 – 11 ...
【转载】RSA数字签名与加密、解密间的关系
- 博客分类:
- Android
转载提及RSA,大家会想到公钥、私钥、加密、解密、数字签名、数字信封。。。但也许大家和曾经的我一样,对其中的某些理解会存在误区,最近看了下关于RSA的RFC 2313文档,再加上自己的一些测试,终于理清了其中的一些 ...
unbuntu10.04安装java6问题 Package 'sun-java6-jdk' has no installation candidate
解决方法:
1. sudo gedit
2. 打开 /ect/apt/sources.list
3. 添加一行
deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse
4. 保存关闭gedit
5. 运行 sudo apt-get update
6.再运行sudo apt-get install sun-java6-jdk