Android4.0网络开发
文章平均质量分 79
ljtyzhr
在程序员的世界里遨游。
展开
-
Android中的DOM解析方式
1、DOM解析简介 DOM解析会将XML文件的内容,以对象树的形式存放在内存中。DOM解析采用了对象树这种形式存储,使它易于遍历,方便的知道上下层节点的情况,这是DOM解析与SAX解析最大的不同之处。SAX解析只能够知道自己节点的情况,无法得知其它节点的信息。2、DOM解析常用方法(1)Document.getDocumentElement():返回文档的根元素原创 2014-11-07 10:39:59 · 1574 阅读 · 0 评论 -
Android图片选取和剪裁头像的相关问题
1、头像上传 头像上传是应用开发过程中非常常见的一个问题,一般涉及到用户注册的应用,都会有头像上传这样的一个功能,支付宝、QQ、微信、微博等等应用,都有这样一个功能。主要是作为用户识别使用,有时候看头像便一目了然是谁,同时也是增强用户体验的一种方式。2、选取图片 选取图片有两种方式,第一是直接从相册选取,第二是拍照选取,这里的代码如下:/*原创 2015-04-15 21:39:59 · 662 阅读 · 0 评论 -
Android中头像上传的另类方法——字符串上传
1、头像上传 头像上传功能,一般我们会使用文件的输入输出流上传。但是在Android开发中,如果我们的某一个应用,不会经常使用到文件上传这样的功能,写很多与文件上传和下载有关的代码,似乎有些不太划算,那么,我们可不可以将文件转换为字符串,然后再进行上传呢?答案是可以的,笔者将这种方法使用在了本人的项目中,非常成功,减轻了大量的代码工作量,简化了逻辑。2、背景说明原创 2015-04-18 14:12:58 · 1359 阅读 · 0 评论 -
Android常见的手机设备信息获取
在做Android开发过程中,经常会遇到这样的需求,收集手机设备信息,回传到服务器,做应用分析。常见的一些设备信息,如手机号码,网络信号,联网状态,设备标识等等,这里有一份代码,列出了常见的一些设备信息获取方式或方法,如下:import android.app.Activity; import android.os.Bundle; import android.teleph原创 2015-04-12 20:52:29 · 933 阅读 · 0 评论 -
Android开发中日志错误信息的获取与上报
1、背景介绍 在做Android开发过程中,开发阶段,我们可以通过DDMS看到输出的日志信息,或者是异常报错,这个时候一般都是运行时一场,比如空指针,内存溢出等等问题,我们在开始做开发的时候就可以得到这些信息。但是当我们的应用发布之后呢,对于不同的一些机型,我们可能有不同的错误类型,这个时候,我们无法得知应用程序的报错信息,就需要在客户端收集起来,回传到服务器。2、异原创 2015-04-18 17:07:37 · 4277 阅读 · 0 评论 -
Android数据传输中的参数加密
1、数据传输1)、http请求中,最常用的方法有两种:get和post;一般post请求适合做提交,而get请求适合做请求数据2)、数据的加密,大概有三种常用的:AES,DES,Base642、Base64对数据加密在使用Base64加密中,增加向量,提高加密破解难度,一段参数加密的方法如下:3、遇到问题在使用Base64的过程中,遇到一些问题,如下:原创 2015-04-13 20:19:16 · 2676 阅读 · 1 评论 -
Android登陆注册的手机号码匹配
1、背景介绍 在做开发的时候,经常会有一些应用,需要用户的手机号码注册使用,避免任意输入一个不是手机号码的11位数字注册,会使用正则表达式匹配。但是在网上找了很多匹配表达式,发现漏了一些,经过查找,发现是现在4G的用户,开始了新的手机号段。2、表格 这里有一个表格,是目前中国的手机号码字段,如下所示:3、正则 在做原创 2015-04-16 19:44:48 · 2570 阅读 · 1 评论 -
Android中使用Volley上传文件的源码
1、上传文件 Volley是不支持文件上传的,如果我们非要使用Volley支持文件上传,除了前面有一篇文章说明的那样,将文件转换为流之外,还可以扩展Volley的接口。今天,本文要做的就是扩展Volley的接口,让它支持文件的上传。2、Volley框架图额,Volley的框架图网上很多了,我找了一张过来,看看就好,这样下面的代码会更加容易理解。原创 2015-04-20 20:07:57 · 1005 阅读 · 0 评论 -
Android选取图片并上传的一种实现方式
1、背景说明我们要实现一个类似微信头像上传的问题,这个问题好像之前也有说过,不过今天来再次总结一下,有一种比较好的解决方案。2、选取图片在微信中,会弹出一个PopWindow来供用户选择图片,这里我们只给出逻辑代码,如下:public class SelectPicActivity extends Activity implements OnClickListener{原创 2015-05-08 19:56:03 · 2673 阅读 · 0 评论 -
Android使用Service自动下载apk自动安装
1、背景介绍 在做应用开发的时候,经常会使用到应用的更新这个功能,这个时候需要访问服务器,然后判断version_code这样的值的大小,然后决定是否返回给客户端一个下载链接。如果不用返回下载链接,一般都会提示用户,目前已经是最新版本,无需更新。如果不是最新的版本,就反悔给用户一个下载链接进行下载。 今天介绍后一个专用下载APK文件Service工具类,通知栏显原创 2015-05-09 00:53:47 · 5571 阅读 · 3 评论 -
自定义短信验证码中的倒计时控件
1、背景介绍在项目开发中,如果涉及到短信验证码,就会有倒计时这样的功能需求,如下,给出一个倒计时的控件。2、原理说明只需要一个继承实现CountDownTimer的类即可,然后在代码中开启。注意这个是一个线程。3、代码示例代码如下,很简单,不多说:private class TimeCount extends CountDownTimer {原创 2015-04-22 20:49:37 · 487 阅读 · 0 评论 -
WebView支持JS、Alert以及进度监控等
1、支持JS使用WebView支持JS,代码比较简单,直接可以在代码中设置一句话,如下:mWebView.getSettings().setJavaScriptEnabled(true);mWebView.getSettings().setDefaultTextEncodingName("utf-8") ;JS的支持主要是实现如下方法:public void addJavascriptInterf原创 2015-10-27 14:53:40 · 1288 阅读 · 0 评论 -
JSON数据格式分析
1、JSON介绍 JSON是一种数据结构比较简单,轻量级的,易于存储的数据结构形式。很方便人的阅读,也方便机器的编写和解析。 JSON是一种完全独立于文本语言的文本结构,我们既可以在js代码中写json数据,也能在java、php等语言中使用这种文本形式。2、JSON结构分析3、JSON数据举例 可能有的人对json数原创 2015-01-04 14:14:59 · 1356 阅读 · 0 评论 -
Android从网络上下载图片实现
1、背景介绍 网络上图片的请求,是我们最常见的网络请求之一,不亚于对json/xml数据的请求。一般要展示给用户看的,都不会是纯粹的文字,往往都是图文信息。而在移动互联网时代,图文又往往需要最新的资讯,数据都是从网络上获取。 像我们都在使用的微信,它的朋友圈中就好多图文信息;使用的新浪微博,用户的图标也是图片信息,等等诸如此类。由此可见,对于图片的请求处理,非常原创 2014-12-09 10:19:56 · 2239 阅读 · 0 评论 -
Android中的Handler和AsyncTask
1、Handler简介Handler在android里负责发送和处理消息。它的主要用途: 1)按计划发送消息或执行某个Runnanble(使用POST方法),类似定时器; 2)从其他线程中发送来的消息放入消息队列中,避免线程冲突(常见于更新UI线程); 默认情况下,Handler接受的是当前线程下的消息循环实例(使用Handler(Looper looper)、Handle原创 2014-12-23 14:54:30 · 637 阅读 · 0 评论 -
Android中的Xml文件与解析简介
1、xml文件介绍 XML是英文缩写,其英文全称为Extensible Markup Language,翻译过来就是可扩展标记语言,它和HTML语言一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。 是一种用于标记电子文件使其具有结构性的标记语言。它可以用来标记数据、定义数据类型,是一种允许用户对自原创 2014-11-05 15:15:29 · 1509 阅读 · 0 评论 -
Android中XML的SAX解析方式
1、SAX解析简介原创 2014-11-06 23:31:47 · 834 阅读 · 0 评论 -
Android中的XML的Pull解析与生成
1、Pull解析简介 Pull解析是Android系统内置的一种对XML的解析方式,它与SAX解析方式基本一致,都包括开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件。但是它们不同的是,SAX的事件驱动是回调相应方法,需要提供回调的方法,而在SAX内部自动调用相应的方法。而Pull解析器并没有强制要求提供触发的方法。因为它触发的事件并不是一个原创 2014-11-07 14:26:25 · 788 阅读 · 0 评论 -
一个基于XML的传输协议解析
1、背景介绍 在涉及到网络请求的场景中,网络协议是必不可少的组件。但是针对不同的应用程序,网络协议又大不相同。一般来说,不涉及到资金操作的网络请求,并不需要做过多的协议处理,一般常见的数据结构就可以了。但是在一些特定的场合,比如说购物,涉密文件信息这样的信息在传送的时候,一定要有特殊的协议去传送。 这里简单介绍一个购物时候,使用到的一个协议的封装。2、发原创 2014-11-08 19:29:02 · 3588 阅读 · 0 评论 -
TCP/IP三次握手与四次挥手
转载地址:一、TCP报文格式 TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占3转载 2014-11-10 11:13:20 · 572 阅读 · 0 评论 -
HTTP协议简单解析
1、HTTP协议的定义官方的定义: WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页。WWW的工作给予客户机/服务器计算模型,由Web浏览器和Web服务器构成,两者之间采用超文本传输协议(HTTP)进行通信。HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。原创 2014-11-10 09:53:44 · 1369 阅读 · 0 评论 -
HTTP的GET请求和POST请求
1、HTTP请求概述 在前面有一篇文章对HTTP协议又详细的描述,这里就不再过多的做说明,值是简单的作为这篇文章的引子。 HTTP协议又被称为超文本传输协议,他的的设计目的是保证客户机与服务器之间的通信。HTTP 的工作方式是客户机与服务器之间的请求-应答协议。在客户机和服务器之间进行请求-响应时,有两个最基本的请求方式:GET 和 POST。原创 2014-11-18 14:47:04 · 2182 阅读 · 0 评论 -
开启线程的Thread与Runnable
1、线程介绍 进程(process)是指在系统中正在运行的一个应用程序,是系统资源分配的基本单位,在内存中有其完备的数据空间和代码空间,拥有完整的虚拟空间地址。一个进程所拥有的数据和变量只属于它自己。 线程(thread)是进程内相对独立的可执行单元,所以也被称为轻量进程(lightweight processes);是操作系统进行任务调度的基本单元。它与父进程原创 2014-11-26 20:23:10 · 1142 阅读 · 2 评论 -
一个常用的网络帮助类
1、背景介绍 在做关于网络的开发的时候,总是要经常对网络进行判断,比如,是否有网络?连接的是手机网络还是wifi?是否走的代理网络等等信息。基于不重复写代码的原则,我们一般会把这样的代码剥离出来,做一个单独的文件。2、代码展示import android.content.ContentResolver;import android.content.Context;原创 2014-11-27 10:59:24 · 1219 阅读 · 4 评论 -
Android多线程下载大文件解析
1、多线程介绍 用过迅雷的同学都知道,迅雷有个功能叫做多线程,还有一个叫离线下载,我们这里重点介绍一下多线程下载。多线程,顾名思义就是很多歌线程同时在运行,为什么要提出多线程这个概念呢?因为有时候一个线程下载太慢了。举个例子,比如小时候常做的数学题,一个人挖沟需要15天,那么两个人对着挖呢? 当然数学题上面两个人的效率是不一样的,我们这里把这个问题简化了一下,只原创 2014-12-16 14:54:02 · 1548 阅读 · 0 评论 -
Android下网络请求的两个封装类
1、背景介绍2、GET请求封装3、POST请求封装4、总结原创 2014-12-18 14:35:20 · 1170 阅读 · 2 评论 -
Android自定义携带Cookie的POST请求
发送请求第一步当然是首先了解POST请求的整个流程是什么样的,我们简单列出步骤,如下:设置参数设置请求链接获得返回值一般来说,我们使用POST请求,大致如上的三个步骤。我们可以有如下的框架性的代码:/** * 发送请求 * @param context * @param baseUrl * @param params * @param handler * @return * @原创 2015-11-17 20:30:13 · 3518 阅读 · 1 评论