Android (Java) 使用服务器简单发送和接收 - 快速设置挑战
Posted
技术标签:
【中文标题】Android (Java) 使用服务器简单发送和接收 - 快速设置挑战【英文标题】:Android (Java) Simple Send and receive with Server - Fast Setup Challenge 【发布时间】:2010-11-02 07:06:29 【问题描述】:我正在编写一个 android 应用程序,我正在寻找最快(在设置方面)的方式,以便我将数据发送到服务器并根据请求接收回信息。
我们谈论的是基本的东西。我有一个日志文件,它告诉我用户如何使用我的应用程序(在测试版中,我通常不会通过不断记录来运行用户体验)并且我想将其传达给我的服务器(我还没有设置)。
我不需要安全性,我不需要高吞吐量或并发连接(我有 3 部手机可以玩),但我确实需要快速设置!
记得当年设置XAMPP特别无脑,那我可以用php把文件从手机发送到服务器吗?
理想情况下,服务器能够响应 GET,这将允许我发回一些最终影响 UI 的 SQL 语句。 (它的目的是根据最常用的选项来调整呈现的选项)。
所以你有它,我大约 4 年前使用 PHP,如果它是最好的,我会沿着这条路走,但是如果有某种新的怪异的端口开放关闭二进制流唱歌和跳舞方法已经取代了那个选项,我会很想知道。
This tutorial 看起来很有用,但我真的不需要对象序列化,只需要来回文本文件,自然压缩。
Android 自带 Apache HTTP Client 4.0 以及 java.net.URL 和 java.net.HttpUrlConnection,我宁愿不要在我的应用程序中添加太多第三方图书馆。
请记住,我也在设置服务器端,所以我正在寻找总体上最少的代码行数!
【问题讨论】:
【参考方案1】:private void sendData(ProfileVO pvo)
Log.i(getClass().getSimpleName(), "send task - start");
HttpParams p=new BasicHttpParams();
p.setParameter("name", pvo.getName());
//Instantiate an HttpClient
HttpClient client = new DefaultHttpClient(p);
//Instantiate a GET HTTP method
try
HttpResponse response=client.execute(new HttpGet("http://www.itortv.com/android/sendName.php"));
InputStream is=response.getEntity().getContent();
//You can convert inputstream to a string with: http://senior.ceng.metu.edu.tr/2009/praeda/2009/01/11/a-simple-restful-client-at-android/
catch (ClientProtocolException e)
// TODO Auto-generated catch block
e.printStackTrace();
catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();
Log.i(getClass().getSimpleName(), "send task - end");
【讨论】:
【参考方案2】:对您来说最简单的解决方案是使用 apache http 客户端获取 JSON 请求并将其发布到 php 服务器。
android 已经有一个JSON builder/parser built-in,PHP5 也有,所以集成是微不足道的,而且比使用它的 XML/Socket 对应物容易得多。
如果您想了解如何在 android 方面执行此操作的示例,这里有一个 twitter API,它基本上通过他们的 JSON REST API 与 twitter 进行通信。
【讨论】:
【参考方案3】:http://java.sun.com/docs/books/tutorial/networking/sockets/
这是一个很好的 Java 套接字通信背景教程。
【讨论】:
【参考方案4】:查看WWW.viewstreet.com 为 Java 程序员开发专门用于 Android 服务器端开发的 Apache 插件
【讨论】:
以上是关于Android (Java) 使用服务器简单发送和接收 - 快速设置挑战的主要内容,如果未能解决你的问题,请参考以下文章
FCM - 从 Java 向我的 android 设备发送通知
通过蓝牙从 Java 服务器向 Android 客户端发送文本
如何使用 fcm 和 j2ee 向 android 发送通知 [关闭]