Cemil
Cemil
cesa yazılım Antalya
19/09/2013 tarihinden beri üye
280 GY Puanı
27K GY Sırası
2 Rozet
0 Sertifika
2 Soru Sordu
7 Cevap Verdi
0 Blog Yazısı
0 Etiket Takibi

Hakkında

Akıllı ev sistemleri üzerinde rf ve tcp protokolleri üzerinde haberleşmeyi gerçekleştiriyorum. Android sistemi üzerinden evi kontrol eden yazılımlar yazıyorum. Marketteki uygulamalarım ... https://pla...

Akıllı ev sistemleri üzerinde rf ve tcp protokolleri üzerinde haberleşmeyi gerçekleştiriyorum. Android sistemi üzerinden evi kontrol eden yazılımlar yazıyorum. Marketteki uygulamalarım ... https://play.google.com/store/search?q=cesayazilim&c=apps https://play.google.com/store/search?q=sadakatyazilim&c=apps https://play.google.com/store/search?q=aypro&c=apps

İş Tecrubesi

Kullanıcıya ait İş tecrübesi bilgisi bulunmamaktadır.

Eğitim Geçmişi

Akdeniz Üniversitesi
| Aralık 2020 - Aralık 2020

Sertifikalar & Başarılar

GY Sertifikaları (0)
Kullanıcının GY sertifikası bulunmamaktadır.
Diğer Sertifikaları (0)
Kullanıcıya ait sertifika bulunmamaktadır.
Test Sonuçları (0)

Kullanıcıya ait test sonucu bulunmamaktadır.

Dil Becerileri

Son Forum Aktiviteleri

9
Tümünü Gör

swift 3 firibase notification kapalı iken gelmiyor.

siwift 3 te firibase ile bildirim işlemi yapmaya çalışıyorum. sertifika imzasını yaptım. Kodlarım bunlar.

//
//  AppDelegate.swift
//  Ornek
//
//  Created by Cemil Yeşil on 17.03.2017.
//  Copyright © 2017 Haber. All rights reserved.
//

import UIKit

import UserNotifications

