- 浏览: 343607 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
努力吧飞翔:
...
[ExtJS] MVC应用架构示例 -
coolnight:
[Maven]Nexus 安装与配置 -
Kevin_jiang2011:
官网的文档写的不好。 简单的执行命令,又要重新下载一个ecli ...
jBPM5 入门 -
litterdeer:
好东西....
[ExtJS] MVC应用架构示例 -
basherone:
可以用,谢谢了
[ExtJS] MVC应用架构示例
使用 HTTP 服务:
1.
Apache HttpClinet
Http GET
Http POST
a.创建 HttpClient
b.初始 HTTP GET 方法或 POST 方法.
c.设置参数 键值对
d.执行 HTTP 调用
e.处理 HTTP 回复
HTTP GET 示例:
带参数的 HTTP GET:
HTTP POST 示例:
multipart POST 支持:
需要以下支持:
Commons IO
http://commons.apache.org/io/
Mime4j
http://james.apache.org/mime4j/
HttpMime
http://hc.apache.org/httpcomponents-client/httpmime/index.html
下载全部JAR网址:
http://www.sayedhashimi.com/downloads/android/multipart-android.zip
multipart POST 示例:
异常处理
重试处理
多线程问题
使用 ClientConnectionManager ,创建一个线程安全的 HttpClient.
HttpActivity.java
配置 AndroidManifest.xml
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:name="ApplictionEx"
>
1.
Apache HttpClinet
Http GET
Http POST
a.创建 HttpClient
b.初始 HTTP GET 方法或 POST 方法.
c.设置参数 键值对
d.执行 HTTP 调用
e.处理 HTTP 回复
HTTP GET 示例:
public class TestHttpGetMethod{ public void get(){ BufferedReader in = null; try{ HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(); request.setURI("http://w26.iteye.com"); HttpResponse response = client.execute(request); in = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); StringBuffer sb = new StringBuffer(""); String line = ""; String NL = System.getProperty("line.separator"); while((line = in.readLine()) != null){ sb.append(line + NL); } in.close(); String page = sb.toString(); Log.i(TAG, page); }catch(Exception e){ Log.e(TAG,e.toString()) }finally{ if(in != null){ try{ in.close(); }catch(IOException ioe){ Log.e(TAG, ioe.toString()); } } } } }
带参数的 HTTP GET:
HttpGet request = new HttpGet("http://www.baidu.com/s?wd=amos_tl"); client.execute(request);
HTTP POST 示例:
public class TestHttpPostMethod{ public void post(){ BufferedReader in = null; try{ HttpClient client = new DefaultHttpClient(); HttpPost request = new HttpPost("http://localhost/upload.jsp"); List<NameValuePair> postParams = new ArrayList<NameValuePair>(); postParams.add(new BasicNameValuePair("filename", "sex.mov")); UrlEncodeFormEntity formEntity = new UrlEncodeFormEntity(postParams); request.setEntity(formEntity); HttpResponse response = client.execute(request); in = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); StringBuffer sb = new StringBuffer(""); String line = ""; String NL = System.getProperty("line.separator"); while((line = in.readLine()) != null){ sb.append(line + NL); } in.close(); String result = sb.toString(); Log.i(TAG, result ); }catch(Exception e){ Log.e(TAG,e.toString()) }finally{ if(in != null){ try{ in.close(); }catch(IOException ioe){ Log.e(TAG, ioe.toString()); } } } } }
multipart POST 支持:
需要以下支持:
Commons IO
http://commons.apache.org/io/
Mime4j
http://james.apache.org/mime4j/
HttpMime
http://hc.apache.org/httpcomponents-client/httpmime/index.html
下载全部JAR网址:
http://www.sayedhashimi.com/downloads/android/multipart-android.zip
multipart POST 示例:
public class TestHttpMultipartPost{ public void mulPost(){ try{ InputStram in = this.getAssets().open("data.xml"); HttpClient client = new HttpDefaultHttpClient(); HttpPost request = new HttpPost("http://localhost/upload.jsp"); byte[] data = IOUtils.toByteArray(in); InputStreamBody isb = new InputStreamBody(new ByteArrayIntputStream(data), "uploadedFile"); StringBody sb1 = new StringBody("some text"); StringBoyd sb2 = new StringBody("some text too"); MultipartEntity me = new MultipartEntity(); me.addPart("uploadedFile", isb); me.addPart("one" ,sb1); me.addPart("two" ,sb2); request.setEntity(me); HttpRespones response = client.excute(request); res.getEntity().getContent().close(); } catch(Throwable e){ Log.e(TAG, e.toString()); } } }
异常处理
重试处理
多线程问题
使用 ClientConnectionManager ,创建一个线程安全的 HttpClient.
public class ApplicationEx extends Application{ public static final String TAG = "amos_tl"; private HttpClient client = null; @override public void onCreate(){ super.onCreate(); client = createHttpClient(); } @override public void onLowMemory(){ super.onLowMemory(); shutdownHttpClient(); } @override public void onTerminate(){ super.onTerminate(); shutdownHttpClient(); } private void shutdownHttpClient(){ if(client != null && client.getConnectionManager() != null){ client.getConnectionManager().shutdown(); client = null; } } private HttpClient createHttpClient(){ Log.d(TAG, "create httpclient ..."); HttpParams params = new BasicHttpParams(); HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1); HttpProtocolParams.setContentCharset(params, HTTP.DEFAULT_CONTENT_CHARSET); HttpProtocolParams.setUseExpectContinue(params, true); SchemaRegistry sr = new SchemaRegistry(); sr.register(new Schema("http", PlainSocketFactory.getSocketFactory(), 80)); sr.register(new Schema("https", SLLSocketFactory.getSocketFactory(), 443)); ClientConnectionManager cm = new ThreadSafeClientConnManager(params, sr); return new DefaultHttpClient(cm, params); } public HttpClient getHttpClient(){ return client; } }
HttpActivity.java
public class HttpActivity extends Activity{ @override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); Log.d(TAG, "httpactivity startup..."); getHttpContent(); } private void getHttpContent(){ try{ ApplicationEx app = (ApplicationEx)this.getApplication(); HttpClient client = app.getHttpClient(); HttpGet request = new HttpGet(); request.setURI("http://w26.iteye.com"); HttpResponse response = client.excute(resquest); String page = EntityUtils.toString(response.getEntity()); Log.i(TAG, page); }catch(Exception e){ Log.e(TAG, e.toString()); } } }
配置 AndroidManifest.xml
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:name="ApplictionEx"
>
发表评论
-
使用phantom-limb 模拟Touch 事件
2012-04-14 22:15 21531 下载 phantom-limb.js 2. 使用 2. ... -
读取本地私有文件
2009-11-08 12:58 2336package tl.android.utils; ... -
Android 文件搜索引擎
2009-11-08 02:44 0手机文件管理: 1.文件备份 2.创建文件/文件夹 3.批量复 ... -
Android 后台服务
2009-11-06 23:48 3875后台服务:运行在后台,一般没有UI. 1.创建一个简单的服务 ... -
Android 2D 动画
2009-11-05 22:08 17201.帧动画 AnimationDrawable 2.布局动 ... -
Android Intents
2009-11-05 14:37 2142Android Intent 是 Android 进 ... -
Android 自定义ContentProvider
2009-11-04 00:30 4949自定义 ContentProvider ----------- ... -
Android 安全模型
2009-10-30 20:09 2599Android 安全模型包括两个方面:部署和运行. 部署应用 ... -
Intent 初探
2009-10-29 18:36 1143Intent package android.conte ... -
Android 示例之 notepad
2009-10-29 17:50 3606AndroidManifest.xml <?xml ... -
Android 用户界面(User Interface)
2009-10-28 09:57 1773View 基类: 视图对象在屏幕特定矩形区域处理自己的尺寸,布 ... -
Android 应用程序开发基础
2009-10-28 08:42 13081. 每一个应用程序运行在一个独立的进程,每一个进程运行在一个 ... -
android emulator( android模拟器)
2009-10-24 18:28 4032Android Emulator ============== ... -
android AVDs mksdcard dx工具介绍
2009-10-24 01:30 4645引用android 工具是一个脚本文件,用于创建,管理AVDs ... -
adb (Android Debug Bridge) Android 调试桥
2009-10-24 00:47 3982Android Debug Bridge (adb) 是一个通 ... -
aapt 工具( Android Asset Packaging Tool )
2009-10-23 23:33 7720aapt (Android Asset Packaging T ... -
AIDL (Android Interface Definition Language) Android 接口定义语言
2009-10-23 10:29 3292AIDL (Android Interface Definit ... -
Dedexer:Dex文件反编译工具介绍
2009-10-23 05:47 11672Dedexer 项目主页: http://de ... -
Android 开发环境配置
2009-10-21 06:05 1440准备: 1.下载JDK1.6 2.下载Android SDK ...
相关推荐
9. **服务生命周期管理**:在Android应用中,服务器的生命周期需要与应用的生命周期同步。例如,在应用启动时启动服务器,在应用退出时关闭服务器。 通过以上步骤,开发者可以在Android设备上搭建并运行一个基本的...
在Android平台上实现一个HTTP服务器,可以让我们在移动设备上提供数据服务,比如分享信息或进行设备间的通信。这里我们将深入探讨如何在Android设备上搭建HTTP服务器,并通过热点分享功能,让其他连接到该热点的设备...
最近需要在我们的安卓设备上实现通过网页访问设备,进行相关配置、上传数据等操作,因此就需要在安卓端实现一个http服务器。(其实代码也可以用于PC端,只不过PC端已经有太多成熟的框架了,JDK7/8之后貌似就内置了一...
在Android平台上,构建一个Http服务器是一项实用的技术,可以用于测试、数据传输或者本地服务的实现。这个主题,"Android_Http_服务器",涉及到的是如何利用Android原生API来搭建一个Http服务器,而不是依赖于任何第...
标题中的“aws.zip_HTTPServer_android_android httpserver_aws android_文件传输”暗示了这是一个关于在Android平台上使用AWS服务实现HTTP服务器功能,以便进行文件传输的项目。在这个项目中,开发者可能利用AWS ...
在Android中,HTTP服务器可以用于本地流媒体服务,允许设备上的其他应用或设备通过HTTP协议获取和播放媒体文件。 在压缩包子文件的文件名称列表中,“HttpGetProxy_player”可能是一个类或模块的名称,它可能实现了...
在Android平台上,构建一个HTTP服务器可以为用户提供便捷的数据共享服务,尤其对于图片、音乐和视频等多媒体资源。这个过程涉及到Android系统的网络编程和文件管理,是Android开发中的一个实用技能。接下来,我们将...
在Android平台上运行基于Vue.js开发的应用程序是一种将前端技术与移动平台结合的创新方式。...不过,这也需要开发者具备Android开发和前端技术的双重知识,以及对如何在Android环境中运行Web服务的理解。
Android从服务器获取图片 ...本文介绍了Android如何从服务器获取图片的步骤和关键代码,通过使用HttpGet、HttpClient、HttpEntity和BitmapFactory对象,可以轻松地从服务器获取图片并将其显示在手机上。
Android服务器通常指的是运行在Android设备上的服务组件,用于执行后台任务,提供网络服务,与其他设备或应用程序交互。以下是对Android服务器类以及常见方法的详细解释。 首先,我们了解下Android服务(Service)...
综上所述,"android访问tomcat服务器"这个案例涵盖了Android客户端的网络请求、服务器端的Servlet编程、数据库操作、数据展示等多个环节,是Android与Web服务交互的经典实践。开发者需要理解并掌握这些技术点,才能...
在Android项目中,我们可以利用`NanoHTTPD`快速搭建一个本地服务器,用于提供静态资源服务,例如HTML、CSS、JavaScript文件等。 接下来,我们详细介绍一下创建过程: 1. **集成NanoHTTPD** - 在`build.gradle`...
在Android开发过程中,HTTP接口测试是一项重要的任务,用于验证服务器端API的功能以及客户端与服务器之间的数据交换。"android HTTP接口测试软件"是一个专为Android平台设计的小型应用程序,旨在简化这个过程。它...
- `Android 中tomcat搭建本地服務器 - Tomcat小站.mht`:这可能是另一个关于在Android设备上搭建Tomcat服务器的指南。 - `android开发中tomcat服务器怎么设置?的终极解决教程 - 大灰狼教程网.mht`:这个教程可能是...
在本场景中,Spring可能被用来管理Struts和Hibernate的依赖,以及处理服务层逻辑。 5. **JSON**:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在...
在云服务器上,你需要部署一个支持HTTP/HTTPS的Web服务,比如使用Node.js、PHP或Java的Spring Boot等。这里我们假设使用Java后端,用Spring Boot搭建RESTful API。你需要创建一个MySQL数据库,存储用户信息,如...
兼容 Node.js API 的 Android 本地服务器框架。支持 libUV, TCP, UDT, ...set/clear Timeout/IntervalEventEmitterStreamHttpParserHTTPHTTPP(run http over udp)TCPUDT(udp transport)DNSURLfor API usage, check ...
1. **HTTP/HTTPS 协议**:Android客户端与Web服务器之间的通信大多基于HTTP或HTTPS协议。HTTP是超文本传输协议,用于传输数据,而HTTPS是在HTTP基础上加入了SSL/TLS安全层,提供了加密处理、服务器身份验证和消息...
很多时候需要用到在android系统上部署HTTP,如转码解码、共享本地手机文件等等,这时候可以通过在手机上部署http服务,其他设备访问该服务网址即可。 部署的手机需要开启连接wifi,局域网内其他设备可访问到该网址...
本教程将详细介绍如何通过HTTP协议在Android客户端实现文件上传,并在服务器端使用Servlet进行处理。 首先,我们需要理解HTTP协议。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网...