Android Java подключается к онлайн-базе данных

57
5

Хорошо, поэтому у меня есть база данных, размещенная с 1and1.com с моего сайта..

Как я могу от android подключиться к базе данных и хранить информацию, а также получать информацию из приложения?

спросил(а) 2012-02-29T08:04:00+04:00 8 лет, 6 месяцев назад
1
Решение
89

Вам нужно написать услугу, используя либо php, либо какой-либо другой язык, который вам удобен, и верните ответ sql как XML/JSON. Из Android-приложения вам нужно выполнить HTTPURLConnection и использовать inbuit JSON/XML-парсеры, вам нужно проанализировать ответы.

ответил(а) 2012-02-29T08:42:00+04:00 8 лет, 6 месяцев назад
40

Я предполагаю, что вы знаете о веб-сервисе. напишите веб-службу, используя.net, а затем, используя библиотеку 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
}


Ссылка для библиотеки Ksoap для Android

Вы можете загрузить библиотеку по ссылке выше. Я хочу, чтобы это решило вашу проблему. Добавьте комментарий, если у вас есть какие-либо проблемы.

ответил(а) 2012-02-29T10:41:00+04:00 8 лет, 6 месяцев назад
40

Вы не можете напрямую обращаться к удаленной базе данных из вашего андроида. Из того, что я понимаю, вам нужно делать операции CRUD в БД сервера, т.е. Вы хотите, чтобы изменения отражались на стороне сервера. Лучший способ сделать это - разоблачить операции CRUD над WebServices и использовать их в своем приложении для Android.

ответил(а) 2012-02-29T08:11:00+04:00 8 лет, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема