Chinaunix首页 | 论坛 | 博客
  • 博客访问: 209759
  • 博文数量: 102
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1015
  • 用 户 组: 普通用户
  • 注册时间: 2013-06-05 16:45
文章存档

2014年(73)

2013年(29)

我的朋友

分类: Android平台

2014-04-29 18:37:46

20140429
1、MD5
http://blog.csdn.net/wuchuanpingstone/article/details/6715375
MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。
比如,在UNIX下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,
在这个文件中通常只有一行文本,大致结构如:  
MD5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461  
这就是tanajiya.tar.gz文件的数字签名。
比如在UNIX系统中用户的密码就是以MD5(或其它类似的算法)经加密后存储在文件系统中。
当用户登录的时候,系统把用户输入的密码计算成MD5值,然后再去和保存在文件系统中的
MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密
码的明码的情况下就可以确定用户登录系统的合法性。这不但可以避免用户的密码被具有
系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度。
01.import java.security.MessageDigest;    
02.import java.security.NoSuchAlgorithmException;    
03./**  
04. * 对外提供getMD5(String)方法  
05. * @author randyjia  
06. *  
07. */    
08.public class MD5 {    
09.        
10.    public static String getMD5(String val) throws NoSuchAlgorithmException{    
11.        MessageDigest md5 = MessageDigest.getInstance("MD5");    
12.        md5.update(val.getBytes());    
13.        byte[] m = md5.digest();//加密     
14.        return getString(m);    
15.}    
16.    private static String getString(byte[] b){    
17.        StringBuffer sb = new StringBuffer();    
18.         for(int i = 0; i < b.length; i ++){    
19.          sb.append(b[i]);    
20.         }    
21.         return sb.toString();    
22.}    
23.}    


2、Android  异步任务AsyncTask
AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用。
http://blog.csdn.net/wxg630815/article/details/7003812

AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用。


AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法。注意继承时需要设定三个泛型Params,Progress和Result的类型,如AsyncTask


?Params是指调用execute()方法时传入的参数类型和doInBackgound()的参数类型
?Progress是指更新进度时传递的参数类型,即publishProgress()和onProgressUpdate()的参数类型
?Result是指doInBackground()的返回值类型


上面的说明涉及到几个方法:


?doInBackgound() 这个方法是继承AsyncTask必须要实现的,运行于后台,耗时的操作可以在这里做


?publishProgress() 更新进度,给onProgressUpdate()传递进度参数


?onProgressUpdate() 在publishProgress()调用完被调用,更新进度


3、Excetor


4、
public abstract class A implements B不太理解
泛型技术,看完代码,你将知道很多。
public interface B {
     public T get();
}


public abstract class A implements B {
     /*实现接口的方法时,就会默认用 Object 表示返回值。*/
     public Object get() {
         //code here, and return a Object type value.
         return null;
     }



public abstract class C implements B {
     /*实现接口的方法时,就会默认用 Integer 表示返回值。*/
     public Integer get() {
         //code here, and return a Integer type value.
         return null;
     }
}


阅读(753) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~