import Firebase
import FirebaseInstanceID
import FirebaseMessaging

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    
    var window: UIWindow?
    
    func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        if #available(iOS 10.0, *) {
            // For iOS 10 display notification (sent via APNS)
            UNUserNotificationCenter.current().delegate = self
            
            let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
            UNUserNotificationCenter.current().requestAuthorization(
                options: authOptions,
                completionHandler: {_, _ in })
            
            // For iOS 10 data message (sent via FCM)
            FIRMessaging.messaging().remoteMessageDelegate = self
            
        } else {
            let settings: UIUserNotificationSettings =
                UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
            application.registerUserNotificationSettings(settings)
        }
        
        application.registerForRemoteNotifications()

        // [END register_for_notifications]
        FIRApp.configure()
        
        // [START add_token_refresh_observer]
        // Add observer for InstanceID token refresh callback.
        NotificationCenter.default.addObserver(self,
                                               selector: #selector(self.tokenRefreshNotification),
                                               name: .firInstanceIDTokenRefresh,
                                               object: nil)
        // [END add_token_refresh_observer]
        return true
    }
    
    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any],
                     fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
        // If you are receiving a notification message while your app is in the background,
        // this callback will not be fired till the user taps on the notification launching the application.
        // TODO: Handle data of notification
        // Print message ID.
        
        FIRMessaging.messaging().appDidReceiveMessage(userInfo)

        print("ikinci notification:")
        let settings: UIUserNotificationSettings =
            UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
        application.registerUserNotificationSettings(settings)
        
        
        application.registerForRemoteNotifications()
        
        NotificationCenter.default.addObserver(self,
                                               selector: #selector(self.tokenRefreshNotification),
                                               name: .firInstanceIDTokenRefresh,
                                               object: nil)
        var turr = ""
        var baslikk = ""
        var ozett = ""
        var icerikk = ""
        var resimm = ""
        var idd = ""
        
        
        if let tur = userInfo["tur"] as? String  {
            print(tur)
            turr = tur
        }
        if let id = userInfo["id"] as? String  {
            print(id)
            idd = id
        }
        if let baslik = userInfo["baslik"] as? String  {
            print(baslik)
            baslikk = baslik
        }
        if let ozet = userInfo["ozet"] as? String  {
            print(ozet)
            ozett = ozet
        }
        if let icerik = userInfo["icerik"] as? String  {
            print(icerik)
            icerikk = icerik
        }
        if let resim = userInfo["resim"] as? String  {
            print(resim)
            resimm = resim
            
        }
        if turr=="bildirim" {
            var databasePath = String()
            let filemgr = FileManager.default
            let dirPaths = filemgr.urls(for: .documentDirectory,
                                        in: .userDomainMask)
            
            databasePath = dirPaths[0].appendingPathComponent("haberler.db").path
            let contactDB = FMDatabase(path: databasePath as String)
            
            if (contactDB?.open())! {
                let date = Date()
                let formatter = DateFormatter()
                formatter.dateFormat = "yyyy.MM.dd"
                let tarih = formatter.string(from: date)
                
                
                let insertSQL = "INSERT INTO haberler (baslik, ozet, icerik, img, tarih,tur) VALUES ('"+baslikk+"', '"+ozett+"', '"+icerikk+"', '"+resimm+"', '"+tarih+"', '"+turr+"')"
                
                let result = contactDB?.executeUpdate(insertSQL,
                                                      withArgumentsIn: nil)
                
                if result! {
                    
                    print("Ok: kayıt yapıldı")
                }
            } else {
                print("Error: \(contactDB?.lastErrorMessage())")
            }
            
        }
        let alert = UIAlertController(title: baslikk, message: ozett, preferredStyle: UIAlertControllerStyle.alert)
        alert.addAction(UIAlertAction(title: "Kapat", style: .cancel, handler: nil))
        alert.addAction(UIAlertAction(title: "Aç", style: .default, handler:
            { action in
                switch action.style {
                case .default:
                    var databasePath = String()
                    let filemgr = FileManager.default
                    let dirPaths = filemgr.urls(for: .documentDirectory,
                                                in: .userDomainMask)
                    
                    databasePath = dirPaths[0].appendingPathComponent("haberler.db").path
                    let contactDB = FMDatabase(path: databasePath as String)
                    
                    if (contactDB?.open())! {
                        let querySQL = "SELECT * FROM haberler  "
                        
                        let results:FMResultSet? = contactDB?.executeQuery(querySQL,
                                                                           withArgumentsIn: nil)
                        if results?.next() == true {
                            while (results?.next())! {
                                idd=(results?.string(forColumn: "id"))!
                            }
                        }
                        
                        
                        
                        contactDB?.close()
                    } else {
                        print("Error: \(contactDB?.lastErrorMessage())")
                    }
                    
                    let vc = self.window?.rootViewController?.storyboard?.instantiateViewController(withIdentifier: "Haber_Detay") as! Haber_Detay
                    vc.imageString = resimm
                    vc.ozet = ozett
                    vc.id = idd
                    vc.tur = turr
                    vc.icerik = icerikk
                    
                    
                    self.window?.rootViewController = vc
                    
                    
                    break
                case .cancel: break
                case .destructive: break
                    
                }
        }))
        
        self.window?.rootViewController?.present(alert, animated: true, completion: nil)
        
        // Print full message.
        print(userInfo)
        
        completionHandler(UIBackgroundFetchResult.newData)
      
    }
    func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
        // Let FCM know about the message for analytics etc.
        FIRMessaging.messaging().appDidReceiveMessage(userInfo)
        
        print("enson")
        // handle your message
    }
    
        // [START receive_message]
        func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
            // If you are receiving a notification message while your app is in the background,
            // this callback will not be fired till the user taps on the notification launching the application.
            // TODO: Handle data of notification
            // Print message ID.
            FIRMessaging.messaging().appDidReceiveMessage(userInfo)
            guard let aps = userInfo["aps"] as? [String : AnyObject] else {
                print("Error parsing aps")
                return
            }
            let name:NSNotification.Name = NSNotification.Name("notificationName")
            NotificationCenter.default.post(name: name, object: nil)
            var body = ""
            var title = "20Fit"
            if let alert = aps["alert"] as? String {
                body = alert
            } else if let alert = aps["alert"] as? [String : String] {
                body = alert["body"]!
                title = alert["title"]!
            }
            
           
            let settings: UIUserNotificationSettings =
                UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
            application.registerUserNotificationSettings(settings)
  
    
    application.registerForRemoteNotifications()
     
    NotificationCenter.default.addObserver(self,
    selector: #selector(self.tokenRefreshNotification),
    name: .firInstanceIDTokenRefresh,
    object: nil)

            print("birinci notification:")
            var turr = ""
            var baslikk = ""
            var ozett = ""
            var icerikk = ""
            var resimm = ""
            var idd = ""
            
            
            if let tur = userInfo["tur"] as? String  {
                print(tur)
                turr = tur
            }
            if let id = userInfo["id"] as? String  {
                print(id)
                idd = id
            }
            if let baslik = userInfo["baslik"] as? String  {
                print(baslik)
                baslikk = baslik
            }
            if let ozet = userInfo["ozet"] as? String  {
                print(ozet)
                ozett = ozet
            }
            if let icerik = userInfo["icerik"] as? String  {
                print(icerik)
                icerikk = icerik
            }
            if let resim = userInfo["resim"] as? String  {
                print(resim)
                resimm = resim
                
            }
            if turr=="bildirim" {
                var databasePath = String()
                let filemgr = FileManager.default
                let dirPaths = filemgr.urls(for: .documentDirectory,
                                            in: .userDomainMask)
                
                databasePath = dirPaths[0].appendingPathComponent("haberler.db").path
                let contactDB = FMDatabase(path: databasePath as String)
                
                if (contactDB?.open())! {
                    let date = Date()
                    let formatter = DateFormatter()
                    formatter.dateFormat = "yyyy.MM.dd"
                    let tarih = formatter.string(from: date)
                    
                    
                    let insertSQL = "INSERT INTO haberler (baslik, ozet, icerik, img, tarih,tur) VALUES ('"+baslikk+"', '"+ozett+"', '"+icerikk+"', '"+resimm+"', '"+tarih+"', '"+turr+"')"
                    
                    let result = contactDB?.executeUpdate(insertSQL,
                                                          withArgumentsIn: nil)
                    
                    if result! {
                        
                        print("Ok: kayıt yapıldı")
                    }
                } else {
                    print("Error: \(contactDB?.lastErrorMessage())")
                }
                
            }
            let alert = UIAlertController(title: baslikk, message: ozett, preferredStyle: UIAlertControllerStyle.alert)
            alert.addAction(UIAlertAction(title: "Kapat", style: .cancel, handler: nil))
            alert.addAction(UIAlertAction(title: "Aç", style: .default, handler:
                { action in
                    switch action.style {
                    case .default:
                        var databasePath = String()
                        let filemgr = FileManager.default
                        let dirPaths = filemgr.urls(for: .documentDirectory,
                                                    in: .userDomainMask)
                        
                        databasePath = dirPaths[0].appendingPathComponent("haberler.db").path
                        let contactDB = FMDatabase(path: databasePath as String)
                        
                        if (contactDB?.open())! {
                            let querySQL = "SELECT * FROM haberler  "
                            
                            let results:FMResultSet? = contactDB?.executeQuery(querySQL,
                                                                               withArgumentsIn: nil)
                            if results?.next() == true {
                                while (results?.next())! {
                                    idd=(results?.string(forColumn: "id"))!
                                }
                            }
                            
                            
                            
                            contactDB?.close()
                        } else {
                            print("Error: \(contactDB?.lastErrorMessage())")
                        }
                        
                        let vc = self.window?.rootViewController?.storyboard?.instantiateViewController(withIdentifier: "Haber_Detay") as! Haber_Detay
                        vc.imageString = resimm
                        vc.ozet = ozett
                        vc.id = idd
                        vc.tur = turr
                        vc.icerik = icerikk
                        
                        
                        self.window?.rootViewController = vc
                        
                        
                        break
                    case .cancel: break
                    case .destructive: break
                        
                    }
            }))
            
            self.window?.rootViewController?.present(alert, animated: true, completion: nil)
            
            // Print full message.
            print(userInfo)
 
        }
        
 
        // [START refresh_token]
        func tokenRefreshNotification(_ notification: Notification) {
            if let refreshedToken = FIRInstanceID.instanceID().token() {
                print("InstanceID token: \(refreshedToken)")
            }
                     // Connect to FCM since connection may have failed when attempted before having a token.
            connectToFcm()
        }
  
  

        // [END refresh_token]
        // [START connect_to_fcm]
        func connectToFcm() {
            // Won't connect since there is no token
            guard FIRInstanceID.instanceID().token() != nil else {
                return
            }
            
            // Disconnect previous FCM connection if it exists.
            FIRMessaging.messaging().disconnect()
            
            FIRMessaging.messaging().connect { (error) in
                if error != nil {
                    print("Unable to connect with FCM. \(error)")
                } else {
                    let device_id = UIDevice.current.identifierForVendor as Any
                    let uuid = UIDevice.current.identifierForVendor?.uuidString
                    print("uuid : " + uuid!)
                    let token =  FIRInstanceID.instanceID().token()
                    if token != nil{
                        print("token_id" + token!)

                    let dict = ["device":uuid! ,"token":token! ] as [String: Any]
                    
                    if let jsonData = try? JSONSerialization.data(withJSONObject: dict, options: []) {
                        let url = URL(string: "http://kardessuriye.com/app-json/ios_token_kaydet.php")!
                        let request = NSMutableURLRequest(url: url as URL)
                        request.httpMethod = "POST"
                        request.httpBody = jsonData
                        request.addValue("application/json", forHTTPHeaderField: "Content-Type")
                        let task = URLSession.shared.dataTask(with: request as URLRequest){ data,response,error in
                            if error != nil{
                                print(error?.localizedDescription)
                                return
                            }
                            do {
                                let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary
                                if let parseJSON = json {
                                    
                                    
                                    
                                }
                            } catch let error as NSError {
                                print(error)
                            }
                        }
                        task.resume()
                        }
                    }
                    else{
                    print("token boş")
                    }

                    print("Connected to FCM.")
                }
            }
        }
    
        // [END connect_to_fcm]
        func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
            print("Unable to register for remote notifications: \(error.localizedDescription)")
        }
        
        // This function is added here only for debugging purposes, and can be removed if swizzling is enabled.
        // If swizzling is disabled then this function must be implemented so that the APNs token can be paired to
        // the InstanceID token.
    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        let chars = (deviceToken as NSData).bytes.bindMemory(to: CChar.self, capacity: deviceToken.count)
        var token = ""
        
        for i in 0..<deviceToken.count {
            token += String(format: "%02.2hhx", arguments: [chars[i]])
        }
        
          FIRInstanceID.instanceID().setAPNSToken(deviceToken, type:FIRInstanceIDAPNSTokenType.sandbox)
          FIRInstanceID.instanceID().setAPNSToken(deviceToken, type: FIRInstanceIDAPNSTokenType.unknown)
          FIRInstanceID.instanceID().setAPNSToken(deviceToken, type:FIRInstanceIDAPNSTokenType.prod)
        
        print("Device Token = ", token)
    }
  
    func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
        
        
        FIRInstanceID.instanceID().setAPNSToken(deviceToken as Data, type: FIRInstanceIDAPNSTokenType.unknown)
         
    }
        // [START connect_on_active]
        func applicationDidBecomeActive(_ application: UIApplication) {
            
            connectToFcm()
            
           application.applicationIconBadgeNumber = 0;
        }
        // [END connect_on_active]
        // [START disconnect_from_fcm]
        func applicationDidEnterBackground(_ application: UIApplication) {
           FIRMessaging.messaging().disconnect()
            print("Disconnected from FCM.")
        }
        // [END disconnect_from_fcm]
    
    static func registerForPushNotifications() {
        let settings: UIUserNotificationSettings =
            UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
         UIApplication.shared.registerUserNotificationSettings(settings)
        UIApplication.shared.registerForRemoteNotifications()
    }
    
    }
    
