SQLServer数据库之Android通过webservice对sqlserver数据库进行操作
小标 2018-10-19 来源 : 阅读 1467 评论 0

摘要:本文主要向大家介绍了SQLServer数据库之Android通过webservice对sqlserver数据库进行操作,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。

本文主要向大家介绍了SQLServer数据库之Android通过webservice对sqlserver数据库进行操作,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。

首页在AndroidManifest.xml中添加访问数据库权限
    
在src中新建一个连接webservice的类,名字随意,这里叫做“HttpConnSoap”。基本上这个类是固定的,要改的大多数就是webservice端口地址,具体代码如下:
package com.example.hospital;//名字要改成自己的包名
import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.List;
import org.xmlpull.v1.XmlPullParser; import android.util.Xml; 
public class HttpConnSoap { public ArrayList GetWebServre(String methodName,ArrayList Parameters,ArrayListParValues) {  ArrayList Values=new ArrayList();  String ServerUrl="//10.0.2.2:8093/Service1.asmx";//网友要改的大多数就是这里。   //String soapAction="//tempuri.org/LongUserId1";  String soapAction="//tempuri.org/"+methodName;   String data="";   String soap = ""               + ""               +"";          String tps,vps,ts;             String mreakString="";             mreakString="<"+methodname+" xmlns="\"//tempuri.org/\"">";             for ( int i = 0; i < Parameters.size(); i++) {        tps=Parameters.get(i).toString();        //设置该方法的参数为.net webService中的参数名称              vps=ParValues.get(i).toString();          ts="<"+tps+">"+vps+"";        mreakString=mreakString+ts;       }             mreakString=mreakString+"";             /*             +""             +"string11661"             +"string111"             + ""             */             String soap2="";              String requestData=soap+mreakString+soap2;       System.out.println(requestData);
   try{   URL url =new URL(ServerUrl);   HttpURLConnection con=(HttpURLConnection)url.openConnection();   byte[] bytes=requestData.getBytes("utf-8");   con.setDoInput(true);   con.setDoOutput(true);   con.setUseCaches(false);   con.setConnectTimeout(8000);// 设置超时时间   con.setRequestMethod("POST");   con.setRequestProperty("Content-Type", "text/xml;charset=utf-8");   con.setRequestProperty("SOAPAction",soapAction);   con.setRequestProperty("Content-Length",""+bytes.length);   OutputStream outStream=con.getOutputStream();   outStream.write(bytes);   outStream.flush();   outStream.close();   InputStream inStream=con.getInputStream();
   //data=parser(inStream);   //System.out.print("11");     Values= inputStreamtovaluelist(inStream,methodName);     //System.out.println(Values.size());   return Values;      }   catch(Exception e)   {    System.out.print("2221");    return null;   } } public   ArrayList   inputStreamtovaluelist  (InputStream   in,String MonthsName)   throws   IOException   {         StringBuffer   out   =   new   StringBuffer();        String s1="";        byte[]   b   =   new   byte[4096];         ArrayList Values=new ArrayList();        Values.clear();        for  (int   n;   (n   =   in.read(b))   !=   -1;)   {                 s1=new  String(b,   0,   n);                out.append(s1);        }         System.out.println(out);  String[] s13=s1.split("><");  String ifString=MonthsName+"Result";     String TS="";     String vs="";          Boolean getValueBoolean=false;  for(int i=0;i=0)   {    System.out.println(j);    if (getValueBoolean==false)    {     getValueBoolean=true;    }    else {         }        if ((j>=0)&&(k>j))    {      System.out.println("FFF"+TS.lastIndexOf("/"+ifString));      //System.out.println(TS);      l=ifString.length()+1;      vs=TS.substring(j+l,k-2);      //System.out.println("fff"+vs);      Values.add(vs);      System.out.println("退出"+vs);     getValueBoolean=false;     return   Values;     }       }   if (TS.lastIndexOf("/"+ifString)>=0)   {    getValueBoolean=false;    return   Values;    }   if ((getValueBoolean)&&(TS.lastIndexOf("/"+ifString)<0)&&(j<0))   {     k=TS.length();     //System.out.println(TS);     vs=TS.substring(7,k-8);     //System.out.println("f"+vs);     Values.add(vs);   }     }          return   Values; } }
 需要新建一个数据库访问类,通过HttpConnSoap这个类和底层数据库进行通信,操作。这里新建的方法要和你新建webservice时一直,我的webservice是用vs2010,.net 3.5框架搭建的。这里列举两个方法,写法大概就是这样的,网友写的时候要根据自己的需求来写就好了。
public class DBUtil {   static boolean feeflag=false;    ArrayList arrayList=new ArrayList(); ArrayList brrayList=new ArrayList(); ArrayList crrayList=new ArrayList(); HttpConnSoap Soaptest=new HttpConnSoap();     public static Connection getConnection() {  Connection con=null;   try  {   System.out.println("111");            Class.forName("org.gjt.mm.mysql.Driver");            System.out.println("222");   con=DriverManager.getConnection("jdbc:mysql://192.168.0.100:3306/test?useUnicode=true&characterEncoding=UTF-8","root","123456");   System.out.println("333");  }  catch(Exception e)  {   System.out.println("444");   e.printStackTrace();  }  return con; }
 //查询学生信息    public  String[] selectStu(String StuNO)    {     String ss[]=new String[8];     String result=null;     arrayList.clear();  brrayList.clear();  crrayList.clear();  arrayList.add("StuNO");  brrayList.add(StuNO);  crrayList=Soaptest.GetWebServre("selectStu", arrayList, brrayList);  ss[0]=crrayList.get(0);  ss[1]=crrayList.get(1);  ss[2]=crrayList.get(2);  ss[3]=crrayList.get(3);  ss[4]=crrayList.get(4);  ss[5]=crrayList.get(5);  ss[6]=crrayList.get(6);  ss[7]=crrayList.get(7);  return ss;         }        public List<HashMap> selectStuAll() {  List<HashMap> list = new ArrayList<HashMap>();
  arrayList.clear();  brrayList.clear();  crrayList.clear();
  crrayList = Soaptest.GetWebServre("selectStuAll", arrayList, brrayList);    /*HashMap tempHash = new HashMap();  tempHash.put("S_Name", "姓名");  tempHash.put("S_Age", "年龄");  tempHash.put("S_Sex", "性别");  list.add(tempHash);*/    for (int j = 0; j < crrayList.size();  j += 3) {   HashMap hashMap = new HashMap();   hashMap.put("S_Name", crrayList.get(j));   hashMap.put("S_Age", crrayList.get(j + 1));   hashMap.put("S_Sex", crrayList.get(j + 2));   list.add(hashMap);  }
  return list; }
}
 下面就是Android程序中调用了,这里用listview显示数据。
private ListView listView; private DBUtil dbUtil; private SimpleAdapter adapter;
private void setListView() {
List<HashMap> list = new ArrayList<HashMap>();
list = dbUtil.selectStuAll();
 adapter = new SimpleAdapter(    DayList.this,     list,     R.layout.adapter,     new String[] { "S_Name", "S_Age", "S_Sex" },     new int[] { R.id.textView1, R.id.textView2, R.id.textView3 });
  listView.setAdapter(adapter);
 }

本文由职坐标整理并发布,希望对同学们学习SQL Server有所帮助,更多内容请关注职坐标数据库SQL Server数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程