android如何连接远程的数据库? 有代码吗?请帮忙?我要登录到远程服务器上, 提取用户信息进行验证

解决方案 »

  1.   

    通过操作webService,我也正在搞这种技术。
    大多是用“肥皂”技术,不过也有好的方案用WSDL(我想java平台下)自动生成webService代理类,不过我遇到了问题就是加载第三方包时出现了冲突;可能需android 平台下的软件去生成代理类
      

  2.   

    使用webservice技术实现服务端,把功能逻辑代码都写在这里,然后手机作为客户端,仅仅是调用WS提供的接口,就可以得到想要的数据了,而WS的实现有很多种,相信LS这个是知道的,而android调用WS,要用到ksoap2这个工具,百度下很多的,用起来也很方便
      

  3.   

    今天怎么这么多人问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;
        }
    }
      

  4.   


    谢谢你的回帖, 能帮我解释下,这几个变量要怎样赋值吗?
     private static String NameSpace="http://tempuri.org/"; 这个变量是什么意思呢?
     private static String webService="/webService/WebService.asmx";//WebService.asmx要自己写吗?
     private static String MethodName="HelloWorld2";//这个方法是写在WebService.asmx的吗?
      

  5.   


    还有就是,我要把在客户端输入的 username 发过去,去找相应的密码,这个参数要怎么传进去?
      

  6.   

     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的返回值
                }
    注意参数类型和形参名称一定要两边一致
      

  7.   


    好的 可以给我一个webService.asmx的代码做参考吗? 我可以模仿这 写我要实现的方法
      

  8.   

    额你随便建一个webService再配到电脑上就可以测试了啊。
      

  9.   

    注意:如果你调用的是.net提供的WS接口,那么一般来说namespace是默认为http://tempuri.org/,但是这个也是可以修改的。
    如果你调用的是Java提供的WS接口,比如用XFire实现的WS,那么,namespace是自己定义的
      

  10.   

    对,我做的是.NET的调用,其他的调用请自己百度一下
      

  11.   


    能帮我看下这段代码,
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://www.abc.com/selectusr.php");
    httppost.setEntity(new UrlEncodedFormEntity(nameP));
    HttpResponse response = httpclient.execute(httppost); 执行到这里的时候就抛出异常了, 为什么?
      

  12.   

    我用的是 android 2.2的模拟器
      

  13.   


     [WebMethod]
     public string getPassword(string username)
     {
           ....
           return password;
     }
    webService.asmx里面的代码是这样写的吗? 用Java代码实现吗? 
            
      

  14.   

    Socket 编程
    ServerIP ,Port.
      

  15.   

    可以参见http://blog.csdn.net/chenlong12580/article/details/7292021,已经实现了