`
弄月吟风
  • 浏览: 197123 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
https与http的通信,在我看来主要的区别在于https多了一个安全验证机制,而Android采用的是X509验证,首先我们需要这重写X509类,建立我们的验证规则、、不过对于特定的项目,我们一般都是无条件信任服务端的,因此我们可以对任何证书都无条件信任(其实本质上我们只是信任了特定url的证书,为了偷懒,才那么选择的)/** * 信任所有主机-对于任何证书都不做检查 */ class MytmArray implements X509TrustManager { public X509Certificate[] getAcceptedIssuers() { // ret ...
这个加密是比较简单的加密,并没有什么技巧性,只是给不了解的人提供一个加密思路、、加密算法用的比较简略,如果需要的话,可以用md5来加密啊,这样安全性比较高!File file = new File(imgPath); byte buffer[] = new byte[1024]; try { FileInputStream in = new FileInputStream(file); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); int length = ...
这是我封装的一个多媒体工具类,所有调用都是基于系统多媒体库的! 多媒体工具类:package com.team618.mediatest.cn; import java.io.ByteArrayOutputStream; import java.io.File; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import andro ...
我们只需要知道网页的域名,就可以将它转化为我们所需要的IP//将域名转换为IP public static String GetInetAddress(String host){ String IPAddress = ""; InetAddress ReturnStr1 = null; try { ReturnStr1 = java.net.InetAddress.getByName(host); IPAddress = ReturnStr1.getHostAddress(); } catch (UnknownHostExcep ...
在android的多线程开发中,我们对于ProgressDialog用的比较多,但是我们用的时候会发现一个问题,就是按返回键没法关闭。刚开始的时候我也是这样,每次看到别人的对话框能够关闭,而自己的却关闭掉,不自觉的羡慕!然后每次都是重写返回键按钮,来控制,今天看到这个对话框的一条属性,感觉豁然开朗啊!我们只要在创建对话框的时候设置progressDialog.setCancelable(true);一条属性就可以了,这样你按返回键就会关闭对话框了。 自己封装了一个常用的方法public ProgressDialog getProgressDialog(String msg) { Prog ...
首先我说一下,这个代码还是有一些缺陷的,比如只年显示你自己想要输出的日志程序,系统自动生成的日志不能输出;其次里面有一个删除日志的代码也有一个缺陷,就是只能删除7天前的日志,如果8天前,则不能进行删除。可能有些人觉得我这样封装没有任何意义,但是这样的封装可以为你的开发带来极大的便利,比如程序在测试的时候,对方没有开发环境,无法查看日志输出,而你又不在现场,或者你不能重现对方的错误,那么这时候日志输出到文件就显得尤为重要了,其次日志开关可以让你在正式交付时,关闭日志输出。本代码使用十分方便,比如:MyLog.i("OK","OK");   import ...
本文章是转载的,原文地址:http://easion-zms.iteye.com/blog/981568 在调试的时候一般都是在logcat中看日志的信息,以便找出BUG和调试信息,但是如果在真机上的话不可能一直连接电脑查看日志,所以生成日志文件并保存,是一个比较普遍的需求,下面就是最近实现的一个例子。欢迎大家讨论并给出别的思路。     import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; impor ...
关于对话框,我们都应该比较熟悉了吧,但是我们比较常用的还是自定义对话框,然而在自定义对话框中我们都比较讨厌对话框的标题,因为这影响了对话框的美观,那么我们怎么样来做没有标题的对话框呢?首先我们首先我们需要定义一个对话框的xml文件,这个文件是我们自定义对话框的显示界面,自定义对话框的xml文件大家写出来应该没有问题的吧、、然后接下来我们在res下面的values里面下一个styles.xml文件: <?xml version="1.0" encoding="utf-8"?> <resources>      <style ...
在Android上的xml解析方法又三种,SAX,DOM,和Pull解析器,关于这三种方案的解析效率其实本质上是没什么区别的,但是我们在编程的时候根据不同的需求进行选择,比如只需要读取xml内容的时候,我们就可以选择SAX或者Pull进行, ...
关于http通信的其实自己也不是很懂,就是略微知道一些基本的通信方法 方法1:    DefaultHttpClient httpclient = new DefaultHttpClient();// 创建http客户端    HttpGet httpget = new HttpGet(httpUrl);     HttpResponse response = httpclient.execute(httpget);    HttpEntity entity = response.getEntity();//得到http的内容    response.getStatusLine ...
算法描述  对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。  在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在在这个结果后面附加一个以64位二进制表示的填充前信息长度。经 ...
题目大意:本题给我们人体的三个参数的周期,然后现在我们输入3个参数的高峰期时间,以及现在的时间,让我们输出下一个反生三个参数高峰期在哪一天的时间 #include<stdio.h> int main() { int n; int p,e,i,d,k,cont; scanf("%d",&n); //输入测试组数 while(n--) { cont=0; while(scanf("%d%d%d%d",&p,&e,&i,&d)&&p!=-1) //输入当前波峰时各个参数的时间, ...
解题思路:本题讲述的是让你输入两个字符串序列,判断能否通过对第一个字符串进行进栈出栈操作得到第二个字符串,若能则输出所有能达到的进出栈操作过程。我通过全排列每得到一组操作过程,则用函数按照这个操作过程,判断能否得到第二个字符串,若能则表明此操作过程可行,输出。 #include<stdio.h> #include<string.h> int n,n1,n2; //总操作数,进栈操作数,出栈操作数 char in[1000]; //第一个输入的字符串,/***被操作字符串***/ char ou[1000]; //第二个输入字符串,/*需判断能否经操作字符串操作 ...
该属于简单题,但涉及一个取整或许有所麻烦,精确解应该是求出平均值,再求偏差绝对值和除 2。这里由于精确到分,求出平均值 mean,按分求出 ceil 和 floor 的值。然后对于每个人,若钱 < mean,求与 floor 偏差绝对值加到总和中,否则与 ceil 求。另外,记录偏差(不取绝对值总和),如果最后总偏差不为 0,要将总偏差绝对值加到总和中。最后输出总和一半即可。 #include<stdio.h> int main() { int n,i; double money[1005]; double sum1,sum2,p,p1,p2; while(sc ...
题目大意:本题讲的是判断一个数的各个数位之和是否等于将它分解成质数相乘形式时,各个数位之和; #include<stdio.h> #include<math.h> long depart(long N) { long sum=0; long i,a; while(N>1) { for(i=2;i<=sqrt((double)(N));i++) if(N%i==0) { for(a=i;a>0;a/=10) sum+=a%10; N/=i; break; } if(i>sqrt((double)(N)) & ...
Global site tag (gtag.js) - Google Analytics