Android-用webservice连接sqlserver数据库
以前做的东西,只要用数据库的都是在项目里自己重新做一份数据。但是这种方法是很不可取的,首先,手机内存不会很大,把数据表建在项目里无疑又增大了程序。这样一来手机的运行速度可想而知。其次,数据大的时候还是放在数据库比较合适,不仅方便而且可达到同步的效果。
很多应用软件所依存的数据都是在数据库里,这时方便精简又可同步到数据库的方法只有连接数据库了。这里就是用webservice连接数据库即soap协议来达到获取数据库信息的目的。
做了个小例子:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
tools:context=".MainActivity" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/name"
android:layout_width="200dp"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/search" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/search"/>
</LinearLayout>
<TextView android:id="@+id/result"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/> </LinearLayout>
建一个工具类SOAPUtil:
public class SOAPUtil {
public static Object doTransport(final String wsdUrl, final String webMethod) {
String nameSpace = "http://tempuri.org/";//一般都是默认的
SoapObject soapObject = new SoapObject(nameSpace, webMethod);
// soapObject.addProperty(propertyInfo)
System.out.println();
SoapSerializationEnvelope soapSerializationEnvelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
soapSerializationEnvelope.bodyIn = soapObject;
soapSerializationEnvelope.dotNet = true;
soapSerializationEnvelope.setOutputSoapObject(soapObject);
HttpTransportSE httpTransportSE = new HttpTransportSE(wsdUrl);
String SOAP_ACTION = "http://tempuri.org/" + webMethod;
//输出soapAction
System.out.println(SOAP_ACTION);
try {
httpTransportSE.call(SOAP_ACTION, soapSerializationEnvelope);
System.out.println("调用结束");
//输出响应
System.out.println(soapSerializationEnvelope.getResponse());
if (soapSerializationEnvelope.getResponse() != null) {
SoapObject result = (SoapObject) soapSerializationEnvelope
.getResponse();
//输出结果
for (int i = 0; i < result.getPropertyCount(); i++) {
System.out.println("result [" + i + "] = "+ result.getProperty(i).toString());
}
return result;
}
} catch (IOException e) {
System.out.println("IOException");
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
return null;
}
}
主要实现方法:
public class MainActivity extends Activity {
private Button searchs;
private TextView results;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
searchs=(Button) findViewById(R.id.search);
results=(TextView) findViewById(R.id.result);
searchs.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//服务器地址
String wsdUrl="http://192.168.1.195:88/service1.asmx";
//方法名
String method="SelectAll";
Object result=SOAPUtil.doTransport(wsdUrl, method);
results.setText(result.toString());
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
以上这些是我们在客户端这边的必要步骤,除此之外还需要服务器给出接口(接口名即activity里的方法名)。这里我没有写接口,接口其实很简单各种编程语言都可以,主要就是sql操作语句,写完部署到服务器即可。
Android-用webservice连接sqlserver数据库的更多相关文章
- Android通过webservice连接SQLServer 详细教程(数据库+服务器+客户端)
http://blog.csdn.net/zhyl8157121/article/details/8169172 目录(?)[-] 项目说明 开发环境的部署 数据库设计 服务器端程序设计Webserv ...
- Android通过webservice对sqlserver数据库进行操作
首页在AndroidManifest.xml中添加访问数据库权限 <uses-sdk android:minSdkVersion="7" /> <uses-per ...
- jsp连接sqlServer数据库教程
一.首先讲下我用的工具版本以供参考: jar包:jtds1.3.1.jar 下载地址:点击进入 数据库:SQL Server2012 服务器:Tomcat8.0 下载地址:点击进入 开发IDE工 ...
- 使用thinkphp连接sqlserver数据库时提示“系统不支持:sqlsrv”
习惯了使用php跟mysql组合,现在接到项目需要调用客户线下的系统软件的数据,具了解,这个软件的数据库是用sqlserver数据库也就是常说的mssql数据库了. 那么我现在需要用PHP连接sqls ...
- asp.net 连接sqlserver数据库
在asp.net中连接sqlserver数据库之前,首先得确保正常安装了sqlserver2008,同时有数据库. 在项目中添加一个类DB,用来专门负责执行对数据库的增删改查.在添加的过程中会弹出下面 ...
- SQLServer-----使用jTDS连接SQLServer数据库
一.jTDS一个简短的引论 jTDS100%纯Java实现的JDBC3.0驱动,它用于连接 Microsoft SQL Server(6.5.7.2000,2005,2008 和 2012)和Syba ...
- Jmeter连接SqlServer数据库进行压力测试
Jmeter连接SqlServer数据库进行压力测试 前提准备:先安装jdbc驱动 驱动下载链接地址:http://pan.baidu.com/s/1bpDpjSr 密码:v6tn 下载解压之后,讲s ...
- python连接sqlserver数据库
1.准备工作 python3.6连接sqlserver数据库需要引入pymssql模块 pymssql官方:https://pypi.org/project/pymssql/ 没有安装的话需要: pi ...
- JavaWeb连接SQLServer数据库并完成一个登录界面及其功能设计。
一.JDBC连接SQLserver数据库的步骤: 1.下载SQLserver的JDBC驱动文件——Microsoft JDBC Driver 4.0 for SQL Server 2.例如下载得到的文 ...
- php支持连接sqlserver数据库
php支持连接sqlserver数据库 1.软件配置 Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2数据库,wamp2.2中的php版本是5.3.10. ...
随机推荐
- 和阿木聊Node.js
npm:node.js官方库 cnpm:taobao维护的库: WebStorm:Node.js的开发工具,但是收费: seajs:还有一款交requirjs,前者是遵循amd规范(一次性参数中加载要 ...
- SQL操作(增删改查)
1.一些重要的SQL命令: SELECT - 从数据库中提取数据UPDATE - 更新数据库中的数据DELETE - 从数据库中删除数据INSERT INTO - 向数据库中插入新数据CREATE D ...
- 配置PhpStorm调试PHP
配置PhpStorm调试PHP 第一步:配置 XDebug 下载安装XDebug到本地环境(参考:Zend Studio 9.x + xampp + XDebug 调试环境安装详解),打开php.in ...
- Docker日志自动化: ElasticSearch、Logstash、Kibana以及Logspout
http://www.open-open.com/lib/view/open1432107136989.html
- SpringSecurity简单应用(二)
这里我首先对我上一篇博文的第三个实例做一下讲解,下面是applicationContext-security.xml内容如下: <?xml version="1.0" enc ...
- 了解php的session_start的工作原理
一.php使用session_start开启SESSION 二.浏览器访问该php脚本时,将产生两个可能: 1.(客户端的提交的cookie没有找到PHPSESSID的键) 或 (在服务器端没有找到P ...
- spring初始化
* Created by litao on 15/12/29. */@Component("initTagDataProcessor")public class InitTagDa ...
- Inline Hook NtQueryDirectoryFile
Inline Hook NtQueryDirectoryFile 首先声明这个是菜鸟—我的学习日记,不是什么高深文章,高手们慎看. 都总是发一些已经过时的文章真不好意思,几个月以来沉迷于游戏也是时候反 ...
- Android 自定义组件随着手指自动画圆
首先自定义一个View子类: package com.example.androidtest0.myView; import android.content.Context; import andro ...
- Excel数据链接取消
Excel数据链接取消 2013-9-14 学校里弄来学生的成绩单,想去掉原来高一的学号,但是一删除,后面的成绩数据就一同消失,如以下两图对比所示. 删除第一列前 删除第一列后 此问题不知道怎么描述, ...