MySQL veritabanı ile Android arasında nasıl bağlantı kulur?

Arkadaşlar merhaba,
MySQL veritabanı ile Android arasında nasıl bağlantı kurabilirim? Kaynak atabilecek, yardımcı olabilecek var mı?
-İyi çalışmalar

F
0 kişi takip ediyor.
Misafir olarak yayınla
17
17 CEVAP

Ana class içinde bu 3 değişkeni tanımlıyoruz

*

public final static String URL = " http://sitem.com/androidservice.asmx?op=Hello"; burasıda sitede sizin çağıracağınız metot ismi olacak metodu sitede test ederken browsern url kısmında metoda tıkladığınızda ne görüyorsanız onu yazacaksınız
public static final String NAMESPACE = ""; // burası http şeklinde servicenin çalışacağı dizin olacak örnek " http://sitem.com/androidservice" gibi
public static final String SOAP_ACTION_PrefIX = "/"; burası ayıraç dokunmuyoruz

*

burası ana soap clasımız 

private class AsyncTaskRunner extends AsyncTask { 

* 
burada değişken tanımlamaları yapılabilir 
* 

@Override 
protected String doInBackground(String... Params) { 

publishProgress("mesaj"); 

try { 

* 
bunlar soapın kendi ayarları 
* 
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( 
SoapEnvelope. VER11); 

SoapObject request = new SoapObject(NAMESPACE, METHOD); 

* 
burada serviste kullandığımız metodlara parametre geçiriyoruz 
* 
PropertyInfo parametre = new PropertyInfo(); 
parametre = new PropertyInfo(); 
parametre. SetName("metodun aldığı parametre ismi"); 
parametre. SetValue("gönderilen değer"); 
parametre. SetType(String. Class); // değişken tipi 
request. AddProperty(parametre); 
* 
parametnre sayısı birden fazla ise hemen üstte oluşturduğumuz PropertyInfo sınıfından türeyen parametre sınıfını 

parametre = newPropertyInfo(); 
şeklinde yeniden tanımlayıp altına aynen yukarıdaki gibi değişkenlerimizi verebiliriz ve bunu kaç parametre geçireceksek o kadar yapmalıyız burada dikkat edilmesi gereken bir konu mesela servisteki metod örn 5 parametre alıyorsa siz 5 parametreyide burada sırasıyla belirtmek zorundasınız soldan sağa olacak şekilde sadece boş parametrelerin setvalue kısmını "" şeklinde boş bırakın yeter 
* 
envelope. DotNet = true; // burası önemli çünkü. Net ile çalışırken bunu aktif yapmalıyız 
envelope. BodyOut = request; 
httpTransportSE transport = new httpTransportSE(URL); 
try { 
transport. Call(NAMESPACE + SOAP_ACTION_PrefIX + METHOD, 
envelope); 
} catch (IOException e) { 
e. PrintStackTrace(); 
} catch (XmlPullParserException e) { 
e. PrintStackTrace(); 
} 

if (envelope. BodyIn != null) { // burada servisten dönen cevap envelope. BodyIn içine alınıyor boş olup olmadığını kontrol ediyoruz 

SoapPrimitive resultSOAP = (SoapPrimitive) ((SoapObject) envelope. BodyIn) 
.getProperty(0); 
resp = resultSOAP. ToString(); // yanıt boş değilse ki bu hata mesajı bile olabilir yanıtı resp değişkenine atıyoruz ve resp return ediliyor 
} 
} catch (Exception e) { 
e. PrintStackTrace(); 
resp =e. GetMessage(); 
} 
return resp; 
} 

/** 
* @see android. Os. AsyncTask#onpostExecute(java. Lang. Object) 
*/ 
@Override 
protected void onpostExecute(String result) { 

// burası resp return edildikten sonra çalışan blok gelen resp değeri ni burada alıp istediğiniz gibi action yapabilirsiniz 

super. OnpostExecute(result); 
} 

@Override 
protected void onPreExecute() { 
// burası doInBacground dan önce ve soap içinde aynı şekilde olmak üzere en önce çalışan metodtur burada gerekli ön değişken işlemleri yapılabilir değer atama vs 

super. OnPreExecute(); 
} 

@Override 
protected void onProgressUpdate(String... Text) { 
// Toast. MakeText(ctx, text[0], Toast. LENGTH_LONG).show(); 

//burasıda işlemler devam ederken çalışan bölümdür mesela text değişkeninin içine doinbackgraund içinde publishProgress("mesaj"); şeklinde bir ibare kullandım ben siz orada istersenin bilgilendirme amaçlı olarak progressbar falan kulllanabilirsiniz 
super. OnProgressUpdate(); 
} 

}
M