// [START ios_10_message_handling]
@available(iOS 10, *)
extension AppDelegate : UNUserNotificationCenterDelegate {
    
    // Receive displayed notifications for iOS 10 devices.
    func userNotificationCenter(_ center: UNUserNotificationCenter,
                                willPresent notification: UNNotification,
                                withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        let userInfo = notification.request.content.userInfo
        // Print message ID.
      
        
        // Print full message.
        print(userInfo)
        
        // Change this to your preferred presentation option
        completionHandler([])
    }
    
    func userNotificationCenter(_ center: UNUserNotificationCenter,
                                didReceive response: UNNotificationResponse,
                                withCompletionHandler completionHandler: @escaping () -> Void) {
        let userInfo = response.notification.request.content.userInfo
        // Print message ID.
      
        
        // Print full message.
        print(userInfo)
        
        completionHandler()
    }
}
// [END ios_10_message_handling]
// [START ios_10_data_message_handling]
extension AppDelegate : FIRMessagingDelegate {
    // Receive data message on iOS 10 devices while app is in the foreground.
    func applicationReceivedRemoteMessage(_ remoteMessage: FIRMessagingRemoteMessage) {
        print(remoteMessage.appData)
    }
}
// [END ios_10_data_message_handling]

 

appdelegate kodlarım yukarda  kullanıyrum. Ancak uygulama firibase consolundan mesaj attığımda uygulama açıkta olsa kapalıda olsa normal çalışıyor. bildirim geliyor.
Php dosyasından attığımda 


