繁体   English   中英

Android Java连接到在线数据库

[英]Android Java connect to online database

好的,我的网站上托管了一个数据库1and1.com。

我如何从android连接数据库并存储信息,还可以从应用程序检索信息?

您无法直接从Android访问远程数据库。 据我了解,您需要在服务器DB上执行CRUD操作,即您希望所做的更改反映在服务器端。 最好的方法是通过WebServices公开CRUD操作,并在Android应用中使用它们。

您需要使用自己喜欢的php或其他语言编写服务,然后以XML / JSON形式返回sql响应。 在Android应用中,您需要执行HTTPURLConnection,并需要使用inbuit JSON / XML解析器来解析响应。

我假设您了解Web服务。 使用.net编写Web服务,然后使用ksoap库,您将获得响应。 然后根据您的要求格式化该响应。 参考代码:

private static final String NAMESPACE = "http://tempuri.org/"; 
private static final String URL ="http://localhost/Web_Service.asmx?";// you can use   IP address instead of localhost
private static final String METHOD_NAME = "Function_Name";
private static final String SOAP_ACTION = NAMESPACE+METHOD_NAME;

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
request.addProperty("parm_name",prm_value);// Parameter for Method
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(SOAP_ACTION, envelope);//call the eb service Method
} catch (Exception e) {
e.printStackTrace();}//Next task is to get Response and format that response
SoapObject obj,obj1,obj2,obj3;
obj= (SoapObject) envelope.getResponse();
obj1=(SoapObject) obj.getProperty("diffgram");
obj2=(SoapObject) obj1.getProperty("NewDataSet");
for(int i=0;i<obj2.getPropertyCount();i++)//the method getPropertyCount() return the number of rows
{
obj3=(SoapObject) obj2.getProperty(i);  
obj3.getProperty(0).toString();//value of column 1
obj3.getProperty(1).toString();//value of column 2
//like that you will get value from each column
}

适用于Android的Ksoap库链接

您可以从上面的链接下载库。 我想这将解决您的问题。 如果您对此有任何疑问,请添加评论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM