Bir iPhone uygulamasında daha önce sqlite3 kullandım, ancak web sitemde oturan harici bir SQL veritabanını nasıl sorgulayabilirim?Harici bir SQL veritabanı nasıl oluşturulur - iPhone uygulaması
cevap
Uygulamanız gerçek sorguyu gerçekleştirmiyor. Bunu yapmanın uygun yolu, web siteniz için bir API oluşturmaktır, böylece site sorgulamayı yapar ve uygulamanıza uygun verileri döndürür.
API'niz genellikle uygulamanız için biçimlendirilmiş verileri döndüren bir dizi uç noktadan oluşacaktır. Örneğin, belirli bir kullanıcının tüm yayınları için veritabanınızı sorgulayan ve bunları bir JSON veya XML kodlu diziye döndüren bir PHP veya Python sayfası oluşturabilirsiniz. (Veri formatı tamamen size kalmış. IOS için kullanılabilen her iki formatı ayrıştıran çerçeveler var.)
Örneğin, sunucunuzda haftanın geçerli gününü döndüren bir PHP sayfanız olduğunu varsayalım. PHP şöyle görünecektir:
<?php
echo date("l");
?>
Diyelim ki senin uygulama içinden HTTP isteklerini gerçekleştirmek için ASIHTTPRequest çerçevesini kullanmanızı tavsiye http://example.com/dayoftheweek.php
olarak bu kaydettikten olduğunu düşünelim. Bu, devam edelim ve PHP sayfanıza bir bağlantı kuralım.
NSURL *url = [NSURL URLWithString:@"http://example.com/dayoftheweek.php"]
ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:url];
[request setDelegate:self];
Şimdi, döndürülen verileri ayrıştırmak için, ASIHTTPRequest Delege yöntemleri uygulamak gerekir: Eğer ASIHTTPRequest hepsi burada, projenizde kurdunuz varsayarsak gibi bir istek göründüğü aşağıda. Tamamlanmış bir isteği yerine getiren yöntem burada gösterilmiştir:
- (void)requestFinished:(ASIHTTPRequest *)request{
//Here you would store the returned data and/or parse it
}
bir API uygulamak için PHP sayfaları daha karmaşık olacaktır. Sen değişkenler ve böyle ileterek daha karmaşık bir istek kuracağına ve PHP sayfası talep ettiğiniz verileri dönen normal bir web servisi gibi hareket edecekti.
Sanırım MySQL'i kastediyorsunuz. Genellikle MySQL veritabanlarına erişim dışarıdan ve iyi bir sebepten dolayı yasaktır. Bunun yerine veritabanınıza erişen bir API yazmak isteyebilirsiniz. IPhone uygulamanız veri eklemek ve almak için bu API ile iletişim kuracaktır.
Peki ne tür API? Bazı php betikleri gibi bir şey yapar mıyım? – StanLe
Evet. Yapabileceğiniz en basit şey, ona ilettiğiniz parametrelere dayanarak JSON veya XML formatlı verileri döndüren bir PHP betiğidir. Ardından, ASIHTTPRequest artı bir çok JSON ve XML kütüphanesinden birini kullanarak uygulamanızdan bu verileri ayrıştırıyorsunuz (JSON için YAJL ve XML için GData'yı öneriyorum) ve bununla bir şeyler yapın. – pt2ph8
Web servislerini kullanabilirsiniz. Sunucu veritabanından bazı kullanıcılar için bir kimlik almak istediğinizi söyleyelim. Bunu başarmak için bir web servis API'si olabilir - (NSNumber *) IDForUserWithName: (NSString *) kullanıcı adı. Bu çağrı, veritabanından geçirilen kullanıcı adı için kimliği dahili olarak getiren sunucunuza gider. – Subhash
@StanLe: Doğrudan yerel uygulama içinde SQL Server veya mySQL kullanamazsınız. Ancak uygulamanızı aşağıdaki yollarla harici SQL veritabanlarıyla iletebilirsiniz.
- PHP, veya C# veya XML dosyası sağlayan herhangi bir araç kullanarak XML API oluşturun.
- XML sayfasının etiketleri okuyabilir, hangi xcode bazı ayrıştırıcı (NSXMLParser) kullanın.
İşte Burada example
olduğunu sample Code
bir başka Çok Simple Example
hala varsa karışıklık geri yazınız.
PHP ile biraz tanıdık ve PHP'de SQL sorguları yaptım. Beni ilgilendiren tek şey, sorgunun sonuçlarını konsola (bilgisayar ekranına) yazdım. Bu sonuçları nasıl tamamlayıp Objective-C'de okurum? – StanLe
, kullandığınız veritabanı ve platform ve yerel uygulamada görmek istediğiniz sonuçlar gibi bazı ayrıntıları anlatabilir misiniz? – Xorsat
Mükemmel bağlantılar. Kalabildiğim tek şey, sunucumda bir php dosyasını nasıl çalıştıracağım gibi, www.mysite.com/myfile.php gibi objektif-c'den nasıl çalıştırılacağı ve sonuçların geri alınabileceği. Veritabanını sorgulamak için kullanılacak belirli bir girişle (isim gibi) bir php dosyası çalıştırabilmek istiyorum. Sonra PHP MySQL veritabanımdan bir satır döndürecek. O zaman Amacım-C bu sonucu alacaktır. – StanLe
herhangi bir dış veritabanı ile iletişim kurmak için kullanılan bir yaklaşım (biz API olarak burada aradığınız) Webservices üzerinden gerçekleştirilir. Normalde sunucudaki bir işlev çağrısı ve Sunucu istenen verileri size cevap sunucuya bir istek yapmak.
This'dan geçebilirsiniz. PHP ve diğer ilgili terimler söz konusu olduğunda, biraz çaba harcamanız ve bazı kodlarınızda google olmanız gerekir. This da bazı kullanım olabilir. Normalde iPhone için yazılan web servisleri iPhone için XML/JSON kullanıyor. JSON/XML ayrıştırıcısı kullanılabilir
- 1. SQL uygulaması için SQL Veritabanı
- 2. Bir derecelendirme uygulaması nasıl oluşturulur?
- 3. Happstack'ta bir veritabanı Monad Stack nasıl oluşturulur?
- 4. iphone uygulaması Bir NSMutableDictionary
- 5. iPhone OS'nin önceki sürümlerinde çalışan bir iAd tümleşik iPhone uygulaması nasıl oluşturulur?
- 6. Veritabanı tarafsız .NET uygulaması
- 7. Veritabanı Adı için Sql Translation veya "Alias" nasıl oluşturulur?
- 8. Java ile bir veritabanı dinleyicisi nasıl oluşturulur?
- 9. Meteor'da yeni bir veritabanı nasıl oluşturulur?
- 10. Rails harici veritabanı çağrıları nasıl yapılır?
- 11. iPhone uygulaması: Emoji nasıl programlandı?
- 12. iphone uygulamasında çizgi grafik nasıl oluşturulur?
- 13. Bir iPhone uygulaması için Web servis önerisi
- 14. PBKDF2'nin bir SQL uygulaması var mı?
- 15. iPhone dosya uzantısı uygulaması ilişkilendirmesi
- 16. (Iphone), Mail uygulaması
- 17. Konsol uygulaması exe nasıl oluşturulur
- 18. Linux'ta BlackBerry uygulaması nasıl oluşturulur?
- 19. ZF3 konsol uygulaması nasıl oluşturulur
- 20. ndk uygulaması nasıl oluşturulur/derlenir?
- 21. Kenar rayları uygulaması nasıl oluşturulur?
- 22. iPhone Geliştirme - iphone uygulaması için bellek sınırlaması
- 23. Çoklu veritabanı yönetim sistemleriyle uyumlu bir web uygulaması nasıl geliştirilir
- 24. MS SQL veritabanı nasıl eklenir?
- 25. WiFi iPhone Uygulaması
- 26. Web Uygulaması - Veritabanı Günlüğü
- 27. iPhone - Bir iPhone uygulaması için App Alımları kurma bakıyorum
- 28. Basit bir Yerel SQL veritabanı nasıl oluşturulur ve C# kullanarak değerleri nasıl eklenir?
- 29. Java Listesinden bir SQL dizisi nasıl oluşturulur?
- 30. Bir Electron uygulaması için yerel, dosya tabanlı veritabanı
arıyorum ama ne tür http istekleri? API’yı tam olarak nasıl yaparım? bu php mi? Bunu yapmanın bir yolu örneği ne olurdu? – StanLe
Gerçekten de yinelenen bir cevaba ihtiyacı olduğunu düşünmüyorum. – pt2ph8
@StanLe - Temel bir örnekle güncelledik. @ pt2ph8 - Ben de öyle düşünmüyorum, bu yüzden cevabımı güncelledim. ;-) – Moshe