`

Android 之网络编程

 
阅读更多

android的网络编程分为2种:基于socket的,和基于http协议的。

一:基于socket的用法

   服务器端:

  先启动一个服务器端的socket     ServerSocket svr = new ServerSocket(8989);

  开始侦听请求         Socket s = svr.accept();

  取得输入和输出        DataInputStream dis = new DataInputStream(s.getInputStream());

                 DataOutputStream dos = new DataOutputStream(s.getOutputStream());

  Socket 的交互通过流来完成,即是说传送的字节流,因此任何文件都可以在上面传送。谁打开的记得要关上。

  用DataInputStream/DataOutputStream来进行包装是因为我们想要他们对基本数据类型的读写功能readInt(),writeInt(),readUTF(),writeUTF()等等。

  客户端:

  发起一个socket连接      Socket s = new Socket("192.168.1.200",8989);

  取得输入和输出        DataInputStream dis = new DataInputStream(s.getInputStream());

                 DataOutputStream dos = new DataOutputStream(s.getOutputStream());

  之后就可以相互通信了。谁打开的记得要关上。

基于Http协议

  一般是发送请求到某个应用服务器。此时需要用到HttpURLConnection

  先取得HttpURLConnection urlConn = new URL("http://www.google.com").openConnection();

  设置标志 

    urlConn.setDoOutput(true);  urlConn.setDoInput(true);//post的情况下需要设置DoOutput为true

    urlConn.setRequestMethod("POST");

    urlConn.setUseCache(false);//设置是否用缓存

    urlConn.setRequestProperty("Content-type","application/x-www-form-urlencoded");//设置content-type

  获得输出流,便于想服务器发送信息。

    DataOutputStream dos = new DataOutputStream(urlConn.getOutputStream());

  望流里面写请求参数

    dos.writeBytes("name="+URLEncoder.encode("chenmouren","gb2312");

    dos.flush();dos.close();//发送完后马上关闭。

  获得输入流,取数据

    BufferReader reader = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));

    reader.readLine();//用 !=null来判断是否结束

    reader.close();

  读完了记得关闭connection  urlConn.disconnect();

流程记录就到此为止。

分享到:
评论

相关推荐

    android 网络编程简介

    1. Android网络编程概述 Android网络编程是指在Android平台上开发能够处理网络请求的应用程序的编程实践。这通常涉及实现客户端与服务器之间的数据交换,使用不同的网络协议如HTTP/HTTPS以及进行网络状态监控等。 2...

    android网络编程基础

    本节将深入探讨Android网络编程的基础知识,主要围绕Java网络编程这一核心概念展开。 首先,理解Android网络编程的基础概念至关重要。在Android中,网络操作通常在后台线程中执行,以避免阻塞主线程导致应用无响应...

    android4.0网络编程详解——源码

    在Android 4.0(Ice Cream Sandwich)系统中,网络编程是实现应用程序与远程服务器...同时,阅读和分析源码可以帮助我们更好地掌握Android网络编程的细节。记住,实践中遇到的问题和解决方案往往能提供最宝贵的学习经验。

    Android 4.0 网络编程详解 王家林.pdf

    不过,我可以根据您提供的文件标题、描述和标签信息,生成关于“Android 4.0网络编程”的相关知识点。 在讨论Android 4.0网络编程的知识点之前,需要了解Android 4.0(代号Ice Cream Sandwich,简称ICS)是Google在...

    Android 4.0网络编程详解.part1

    Android 4.0 网络编程详解,分两个包上传 现在开始将免费进行到底

    Android 4.0网络编程指南 part3

    Android网络编程

    Android网络编程-聊天室开发

    ### Android网络编程——聊天室开发 #### 一、概述 Android聊天室项目是基于Socket网络编程的一个典型应用案例。通过本项目的开发,开发者可以深入了解如何利用Android设备与服务器端进行通信,实现多人在线聊天的...

    《Android4.0网络编程详解》 高清扫描 完整版 PDF电子书 详细书签

    《Android4.0网络编程详解》 高清扫描 完整版 PDF电子书 详细书签 作者:王家林(作者) 出版社:电子工业出版社; 第1版 (2012年1月1日) 丛书名: 移动互联应用开发系列 平装:374页 内容简介: 《Android 4.0网络编程...

    Android4.0网络编程详解.pdf

    1. Android网络框架: - 在Android 4.0之前,网络编程多依赖于传统的Socket编程,Android提供了丰富的网络API,允许开发者使用这些API来完成客户端和服务器端的通信。 - Android 4.0中,网络编程的一个重要进步是...

    Android 网络编程入门之图片下载

    本教程将引导初学者进入Android网络编程的世界,专注于图片下载这一实际应用。我们将使用Tomcat服务器来存储和提供图片,然后在Android客户端进行下载操作。 首先,理解Android的网络访问规则是至关重要的。Android...

    Android网络编程 非常适合入门

    Android网路编程代码 设计客户端和服务器端通信 适合初学者学习 当然其中包括很多其他知识点 例如基于handler的主副线程通信机制 多线程应用等 另外 对于Android入门的学习者 也是一手极好的学习资料 下载即可运行 ...

    android网络编程.pdf

    ### Android网络编程基础知识点 #### 一、网络状态检测 在Android开发中,为了确保应用程序能够根据当前网络环境做出响应,通常需要先检测设备的网络连接状态。这可以通过`ConnectivityManager`类来实现。 1. **...

    Android网络编程Demo

    这个“Android网络编程Demo”旨在提供一个基础的示例,帮助开发者理解和实践如何在Android应用中实现网络通信。以下是相关知识点的详细说明: 1. **Android网络权限**: 在AndroidManifest.xml文件中,需要声明`...

    Android 4.0网络编程详解卷二(共两卷)

    3.Android网络下的XML和JSON 4.HTTP协议剖析 5.Android中的网络数据下载 6.Android中的网络数据上传 7.Android中的Socket编程 8.Android中的浏览器编程 9.彻底剖析Android中软件的启动和退出

    Android网络编程之Http通信

    Android网络编程是移动应用开发中的一个重要组成部分,而Http通信则是网络编程中最常用的协议之一。在Android平台上,我们通常会使用HttpURLConnection或者第三方库如Apache HttpClient和OkHttp等进行Http通信。 1....

    Android 4.0网络编程详解

    《Android 4.0网络编程详解》一书深入探讨了在Android 4.0系统上进行网络编程的技术细节与实践方法。此版本的Android系统,即Ice Cream Sandwich(冰淇淋三明治),带来了许多网络功能上的改进和新特性,使得开发者...

    android网络编程

    在Android网络编程中,我们通常涉及到以下几个关键知识点: 1. **HTTP通信协议**:HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。Android...

    android网络编程面试题,Android面试题整理

    Android 网络编程面试题知识点总结 Android 网络编程面试题是 Android 开发者需要掌握的重要知识点。下面总结了 Android 网络编程面试题的知识点。 一、内存优化 * 内存泄漏的定义:程序在申请内存后无法释放本...

    Android高级网络编程技术实践

    在Android平台中进行高级网络编程时,涉及到的核心知识点主要包括网络通信机制、TCP与UDP协议、多线程处理以及数据缓冲等技术。下面将详细介绍这些知识点,并解析如何在Android中实现基于Socket的网络通信。 ### ...

Global site tag (gtag.js) - Google Analytics