`

android 连接服务器的方法及安全性问题

 
阅读更多

(一)Android网络通信的六种方式示例代码

有篇网文很不错:http://www.apkbus.com/android-13316-1-1.html,

 

 

在Android中几种网络编程的方式:

(1)针对TCP/IP的Socket、ServerSocket

(2)针对UDP的DatagramSocket、DatagramPackage。这里需要注意的是,考虑到Android设备通常是手持终端,IP都是随着上网进行分配的。不是固定的。因此开发也是有一点与普通互联网应用有所差异的。

(3)针对直接URL的HttpURLConnection

(4)Google集成了Apache HTTP客户端,可使用HTTP进行网络编程。针对HTTP,Google集成了Appache Http core和httpclient 4版本,因此特别注意Android不支持httpclient 3.x系列,而且目前并不支持Multipart(MIME),需要自行添加httpmime.jar 

(5)使用Web Service。Android可以通过开源包如jackson去支持Xmlrpc和Jsonrpc,另外也可以用Ksoap2去实现Webservice 

(6) 直接使用WebView视图组件显示网页。基于WebView 进行开发,Google已经提供了一个基于chrome-lite的Web浏览器,直接就可以进行上网浏览网页。

 

尽管有多种连接服务器的方式,但受制于具体的应用场景,其实选择的方法并不多,比较常用的方法是第4种,和网页开发基本相同。

 

(二)榜样

榜样的力量是无穷的,在此分析一下淘宝客户端的连接方式,或许猜测的并不正确。

 

login(this.userName, this.password, PhoneInfo.getImei(this), PhoneInfo.getImsi(this), this.checkCode, this.checkCodeId);
...
new ConnectorHelper(pubKey, userName, password, imei, imsi, nextTime, checkCode, checkCodeId,token, appkey, appsecret);
...
url 中的参数:
api:com.taobao.client.sys.login,
t:nextTime,
v:v2,
username,
password:RSAUtil.encrypt(password),
token,
checkCode,
checkCodeId,
appKey,
topToken:(byte2hex(MD5(getBytes("gbk")))=>(appkey+appsecret+userName+nextTime),
apiBaseUrl,
ttid,
imei,
imsi,
device_id,
appSecret,
sign


  


  
分享到:
评论

相关推荐

    Android连接服务器端

    ### Android连接服务器端的数据交互方法 #### 摘要与背景 随着移动互联网技术的快速发展,特别是3G网络的普及,智能手机已经不仅仅是传统的通讯工具,更成为了接入互联网的重要终端之一。在这种背景下,如何让...

    android studio连接云服务器mysql实现登录注册

    总之,实现"android studio连接云服务器mysql实现登录注册"涉及到Android应用开发、网络编程、数据库操作和服务器端API设计等多个方面。理解并掌握这些知识点,将有助于你构建出稳定、安全的移动应用。在实际开发...

    android客户端连接远程服务器传递数据

    "Android 客户端连接远程服务器传递数据" Android 客户端连接远程服务器传递数据是指在 ...但是,需要注意网络连接的稳定性和安全性,选择合适的数据交换格式,确保服务器的性能和可扩展性,实现数据的加密和解密。

    Android连接服务器客户端程序

    在Android平台上,构建一个连接服务器的客户端程序是应用程序与远程数据源进行交互的关键步骤。这个过程涉及网络通信、数据传输以及错误处理等多个方面。本文将深入探讨如何在Android中实现这样的客户端程序,主要...

    Android与Netty服务器连接

    此外,由于Android系统的安全性,可能需要处理权限问题,比如在Android 6.0及以上版本中,需要动态申请网络权限。 总之,Android与Netty服务器连接需要配置Bootstrap,选择合适的通道类型,定义自定义处理器,并...

    Android连接MySQL方法

    综上所述,这个"Android连接MySQL方法"的项目涵盖了Android与服务器的网络通信、PHP中介、数据解析等多个关键知识点,对于理解Android网络编程和数据库交互具有实践指导意义。通过学习和研究这个源码,开发者可以更...

    android客户端连接服务器并交互.zip

    本文将深入探讨如何实现Android客户端连接到服务器并进行数据交互,主要涉及以下几个关键知识点: 1. **HTTP/HTTPS协议**:Android客户端与服务器间的数据交换通常基于HTTP或更安全的HTTPS协议。HTTP用于传输超文本...

    android连接服务器实现登录的demo

    本教程将探讨如何在Android客户端实现一个登录系统,该系统能够与基于JSP、Servlet和MySQL的后端服务器协同工作。首先,我们需要理解Android客户端与服务器交互的基本原理,然后详细介绍每个组成部分的作用。 **...

    Android应用源码之客户端连接服务器并交互实例.zip

    此实例源码提供了Android客户端连接服务器并进行数据交换的具体实现,让我们一起深入探讨其中涉及的技术点。 1. **网络通信基础**: Android中的网络通信主要依赖于`java.net`和`android.net`这两个包。常用的API...

    android客户端连接服务器交互实例

    首先,我们要理解Android客户端连接服务器的基本流程。通常,客户端会通过HTTP或HTTPS协议向服务器发送请求,请求可以是GET或POST方式,携带必要的参数。在Android中,我们可以使用HttpURLConnection或者第三方库如...

    android与服务器通信

    综上所述,Android与服务器通信涉及多个层面,包括选择合适的通信协议、库,实现登录功能,以及处理网络异常和安全性问题。开发者需要根据项目需求,灵活运用这些知识,构建高效、安全的应用。描述中的源代码示例...

    Android 连接C# SQLserver

    总结来说,Android连接C# SQL Server的过程涉及Android客户端的网络请求、C# Web服务接口设计和SQL Server数据库操作。理解并掌握这些技术,能够帮助开发者构建起客户端和服务器之间的桥梁,实现数据的高效交互。

    Android Socket服务器客户端编程

    在Android中,由于安全性和权限限制,网络操作通常需要在后台服务或者非主线程中进行,防止应用程序因网络操作耗时而阻塞UI。`AsyncTask`或者`IntentService`是常用的处理网络操作的手段,它们可以帮助我们在后台...

    Android SSL 安全访问HTTPS服务器案例

    在Android应用开发中,安全地访问HTTPS服务器是至关重要的,因为这涉及到用户的隐私数据和应用程序的安全性。SSL(Secure Socket Layer)和其升级版本TLS(Transport Layer Security)是实现网络通信安全的重要工具...

    android连接java web服务器的小程序

    3. 安全性:在进行网络通信时,必须考虑安全问题。可以使用HTTPS协议加密通信,防止数据被窃取。同时,服务器端应进行身份验证和权限控制,防止未授权访问。 4. 错误处理:客户端和服务端都需要处理可能出现的异常...

    Android 经典蓝牙连接,多台蓝牙设备同时连接,全站仪连接

    在Android平台上,实现蓝牙连接是一项常见的任务,尤其在与物联网设备如全站仪进行通信时。...开发者需要处理各种设备兼容性问题、网络延迟、连接稳定性及安全性等问题,以提供用户友好的多设备蓝牙连接功能。

    android socket 服务器端

    在Android中,由于安全性和权限限制,通常需要在Service或者后台线程中处理Socket通信,以避免阻塞UI线程。 首先,我们需要导入必要的库: ```java import java.io.IOException; import java.net.ServerSocket; ...

    AndroidJson.rar_Android连接json_安卓服务器_连接服务器

    总结起来,Android连接服务器并通过JSON进行数据交换涉及了JSON解析、网络请求、数据安全以及权限管理等多个方面。通过学习和实践这些知识点,开发者可以有效地构建出能够与服务器交互的Android应用程序。

Global site tag (gtag.js) - Google Analytics