技术探索
  • Android手机读取本机电话号码

    2015-05-13
    659
    Android开发
    如果需要在Android手机平台读取本机电话号码,可以采用下面的方法。不过本人觉得,象这些涉及用户电话号码等隐私的问题,尽量不要主动获取 :(需要添加的权限:<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>读取号码:TelephonyManagermTelephonyMgr;mTelephonyMgr=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);Stringnumber=mTelephonyMgr.getLine1Number();
  • 在Android中使用多线程更新UI的完整实例

    2015-05-01
    274
    Android开发
    在实际设计中,我们可以把耗时的操作用多线程进行处理,这样在该操作完成之前,不会阻塞UI主线程的显示。并且在新版本的Android中,象HttpGet等网络操作必须放在子线程中进行,否则会出错。下面的代码是一个完整的多线程实例供参考:@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//activity_main是主界面布局//多线程操作从下面开始,其中R.id.textView1是主界面中的一个TextView:finalHandlerhandler=newHandler(){@OverridepublicvoidhandleMessage(Messagemsg){finalTex
  • 在Android中采XmlPullParser方式解析Xml节点

    2015-04-25
    808
    Android开发
    本文介绍在Android中采用XmlPullParser方式解析Xml节点,并将解析到的名称与值保存在Map集合中。Xml文档结构:<root><result>1</result><item><id>1</id><name>tiger</name></item></root>XmlPullParser读取:publicMapReadXmlData(){Stringxmldoc="";//上面的Xml文档,以字符串表示Map<String,String>m=newHashMap<String,String>();XmlPullParserFactoryfactory;try{factory=XmlPullParserFactory
  • 在Android中使用HttpPost提交数据方法

    2015-04-24
    459
    Android开发
    本例介绍在Android中利用HttpPost向服务器提交数据,并获取结果(字符串形式)的方法。服务器上获取提交来的参数由该服务器平台所使用的语言决定,如ASP.NET中可使用Request.Form["name"]获取,PHP中使用$_post["name"]。publicStringGetRemoteData(){try{List<NameValuePair>params=newArrayList<NameValuePair>();params.add(newBasicNameValuePair("name","tiger"));params.add(newBasicNameValuePair("age","99"));HttpPostpost
  • Android中的MD5加密方法实现

    2015-04-24
    665
    Android开发
    本文介绍在Android 平台进行 MD5 加密的方法,经测试与 C# 平台中加密结果一致。publicStringMD5(Stringorigin){try{MessageDigestmd=MessageDigest.getInstance("MD5");md.update(origin.getBytes("UTF-8"));byte[]b=md.digest();inti=0;StringBufferbuf=newStringBuffer();for(intoffset=0;offset<b.length;offset++){i=b[offset];if(i<0)i+=256;if(i<16)buf.append("0");buf.append(Integer.toHexString(i));}returnb
  • 在Android中使用GZIPOutputStream压缩数据

    2015-04-24
    1494
    Android开发
    本文介绍在Android中使用GZIPOutputStream进行压缩的方法,通过测试,在c#中用GZipStream可解压缩本方法压缩后的数据。参数 normalString 为压缩前的字符串,输出为 Base64编码的字符串。publicStringCompress(StringnormalString)throwsIOException{byte[]t=normalString.getBytes("UTF-8");byte[]result;ByteArrayInputStreamin=newByteArrayInputStream(t);ByteArrayOutputStreamout=newByteArrayOutputStream();GZIPOutputStreamgzip=newGZIPOutputStream(out);try{byte[]buffer=
  • 在Android中使用GZIPInputStream解压缩数据

    2015-04-24
    1185
    Android开发
    本文介绍在Android中使用GZIPInputStream进行解压缩的方法,通过测试,本方法同样适用于通过c#中的GZipStream压缩后的数据解压。参数 base64String 为压缩过的且转换为 Base64 编码后的字符串,原始字符串参用的是 UTF-8 编码。publicStringDecompress(Stringbase64String)throwsIOException{byte[]t=Base64.decode(base64String,Base64.DEFAULT);ByteArrayOutputStreamout=newByteArrayOutputStream();ByteArrayInputStreamin=newByteArrayInputStream(t);GZIPInputStreamgzip=newGZIPInputStream(in);try{byt