加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice实现服务器端与android通信

发布时间:2020-12-16 23:46:21 所属栏目:安全 来源:网络整理
导读:大多数的通信方案有 ?JSON, 或 web service 。我们最终确认使用的是 web service ( J2EE 服务器端) + ksoap ( android 客户端),原因是我们没有 PHP 方面的知识积累,选用 Java 至少我们还懂一些。可是在之后的实作里碰到很大的困难,一是网上没有找到详

大多数的通信方案有?JSON,web service。我们最终确认使用的是web serviceJ2EE服务器端)+ ksoapandroid客户端),原因是我们没有PHP方面的知识积累,选用Java至少我们还懂一些。可是在之后的实作里碰到很大的困难,一是网上没有找到详细的一步步从头开始资料;二是,网上提供的例子很简单,我记得是一个做加法的例子;实际中,经常要涉及到结构参数的回传和调用;三是没有找到服务器端+android客户端的完整例子;都是割裂的,要嘛讲的是服务器端,要嘛讲的是客户端。现在把我们的经验系统的分享给大家。

?

?????????先介绍一下服务器端开发环境是?myeclipse 9.0

1,建立?web service工程,如下所示

?

2,填写工程配置,注意红圈部分,一定要选“JAX-WS;点击“确认”,就生成了基本的工程。

?

3,这里我们做些准备工作,实现一个客户端启动时自动检测版本信息的例子:

??????1)建立一个?bean,注意这是个POJO,需要有setXXX,getXXX,否则将不能正常工作。

publicclass?Clientversion {?

??????// Fields?

private?IntegeroldestVersion; //目前可兼容的最老版本

??????currentVersion; //当前最新版本

private?StringdownloadUrl1; //最新版客户端下载地址1

downloadUrl2; //最新版客户端下载地址2

releaseNote;?//关于最新版的描述?

// Constructors?

/** default constructor */

public?Clientversion() {

??????}?

/** full constructor */

public?Clientversion(Integer oldestVersion,Integer currentVersion,

??????????????????String downloadUrl1,String downloadUrl2,String releaseNote) {

????????????this.oldestVersion?= oldestVersion;

currentVersion?= currentVersion;

downloadUrl1?= downloadUrl1;

downloadUrl2?= downloadUrl2;

releaseNote?= releaseNote;

// Propertyaccessors?

public?Integer getOldestVersion() {

returnoldestVersion;

void?setOldestVersion(Integer oldestVersion) {

public?Integer getCurrentVersion() {

currentVersion;

??????}

?

void?setCurrentVersion(Integer currentVersion) {

public?String getDownloadUrl1() {

downloadUrl1;

void?setDownloadUrl1(String downloadUrl1) {

public?String getDownloadUrl2() {

downloadUrl2;

void?setDownloadUrl2(String downloadUrl2) {

public?String getReleaseNote() {

releaseNote;

void?setReleaseNote(String releaseNote) {

}

?2)设一个类,定义一个接口函数

RequestHandler.java

?package?cn.stepbystep.service;

?import?cn.stepbystep.bean.Clientversion;

class?RequestHandler {

//

???????public?Clientversion requestVersion(int?version) //客户端调用的接口,传入client端的参数

??????{

????????????Clientversion info =?new?Clientversion();

???????????

??????????? //构造一个版本信息,之后回传给客户端

????????????info.setCurrentVersion(103);

????????????info.setOldestVersion(100);

????????????info.setDownloadUrl1("http://www.smallke.net");

??????????? info.setDownloadUrl1("http://www.smallke.net/promote.html");

????????????info.setReleaseNote("这是个例子");

return?info;

??????}????

?

3)最后的工程的结构是这样的:

?

4,生成?web service接口

(1)????在快捷工具栏选择“New Web Service

?

(2)????出现一个对话框,做出图示选择,然后点“next

?

(3)?选择需要实现web service的接口

注意,在红圈处输入刚才我们实现的类;其他部分内容为自动产生,不需要做任何修改;然后点击“finish

?

???? (4)?再次查看工程,会发现多了一个文件,这是web service自动生成的

?

同时会在web.xml里发现多几行配置

?

?

5,到此,服务器端的工作就完成了。让我们来简单测试。

?(1)在工程上右键,弹出菜单,选择?Debug as -> Myeclipse server application

?

(2)?选择一个应用容器,我选的是?MyEclipse自带的tomcat

?

(3)?工程起来后,自动切到默认主页

?

(4)?在地址栏上输入这个地址,就会看到以下页面;到此证明服务器端是OK了。

转载自:http://www.voidcn.com/article/p-zkjmsirq-bde.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读