欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

android调用c# web service实现把sd卡txt文件数据写下远程数据库

更新时间: 2014-01-05 02:35:35 责任编辑: Author_N1

 

android调用c# web service实现把sd卡txt文件数据写入远程数据库
c#web service代码:

运行后
android端代码:
public class Upload extends Activity  {  
    private static String requestURL = "http://192.168.120.163/WebServiceLearn/Service1.asmx"; 
    private static final String methodName ="UploadAndroidFile"; 
    private String srcUrl  = Environment.getExternalStorageDirectory().getAbsolutePath();//获取SDCard目录;  
   private String fileName ="firstcheckinfo.txt";
    private String picPath= srcUrl + "/"+fileName;
  private List<String>  checkinfos=new ArrayList<String>();  
    /** Called when the activity is first created. */  
   @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        //setContentView(R.layout.upload);          
        try{
        FileInputStream fis = new FileInputStream(picPath);   
        ByteArrayOutputStream baos = new ByteArrayOutputStream();   
        byte[] buffer = new byte[1024];   
        int count = 0;   
        while((count = fis.read(buffer)) >= 0){   
            baos.write(buffer, 0, count);   
        }                  
        String uploadBuffer = new String(Base64.encode(baos.toByteArray(), count));  //进行Base64编码           
        List<String>  connectstring=connectWebService(fileName);   //调用webservice  
                    
        fis.close(); 
        }catch(Exception e){   
            e.printStackTrace();   
        }   

        
  
    }
private List<String> connectWebService(String fileName2) {
// TODO Auto-generated method stub
//使用 ksoap2 调用webservice      
       String namespace = "http://localhost/WebServiceLearn "; 
        // 命名空间,即服务器端得接口,注:后缀没加 .wsdl,   
                //服务器端我是用c#实现webservice接口的   
        String url = "http://localhost/WebServiceLearn/Service1.asmx?wsdl ";   
        // SOAP Action
           String soapAction="http://localhost/WebServiceLearn/UploadAndroidFile";
          

       //指定WebService的命名空间和调用的方法名
        SoapObject  soapObject = new SoapObject(namespace, methodName);       
        soapObject.addProperty("FileName", fileName2);  //参数1   文件名   
        //生成调用WebService方法的SOAP请求信息。该信息由SoapSerializationEnvelope对象描述
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);   
        envelope.bodyOut=soapObject;
       (new MarshalBase64()).register(envelope);
        envelope.dotNet = true; //这个属性是对dotnetwebservice属性的支持,如果 dotnetwebservice不指定rpc方式,则为true,否则是false 
        
        envelope.setOutputSoapObject(soapObject);
        
        //实例化一个HttpTransportSE对象来调用web service,并获得xml字符串数据
        HttpTransportSE httpTranstation = new HttpTransportSE(url);  
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:35:35
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/11852/
本文WWW.DOC100.NET DOC100.NET版权所有。