android如何连接远程服务器的数据库? 有代码吗?请帮忙? android如何连接远程的数据库? 有代码吗?请帮忙?我要登录到远程服务器上, 提取用户信息进行验证 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 通过操作webService,我也正在搞这种技术。大多是用“肥皂”技术,不过也有好的方案用WSDL(我想java平台下)自动生成webService代理类,不过我遇到了问题就是加载第三方包时出现了冲突;可能需android 平台下的软件去生成代理类 使用webservice技术实现服务端,把功能逻辑代码都写在这里,然后手机作为客户端,仅仅是调用WS提供的接口,就可以得到想要的数据了,而WS的实现有很多种,相信LS这个是知道的,而android调用WS,要用到ksoap2这个工具,百度下很多的,用起来也很方便 今天怎么这么多人问webService的问题啊去网上下载这个jar包:ksoap2-android-assembly-2.4-jar-with-dependencies.jar使用方法如下:public class TestWebService extends Activity { private static String NameSpace="http://tempuri.org/"; private static String u="http://10.8.8.70:808";//请更换成你要访问的服务器地址 private static String webService="/webService/WebService.asmx";//webService目录 private static String MethodName="HelloWorld2";//要调用的webService方法 private static String soapAction=NameSpace+MethodName; private static String url=u+webService; private TextView tv; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tv=(TextView)findViewById(R.id.tv); tv.setText(ws()); } //webService操作要访问网络,所以最好是使用线程来做,这里只是示例,所以就不考虑了 private String ws(){ String result=""; try{ SoapObject request=new SoapObject(NameSpace,MethodName);//NameSpace //webService方法中的参数,这个根据你的webservice来,可以没有。 //但请注意,参数名称和参数类型客户端和服务端一定要一致,否则将可能获取不到你想要的 //request.addProperty("x",5); //request.addProperty("y", 6); SoapSerializationEnvelope envelope=new SoapSerializationEnvelope( SoapEnvelope.VER11); envelope.dotNet=true; envelope.setOutputSoapObject(request); HttpTransportSE ht=new HttpTransportSE(url); ht.call(soapAction, envelope); if(envelope.getResponse()!=null){ SoapPrimitive response=(SoapPrimitive)envelope.getResponse(); result=response.toString();//这里获得了webService的返回值 } }catch(Exception e){ result=e.getMessage(); } return result; }} 谢谢你的回帖, 能帮我解释下,这几个变量要怎样赋值吗? private static String NameSpace="http://tempuri.org/"; 这个变量是什么意思呢? private static String webService="/webService/WebService.asmx";//WebService.asmx要自己写吗? private static String MethodName="HelloWorld2";//这个方法是写在WebService.asmx的吗? 还有就是,我要把在客户端输入的 username 发过去,去找相应的密码,这个参数要怎么传进去? private static String NameSpace="http://tempuri.org/"; 这个变量是什么意思呢?答:这个不用管,照写就对了 private static String webService="/webService/WebService.asmx";//WebService.asmx要自己写吗?答:这个可以是自己写的,也可以是别人提供的,但是地址一定要正确,就是这个地址你能够在浏览器里面正常打开这个界面 private static String MethodName="HelloWorld2";//这个方法是写在WebService.asmx的吗?答:这个方法一定是要写在WebService.asmx里面的,否则你调用什么呀?还有就是,我要把在客户端输入的 username 发过去,去找相应的密码,这个参数要怎么传进去?答:参考上面的代码,request.addProperty("x",5);改成:request.addProperty("username",你要传的参数); if(envelope.getResponse()!=null){ SoapPrimitive response=(SoapPrimitive)envelope.getResponse(); result=response.toString();//这里获得了webService的返回值 }注意参数类型和形参名称一定要两边一致 好的 可以给我一个webService.asmx的代码做参考吗? 我可以模仿这 写我要实现的方法 额你随便建一个webService再配到电脑上就可以测试了啊。 注意:如果你调用的是.net提供的WS接口,那么一般来说namespace是默认为http://tempuri.org/,但是这个也是可以修改的。如果你调用的是Java提供的WS接口,比如用XFire实现的WS,那么,namespace是自己定义的 对,我做的是.NET的调用,其他的调用请自己百度一下 能帮我看下这段代码,HttpClient httpclient = new DefaultHttpClient();HttpPost httppost = new HttpPost("http://www.abc.com/selectusr.php");httppost.setEntity(new UrlEncodedFormEntity(nameP));HttpResponse response = httpclient.execute(httppost); 执行到这里的时候就抛出异常了, 为什么? 我用的是 android 2.2的模拟器 [WebMethod] public string getPassword(string username) { .... return password; }webService.asmx里面的代码是这样写的吗? 用Java代码实现吗? Socket 编程ServerIP ,Port. 可以参见http://blog.csdn.net/chenlong12580/article/details/7292021,已经实现了 listview的底部分割线 求大神制定学习方向 在 android 怎样唤醒 处于阻塞 状态的线程? ListView 如何动态刷新 删除 添加 视频采集问题 请教eclipse如何查看NullPointerException所在行数? 如何连接网络 怎么讲图片资源的drawable类里面的静态常量读到数组里面去 求助:android 如何在系统设置中添加自己的设置项(不改变系统设置源码) Android 蓝牙4.0第二次连接延迟很久。 怎么获取后台运行的Service实例? 不会刷机怎能学会安卓开发!?
大多是用“肥皂”技术,不过也有好的方案用WSDL(我想java平台下)自动生成webService代理类,不过我遇到了问题就是加载第三方包时出现了冲突;可能需android 平台下的软件去生成代理类
去网上下载这个jar包:ksoap2-android-assembly-2.4-jar-with-dependencies.jar
使用方法如下:public class TestWebService extends Activity {
private static String NameSpace="http://tempuri.org/";
private static String u="http://10.8.8.70:808";//请更换成你要访问的服务器地址
private static String webService="/webService/WebService.asmx";//webService目录
private static String MethodName="HelloWorld2";//要调用的webService方法
private static String soapAction=NameSpace+MethodName;
private static String url=u+webService;
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv=(TextView)findViewById(R.id.tv);
tv.setText(ws());
}
//webService操作要访问网络,所以最好是使用线程来做,这里只是示例,所以就不考虑了
private String ws(){
String result="";
try{
SoapObject request=new SoapObject(NameSpace,MethodName);//NameSpace
//webService方法中的参数,这个根据你的webservice来,可以没有。
//但请注意,参数名称和参数类型客户端和服务端一定要一致,否则将可能获取不到你想要的
//request.addProperty("x",5);
//request.addProperty("y", 6);
SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
HttpTransportSE ht=new HttpTransportSE(url);
ht.call(soapAction, envelope);
if(envelope.getResponse()!=null){
SoapPrimitive response=(SoapPrimitive)envelope.getResponse();
result=response.toString();//这里获得了webService的返回值
}
}catch(Exception e){
result=e.getMessage();
}
return result;
}
}
谢谢你的回帖, 能帮我解释下,这几个变量要怎样赋值吗?
private static String NameSpace="http://tempuri.org/"; 这个变量是什么意思呢?
private static String webService="/webService/WebService.asmx";//WebService.asmx要自己写吗?
private static String MethodName="HelloWorld2";//这个方法是写在WebService.asmx的吗?
还有就是,我要把在客户端输入的 username 发过去,去找相应的密码,这个参数要怎么传进去?
答:这个不用管,照写就对了 private static String webService="/webService/WebService.asmx";//WebService.asmx要自己写吗?
答:这个可以是自己写的,也可以是别人提供的,但是地址一定要正确,就是这个地址你能够在浏览器里面正常打开这个界面 private static String MethodName="HelloWorld2";//这个方法是写在WebService.asmx的吗?
答:这个方法一定是要写在WebService.asmx里面的,否则你调用什么呀?还有就是,我要把在客户端输入的 username 发过去,去找相应的密码,这个参数要怎么传进去?
答:参考上面的代码,request.addProperty("x",5);改成:request.addProperty("username",你要传的参数);
if(envelope.getResponse()!=null){
SoapPrimitive response=(SoapPrimitive)envelope.getResponse();
result=response.toString();//这里获得了webService的返回值
}
注意参数类型和形参名称一定要两边一致
好的 可以给我一个webService.asmx的代码做参考吗? 我可以模仿这 写我要实现的方法
如果你调用的是Java提供的WS接口,比如用XFire实现的WS,那么,namespace是自己定义的
能帮我看下这段代码,
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.abc.com/selectusr.php");
httppost.setEntity(new UrlEncodedFormEntity(nameP));
HttpResponse response = httpclient.execute(httppost); 执行到这里的时候就抛出异常了, 为什么?
[WebMethod]
public string getPassword(string username)
{
....
return password;
}
webService.asmx里面的代码是这样写的吗? 用Java代码实现吗?
ServerIP ,Port.