merhabalr. İnternet uzerinde bircok ornegi var. Ancak direk veritabani ile baglanti kurman buyuk bir guvenlik acigi. Apk dosyalari decompile edildigi icin direk veritabani adreslerin meydanda olacak. Sen en iyisi web service bağlantılarıni arastir.
http://www.dyn-web.com/tutorials/php-js/json/array.php Bu php ile json yapma. Olumune kolaydir. Androidden de yaz google cikar ole kolay bisi sordun ki yapamamaya imkan yok
Ben de senin gibi yeni yeni bağlantı kurmaya çalışıyorum Symfony ile web servis yazacaksın. Verileri json olarak yolla yip retrofit kütüphanesi ile android studio dan json verilerini alacaksın.
Burada importlarımız olacak zaten siz servisi ilk oluşturduğunnuzda onlar gelmiş olucak
[WebService(Namespace = " http://sitem.com/androidservice")] // To allow this Web Service to be called from script, using http://ASP.NET/ AJAX, uncomment the following line. [System. Web. Script. Services. ScriptService] public class androidservice: System. Web. Services. WebService { [WebMethod] // android kısmından kullanmak istediğimiz her metod için bu anahtarı metodun başında kullanıyoruz public string metos_ismi(string user) { String yanit=""; String server = "localhost";// burası değişmiyor String database = ""; // database ismi String uid = ""; // kullanıcı adı String password = ""; // parola String connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";"; MySqlConnection connection = new MySqlConnection(connectionString);
try { if (connection. State == ConnectionState. Closed) { connection. Open(); yanit="bağlantı açıldı !"; } cath(exception ex) { yanit="bağlantı hatası"; } return yanit; //burada soap için yanıtımızı döndürüyoruz bu kadar } } }
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();
}
}
Ayrıca ben bu yapıyı kullanarak ses video dosyasida gonderebiliyorum aynı şekilde string olarak burada base64 formatında encode edip gönderiyorum service tede decode edip kaydediyorum çok kolay oluyor isterseniz yarin konuda gönderebilirim
httprequest ile veri alis verisi yapabilirsin.
Volley kutuphanesi isini gorur
merhabalr. İnternet uzerinde bircok ornegi var. Ancak direk veritabani ile baglanti kurman buyuk bir guvenlik acigi. Apk dosyalari decompile edildigi icin direk veritabani adreslerin meydanda olacak. Sen en iyisi web service bağlantılarıni arastir.
Json yap gitsin hic ugrasma
Json ile alaklı örnekler var ama biraz karışık geldi, kolay örnekler varsa paylaşabilir misiniz?
http://www.dyn-web.com/tutorials/php-js/json/array.php Bu php ile json yapma. Olumune kolaydir. Androidden de yaz google cikar ole kolay bisi sordun ki yapamamaya imkan yok
burada basit bir şekilde Sqlite ile anlattığım örnek var bir incele istersen https://github.com/VB10/VeriTabaniFull
Ben de senin gibi yeni yeni bağlantı kurmaya çalışıyorum Symfony ile web servis yazacaksın. Verileri json olarak yolla yip retrofit kütüphanesi ile android studio dan json verilerini alacaksın.
firebase kullanırsan daha rahatlıkla işlemleri çözebilirsin
Kolaylığı nerde sağlıyor bakaym ben
web servis vs yazmana gerek yok araştır bana hak verirsin
Hmm tamam kardeşim bakacam mutlaka Teşekkürler
Çok temiz. Net service ornegim var işine yararsa verebilirim
Olabilir valla şuan söylenilen herşeyi araştırıyom inceliyorum
Sen sadece servisi çağırıp gerekli parametre leri geciyorsun json yada php gibi çorba da değil gayet temiz ve bütün bağlantı stringleri sunucuda
Bekliyorum
Su servis ornegını atarmısın biz de nasıplenelım
Hem c# hem android soap kismını eve gecince paylasicam arkadaşlar
Firebase kullanabilrsn bunun için yada bir webservis yazablrsn
Burada importlarımız olacak zaten siz servisi ilk oluşturduğunnuzda onlar gelmiş olucak
[WebService(Namespace = " http://sitem.com/androidservice")]
// To allow this Web Service to be called from script, using http://ASP.NET/ AJAX, uncomment the following line.
[System. Web. Script. Services. ScriptService]
public class androidservice: System. Web. Services. WebService
{
[WebMethod] // android kısmından kullanmak istediğimiz her metod için bu anahtarı metodun başında kullanıyoruz
public string metos_ismi(string user)
{
String yanit="";
String server = "localhost";// burası değişmiyor
String database = ""; // database ismi
String uid = ""; // kullanıcı adı
String password = ""; // parola
String connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
MySqlConnection connection = new MySqlConnection(connectionString);
try
{
if (connection. State == ConnectionState. Closed)
{
connection. Open();
yanit="bağlantı açıldı !";
}
cath(exception ex)
{
yanit="bağlantı hatası";
}
return yanit; //burada soap için yanıtımızı döndürüyoruz bu kadar
}
}
}
Bizzat kullandigim kodlardır anlamadığıniz yeri sorabilirsiniz
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
*
Ayrıca ben bu yapıyı kullanarak ses video dosyasida gonderebiliyorum aynı şekilde string olarak burada base64 formatında encode edip gönderiyorum service tede decode edip kaydediyorum çok kolay oluyor isterseniz yarin konuda gönderebilirim
Bu arada soapin çalışması için ksoap2 jar dosyasının olması gerekir internetten kolayca bulabilirsiniz bulamazsanız gonderirim
bir servis yazıp ksoap kütüphanesini kullanarak onla bağlantı kur
Nasıl bağlantı kuracağını paylaştım zaten yapmasi gereken de o
Metin Yeşiltaş aykut hocayla bir akrabalık var mı
Maalesef