好的,我在我的网站上有一个由1and1.com托管的数据库。
我如何从android连接数据库和存储信息,并从应用程序中检索信息?
发布于 2012-02-29 13:11:06
你不能从你的android直接访问远程数据库。据我所知,您需要在服务器DB上执行CRUD操作,即您希望在服务器端反映更改。最好的方法是通过WebServices公开你的CRUD操作,并在你的android应用程序中使用它们。
发布于 2012-02-29 13:42:52
您需要使用php或其他您喜欢的语言编写服务,并将sql响应作为XML/JSON返回。在Android应用程序中,你需要做HTTPURLConnection,使用inbuit JSON/XML解析器你需要解析响应。
发布于 2012-02-29 15:41:00
我假设您了解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
}Link for Ksoap library for Android
您可以从上面的链接下载库。我希望这能解决你的问题。如果您对此有任何问题,请添加评论。
https://stackoverflow.com/questions/9493822
复制相似问题