folder Tahribat.com Forumları
linefolder Android - IOS Programlama
linefolder Google Android Maps‘İ Threadler İle Kullanmak



Google Android Maps‘İ Threadler İle Kullanmak

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    Mevzuyu stackoverflow a sordum cevap alamadım belki burda Android Maps ile uğraşan müritlerimiz vardır bir de burda şansımı deniyim. Şimdi hocalar amacım map çalışırken belli aralıklarla MySQL bağlantısı kurarak websitemin database ine koordinat bilgilerini göndermek. Map tek başına çalışıyor, webservice ile yaptığım MySQL bağlantısı da tek başına sorunsuz çalışıyor. Fakat ikisini beraber kullanmaya çalıştığımda onLocationChanged fonksiyonu içinde database bağlantı fonksiyonumu çağırdığımda uygulama çöküyor. Sebebinin bağlantı fonksiyonunun, Map fonksiyonunu durdurmaya zorlaması olduğunu düşünüyorum çünkü bağlantı foksiyonu kendi içinde başka bir classı başlatıyor. Bunu da Thread'lerle çözebileceğimi düşündüm şöyle birşey geliştirdim fakat bu da çalışmadı. Sebebini anlayabilen ya da daha tecrübesine dayanarak yorumlayabilecek birileri var mıdır ? Program açıldığında exec.java çağırılıyor;

     

    exec.java

    public class exec{

    public static void main(String[] args){

    ThMap rc =newThMap();

    Thread th0 =newThread(rc); th0.start();

    }}

     

    ThMap.java

    import android.app.Activity;

    import android.content.Intent;

    public class ThMap extends Activity implements Runnable{

    public void run(){

    Intent intent =new Intent(this,Map.class); startActivity(intent);

    }}

     


    since 2005 // tbt
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    şu şekil düzenle bi bakalım..  şuan java yok bu makinede o yüzden bakamadım tam.. 

     

    import android.app.Activity;
    
    import android.content.Intent;
    
    public class ThMap extends Activity implements Runnable{
    
    Handler handler = new Handler(Looper.getMainLooper());
    
    public void run(){
    
    
    handler.post(new Runnable() {
        @Override
        public void run() {
            Intent intent = new Intent (ThMap.this, Map.class);
            startActivity(intent);
        }
    });
    
    }}
    
    
    
    unbalanced tarafından 15/May/14 17:17 tarihinde düzenlenmiştir

    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    Yok hocam yine durduruldu diyip kapandı. Intent ile ulaşmaya çalışmak doğru mu bilmiyorum çünkü bu ulaşmaya çalıştığım Map classının constructor ı yok. Başlatan fonksiyon ne onu da bilmiyorum tam olarak OnCreate() olabilir o da Activity classından garip bi parametre oluyor ne olduğunu bilmediğim için öteki yerde çağıramıyorum.

     

    protected void onCreate(Bundle savedInstanceState) {

    .....

    }


    since 2005 // tbt
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    hocam android class ı intent ediyorsun de mi.. yani activitysi olmayan bir şeyi yapıyorsan sıknıtı var..

    yok normal ise, kurucu metod ile ilgili bi şey değil, kodun olduğu yerde sağ tıklayıp implement functions mu ne onu bularak activity nin temel fonksiyonlarını implement et class a, sonra hepsine break point koyup debug ettir bakalım.. nerede çöküyor görürsün sonra da hata mesajına bi bak ne diyor.. arkadaş gelecek şimdi yoksa daha fazla yardımcı olmak isterdim


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    Sağolasın hocam


    since 2005 // tbt
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    black_lord
    black_lord's avatar
    Kayıt Tarihi: 03/Temmuz/2007
    Erkek
    Intent intent =new Intent(this,Map.class);

     

    Satırında this contexti belirtir ve sen ui main thread olmayan bir thread içinden context olarak this'i gönderirsen çöker. Çözümü şöyle;

    THMap classında bir değişken yarat

    Context context = this;

    Daha sonra bu context'i threada parametre olarak geç this yerine bu contexti gönder.

     

    Intent intent =new Intent(context,Map.class);

    gibi.

     

Toplam Hit: 986 Toplam Mesaj: 6