安卓手机最通俗_最实用的Android开发高级培训教程(12).ppt_第1页
安卓手机最通俗_最实用的Android开发高级培训教程(12).ppt_第2页
安卓手机最通俗_最实用的Android开发高级培训教程(12).ppt_第3页
安卓手机最通俗_最实用的Android开发高级培训教程(12).ppt_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北京传智播客教育 ,北京传智播客教育 ,向Internet发送xml数据,利用HttpURLConnection对象,我们可以向网络发送xml数据. StringBuilder xml = new StringBuilder(); xml.append(); xml.append(); xml.append(中国); xml.append(); byte xmlbyte = xml.toString().getBytes(UTF-8); URL url = new URL(http:/localhost:8080/itcast/contanctmanage.do?method=readxml)

2、; HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(5* 1000); conn.setDoOutput(true);/允许输出 conn.setUseCaches(false);/不使用Cache conn.setRequestMethod(POST); conn.setRequestProperty(Connection, Keep-Alive);/维持长连接 conn.setRequestProperty(Charset, UTF-8); conn.setR

3、equestProperty(Content-Length, String.valueOf(xmlbyte.length); conn.setRequestProperty(Content-Type, text/xml; charset=UTF-8); DataOutputStream outStream = new DataOutputStream(conn.getOutputStream(); outStream.write(xmlbyte);/发送xml数据 outStream.flush(); if (conn.getResponseCode() != 200) throw new R

4、untimeException(请求url失败); InputStream is = conn.getInputStream();/获取返回数据 String result = readAsString(is, UTF-8); outStream.close();,北京传智播客教育 ,北京传智播客教育 ,多线程断点续传下载,使用多线程下载文件可以更快完成文件的下载,多线程下载文件之所以快,是因为其抢占的服务器资源多。如:假设服务器同时最多服务100个用户,在服务器中一条线程对应一个用户,100条线程在计算机中并非并发执行,而是由CPU划分时间片轮流执行,如果A应用使用了99条线程下载文件,那么

5、相当于占用了99个用户的资源,假设一秒内CPU分配给每条线程的平均执行时间是10ms,A应用在服务器中一秒内就得到了990ms的执行时间,而其他应用在一秒内只有10ms的执行时间。就如同一个水龙头,每秒出水量相等的情况下,放990毫秒的水 肯定比放10毫秒的水要多。 多线程下载的实现过程: 1首先得到下载文件的长度,然后设置本地文件 的长度。 HttpURLConnection.getContentLength(); RandomAccessFile file = new RandomAccessFile(QQWubiSetup.exe,rwd); file.setLength(filesiz

6、e);/设置本地文件的长度 2根据文件长度和线程数计算每条线程下载的数据长度和下载位置。如:文件的长度为6M,线程数为3,那么,每条线程下载的数据长度为2M,每条线程开始下载的位置如上图所示。 3使用Http的Range头字段指定每条线程从文件的什么位置开始下载,下载到什么位置为止,如:指定从文件的2M位置开始下载,下载到位置(4M-1byte)为止,代码如下: HttpURLConnection.setRequestProperty(Range, bytes=2097152-4194303); 4保存文件,使用RandomAccessFile类指定每条线程从本地文件的什么位置开始写入数据。

7、RandomAccessFile threadfile = new RandomAccessFile(QQWubiSetup.exe ,rwd); threadfile.seek(2097152);/从文件的什么位置开始写入数据,北京传智播客教育 ,北京传智播客教育 ,为应用添加新的Activity,第一步:新建一个继承Activity的类,如:NewActivity public class NewActivity extends Activity Override protected void onCreate(Bundle savedInstanceState) super.onCrea

8、te(savedInstanceState); /这里可以使用setContentView(R.layout.xxx)显示某个视图. 第二步:需要在功能清单AndroidManifest.xml文件中添加进上面Activity配置代码(红色部分): . . android:name属性值的前面加了一个点表示NewActivity是当前包cn.itcast.action下的类,如果类在应用的当前包下,可以省略点符号,如果类在应用的子包下必须加点,如:NewActivity类在cn.itcast.action.user包下可以这样写:,北京传智播客教育 ,北京传智播客教育 ,打开新的Activit

9、y ,不传递参数,在一个Activity中可以使用系统提供的startActivity(Intent intent)方法打开新的Activity,在打开新的Activity前,你可以决定是否为新的Activity传递参数: 第一种:打开新的Activity,不传递参数 public class MainActivity extends Activity Override protected void onCreate(Bundle savedInstanceState) . Button button =(Button) this.findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener()/点击该按钮会打开一个新的Activity public void onClick(View v)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论