<?php
if(isset($_POST['submit'])){//kontrol
   
        
  $token_idler = array(); 
    
$data = array('id'=> "0", 'priority' => "high",'tur'=> "bildirim",'title'=>$_POST['baslik'],'baslik'=>$_POST['baslik'],'ozet'=> $_POST['ozet'] ,'icerik'=>$_POST['icerik'],'resim'=>$_POST['resim']);
      
//FCM api URL
$url = 'https://fcm.googleapis.com/fcm/send';
//api_key available in Firebase Console -> Project Settings -> CLOUD MESSAGING -> Server key
$server_key = 'serverapi_key';
            
$fields = array();
$fields['data'] = $data;
if(is_array(  "token_id")){
    $fields['token_idler'] =   "token_id";
}else{
    $fields['to'] = "token_id";
}
//header with content_type api key
$headers = array(
    'Content-Type:application/json',
  'Authorization:key='.$server_key
);
            
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {
    die('FCM Send Error: ' . curl_error($ch));
}
curl_close($ch);
echo $result;
         
}
?>

 

Php kodları yukarda. bildirim uygulama açıkken geliyor ayrıştırıyorum. fakat uygulama kapalı iken bildirim gelmiyor. bunun çözümünu araştırıyoruma am birtürlü bulamadım. böyle bi durumla karşıalşan varmı ? 

 

