android上面有两种通讯代码:
第一种是用java.net和java.io包来搞
第二种用apache的开源项目,而android就集成了apache的开源项目,所以推荐使用这个
先说说基于apache的开源项目的:
HttpPost post = new HttpPost(urlStr);
//有一个httpPost对象,这个对象可以绑定参数------setEntity()
比如:可以绑定一个json对象的string
JSONObject holder = new JSONObject();
holder.put("version", "1.1.0");
holder.put("host", "maps.google.com");
StringEntity se = new StringEntity(holder.toString());
或者是一个list
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("s_username", strUID));
nvps.add(new BasicNameValuePair("s_password", strUPW));
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
把要发送的信息准备好后,可以发送了,这要用到发送的客户端
DefaultHttpClient client = new DefaultHttpClient();
执行发送命令并返回结果
HttpResponse resp =
client.execute(post);
得到实例:
HttpEntity entity = resp.getEntity();
获得inputStream
InputStream is = httpEntity.getContent();
Bitmap bitmap = BitmapFactory.decodeStream(is);
is.close();
iv.setImageBitmap(bitmap);
BufferedReader br =
new BufferedReader(new InputStreamReader(entity.getContent()));
循环拿出string
或者:最好是用apache 的 s = EntityUtils.toString(entity);
然后说:基于原始的java.io包----
URL url =new URL(urlStr); HttpURLConnection con=(HttpURLConnection)url.openConnection();
/* 允许Input、Output,不使用Cache */
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
/* 设置传送的method=POST */
con.setRequestMethod("POST");
/* setRequestProperty */
con.setRequestProperty("Connection", "Keep-Alive");
con.setRequestProperty("Charset", "UTF-8");
con.setRequestProperty("Content-Type",
"multipart/form-data;boundary=****");
con.setRequestProperty("type", "txt");
con.setRequestProperty("name", "e");
//相当于设置了一个HttpPost
DataOutputStream ds =
new DataOutputStream(con.getOutputStream()); //准备输出数据
/* 取得文件的FileInputStream */
FileInputStream fStream = new FileInputStream(uploadFile);
/* 设置每次写入1024bytes */
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
int length = -1;
/* 从文件读取数据至缓冲区 */
while((length = fStream.read(buffer)) != -1)
{
/* 将资料写入DataOutputStream中 */
ds.write(buffer, 0, length); //在输出流里面写数据
}
/* close streams */
fStream.close();
ds.flush();
分享到:
相关推荐
HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。在Android应用中,我们通常使用HTTP协议来获取网页数据、下载文件或者发送用户数据到服务器。 ...
下这个吧 , https://download.csdn.net/download/dami_lixm/11341046 android端HttpServer的实现,PC端通过浏览器访问android端SD卡上文件的功能
Vue应用通常是基于浏览器环境的,因此,要在Android上运行,我们需要一个能够执行JavaScript的环境,比如Cordova或React Native。然而,这个描述提到了"部署在Android本地",这可能意味着使用了一个本地HTTP服务器来...
Android应用通常使用HttpClient或OkHttp等库发起HTTP请求,与部署在Web服务器上的Servlet进行交互。Servlet接收请求后,处理业务逻辑,然后返回响应给Android客户端。Android客户端可以通过GET或POST方法传递参数,...
在用户界面(UI)线程上执行网络操作会导致应用程序无响应(ANR),因此,Android推荐使用异步HTTP请求来避免阻塞主线程。本篇文章将详细探讨如何在Android中实现异步HTTP请求,主要涉及POST和GET两种方法。 首先,...
同时,由于标签中提到了“java apache”,开发者可能还需要关注如何在Android 8.0环境中使用Apache相关的库或服务,尽管Android本身已逐渐转向使用其他库(如OkHttp)来替代Apache HTTP客户端。
xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 主内容视图 --> ...
总的来说,实现ONVIF协议在Android上是一个涉及网络通信、XML解析、媒体处理和SOAP交互的复杂过程。虽然挑战重重,但通过合理的设计和编程,我们可以构建出一款能够接入各种ONVIF设备的高效监控应用。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 其他Dialog内容 --> android:id="@+id/button_close" android:layout_width="wrap_content" android:layout_height=...
代码实现时,可以参考Android官方文档、CSDN博客(http://blog.csdn.net/only1994/article/details/51154070)或其他开发者分享的示例代码。通过不断实践和调试,你可以掌握这个功能的实现,并将其应用到自己的项目...
在Android应用中,HTTP主要用于发送请求获取服务器上的数据,如JSON或XML格式的数据,或者上传用户数据到服务器。常用的HTTP库有HttpURLConnection、HttpClient(已废弃)、Volley、OkHttp等。 1. ...
在本例中,我们将探讨如何在Android上设置和使用RabbitMQ,以及如何创建一个简单的测试Demo。 首先,我们关注的是"rabbitmq windows服务器安装 文档 - 副本.doc",这是一个关于在Windows环境下安装RabbitMQ的指南。...
先来上个效果图: 当滑动时:数值显示,滑动停止时显示数字,使用FrameLayout结合SeekBar。 首先我们看看。 Layout: <?xml version=1.0 encoding=utf-8?> <merge xmlns:android=...
很多时候需要用到在android系统上部署HTTP,如转码解码、共享本地手机文件等等,这时候可以通过在手机上部署http服务,其他设备访问该服务网址即可。 部署的手机需要开启连接wifi,局域网内其他设备可访问到该网址...
"android android android android android"这样的重复提及可能暗示我们将关注Android平台的核心知识点和其在多个层面上的应用。 首先,Android系统架构分为四个主要层次:Linux内核、系统库和运行时、应用程序框架...
4. **程序逻辑**:通过Java或Kotlin编程语言,教授如何编写Android应用的业务逻辑,包括事件处理、数据存储(SQLite数据库)、网络通信(HTTP请求和JSON解析)等。 5. **调试与测试**:学习如何使用Android Studio...
HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于从Web服务器传输超媒体信息到客户端。GET是HTTP协议中的一种方法,用于请求服务器发送指定资源。 `HttpGet`对象在Android中通常与`HttpClient`或`...
在Android上使用完全版本的wget,你可以充分利用这些高级功能,进行更复杂的网络数据抓取和管理。 要将wget的源码编译为适用于Android的完整版本,你需要遵循一定的步骤。`编译方法.txt`文件很可能包含了这些详细...
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"> <Key android:codes="66" android:keyLabel="搜索" /> <!-- 其他按键... --> ``` 步骤3:加载布局 在CustomKeyboard类中加载并设置...