yani kısıacası firibase apisini kullanıyorum. uygulama açıkken bildirim alert olarak alıyorum. ama uygulama kapalı iken hiçbir şekilde bildirm gelmiyor. uygualmayı açınca alert oalrak geliyor.

Facebook login arkadaş listesi getirme

Arkadaşlar Facebook logini ile giriş yapıp kişi hakkındaki bilgielri çekiyorum ancak  ne yaptıysam Facebbok Loginininden sonra arkadaşları listeletemedim. Bu konuda bana yardımcı olabiliecek varmı?
facebook develeoperdaki standart herşeyi denedim ama arkdaşlar gelmiyor. arkadaş sayısı geliyor summer olarak ama içerik datası boş geliyor.

Örnek denedğim kodlar :

   new GraphRequest(
                    AccessToken.getCurrentAccessToken(),
                    "/me/friends",
                    null,
                    HttpMethod.GET,
                    new GraphRequest.Callback() {
                        @Override
                        public void onCompleted(GraphResponse graphResponse) {
                            Log.i("FaceLog", graphResponse.getJSONObject().toString());

                        }

                    }
            ).executeAsync();

diğeri : 

  new GraphRequest(AccessToken.getCurrentAccessToken(),"me/taggable_friends", null, HttpMethod.GET, new GraphRequest.Callback() {
                @Override
                public void onCompleted(GraphResponse graphResponse) {
                    Log.i("FaceLog", graphResponse.getJSONObject().toString());
                    try {
                        //  AppController.getInstance().profilFriendsCount = graphResponse.getJSONObject().getJSONObject("summary").getString("total_count");
                        ArrayList<HashMap<String, String>> arrayList = new ArrayList<HashMap<String,String>>();
                        JSONArray rawPhotosData = graphResponse.getJSONObject().getJSONArray("data");
                        HashMap<String, String> h1 = new HashMap<String, String>();

                        for(int j=0; j<rawPhotosData.length();j++){
                            //save whatever data you want from the result
                            JSONObject photo = new JSONObject();
                            JSONObject jsonObject = rawPhotosData.getJSONObject(j);
                            //Get name of friend
                            String name = jsonObject.getString("name");
                            photo.put("id", ((JSONObject)rawPhotosData.get(j)).get("id"));
                            photo.put("icon", ((JSONObject)rawPhotosData.get(j)).get("picture"));
                            //Get url of friend's image
                            JSONObject picture = jsonObject.getJSONObject("picture");
                            JSONObject picture_data = picture.getJSONObject("data");

                            String image = picture_data.getString("url");

                            h1.put("name",name);
                            //   h1.put("id",JSONObject.rawPhotosData.get(j).get("id");
                            h1.put("picture", image);
                            arrayList.add(h1);
                            boolean isUnique = true;

                        }
                        AppController.getInstance().Friends_list=arrayList;
                        //get next batch of results of exists
                                 /*   GraphRequest nextRequest = graphResponse.getRequestForPagedResults(GraphResponse.PagingDirection.NEXT);
                                    if(nextRequest != null){
                                        nextRequest.setCallback((GraphRequest.Callback) Login_sayfasi.this);
                                        nextRequest.executeAndWait();
                                    }*/

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }).executeAsync();

hiçbir işe yaramadı. İkinci yazdığım kodda 20 tane çekiyor sadece  etiketli arkadaşları çekiyor sanırım.

picture-764-1421015335.jpg
8 yıl 6 ay önce yanıtladın

andorid sdk hatası

picture-764-1421015335.jpg
11 Mart 2019 tarihinde cevaplandı

Sdk yolu seçip ordan indirmesini iste. Bilgisayara il def kuruyorsan veya kaldırıp kuruyorsan kurulum aşamsındaki ilk seçeneklerde gelen sdk yı otomatik yap olayını seçmen gerekiyor (şu an tam ne yazdığı hatrımda değil. önceden yüklü algıladığında varsayılan config dosyasını çağırıyor ). 

İnternet Bağlantı Kontrolü Hakkında

picture-764-1421015335.jpg
05 Şubat 2016 tarihinde cevaplandı

Bi sayfa hazırla o sayfayı güzelce düzenle ve internet bağlantısı yok yaz. İnternet bağlantısı yoksa o sayfaya finish(); koduyla yönlendir.
Kolay gelsin

Web servis kullanarak customlistview oluşturmak

picture-764-1421015335.jpg
05 Şubat 2016 tarihinde cevaplandı

İkisi birbirinden çok farklı iki kod olarak düşün. Sen web servisten verilerini çek sonra düzenlenmiş listeni oluştur.
http://tugbaustundag.com/restful-web-servisi-ile-post-ve-get-islemleri/
http://www.androidhive.info/2014/07/android-custom-listview-with-image-and-text-using-volley/

Bu iki link işini görür..

En İyi Reklam Yerleşimi - Gelin Tartışalım

picture-764-1421015335.jpg
14 Eylül 2015 tarihinde cevaplandı

Aynen öyle. 

hata aacil yardım edermisiniz

picture-764-1421015335.jpg
14 Eylül 2015 tarihinde cevaplandı

ecilipse mi kullanıyorsun ?