Soru & Cevap

Sürekli Hata Alıyorum ...

23.08.2014 - 04:32

Merhaba. Yazım ve tasarım kolaylığından ötürü android studioyu tercih ediyorum. Şu sıralar kitaplarda onaylanmış doğru kodları da girsem özellikle setText gibi özellikleri kullandığımda uygulamalar çalışmıyor direk kapanıyor. Son birkaç gündür açtığım hata başlıkları da bundan. Nerede yanlış yapııyorum teamviewer dan yardım edebilecek olanınız varmıdır acaba

190 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user onur.kilic
onur.kilic
24.08.2014 - 10:08

Alttaki 2 satırı onCreate'e taşıman gerekiyor, activity create olmadan findViewById ile kontrollerine ulaşamazsın. Alternatif olarak enlem, boylam değişkenlerini aynı yerinde bırakıp sadece findViewById ile set ettiğin kısımları onCreate'e alabilirsin.

private TextView enlem = (TextView) findViewById(R.id.enlem);
private TextView boylam = (TextView) findViewById(R.id.boylam);

picture-1372-1408467635.jpg
ahmtbrk
23.08.2014 - 11:18

Direk kapanıyorsada uygulama kesinlikle bir hata vardır Logcate bakmalısın.

[code]

package com.konumsal.ggg;

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;

public class MyActivity extends Activity{
    private TextView enlem;
    private TextView boylam;
    private LocationManager manager;
    private LocationListener konumDinleyici;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

 

       enlem = (TextView) findViewById(R.id.enlem);

       boylam = (TextView) findViewById(R.id.boylam);


        manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        konumDinleyici = new LocationListener() {
            public void onLocationChanged(Location location){
                enlem.setText(String.valueOf(location.getLatitude()));
                boylam.setText(String.valueOf(location.getLongitude()));
            }

            public void onStatusChanged(String provider, int status, Bundle extras){}
            public void onProviderEnabled(String provider){}
            public void onProviderDisabled(String provider){}
        };

    }
    @Override
    protected void onResume(){
        super.onResume();
        manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, konumDinleyici);
    }

    @Override
    protected void onPause(){
        super.onPause();
        manager.removeUpdates(konumDinleyici);
    }
}

[/code]

findViewById methodunu onCreate içerisinde kullan.Layoutu set etmeden önce kullanırsan bulamaz o controlleri o yüzden patlıyor uygulaman.

Kolay gelsin.

Mehmet Akif AKTAŞ
24.08.2014 - 12:09
çok teşekkür ederim hocam, kafam neredeymiş acaba.
Profile picture for user 55akif55
55akif55
23.08.2014 - 04:47

Daha doğrusu hata almak değil de uygulama kapanıyor diyelim. Çünkü hem eclipse hem de android studio hata vermiyor. Ama uygulama çalıştığında kapanıyor.. Mesela şuan bir kod vermek istiyorum size nerede ne yanlış var da kapanıyor aklım almıyor gerçekten.

 

Komple Veriyorum Kodu. 

 

package com.konumsal.ggg;

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;

public class MyActivity extends Activity{
    private TextView enlem = (TextView) findViewById(R.id.enlem);
    private TextView boylam = (TextView) findViewById(R.id.boylam);
    private LocationManager manager;
    private LocationListener konumDinleyici;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        konumDinleyici = new LocationListener() {
            public void onLocationChanged(Location location){
                enlem.setText(String.valueOf(location.getLatitude()));
                boylam.setText(String.valueOf(location.getLongitude()));
            }

            public void onStatusChanged(String provider, int status, Bundle extras){}
            public void onProviderEnabled(String provider){}
            public void onProviderDisabled(String provider){}
        };

    }
    @Override
    protected void onResume(){
        super.onResume();
        manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, konumDinleyici);
    }

    @Override
    protected void onPause(){
        super.onPause();
        manager.removeUpdates(konumDinleyici);
    }
}

 

Mehmet Akif AKTAŞ
23.08.2014 - 05:46
Hata kodlarından da vermek istiyorum 08-23 17:38:18.478 5061-5061/com.konumsal.ggg W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x417eee48) 08-23 17:38:18.488 5061-5061/com.konumsal.ggg E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.konumsal.ggg, PID: 5061 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.konumsal.ggg/com.konumsal.ggg.MyActivity}: java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2126) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250) at android.app.ActivityThread.access$800(ActivityThread.java:139) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5105) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException at android.app.Activity.findViewById(Activity.java:1928) at com.konumsal.ggg.MyActivity.(MyActivity.java:20) at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1208) at android.app.Instrumentation.newActivity(Instrumentation.java:1061) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2117)             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250)             at android.app.ActivityThread.access$800(ActivityThread.java:139)             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200)             at android.os.Handler.dispatchMessage(Handler.java:102)             at android.os.Looper.loop(Looper.java:136)             at android.app.ActivityThread.main(ActivityThread.java:5105)             at java.lang.reflect.Method.invokeNative(Native Method)             at java.lang.reflect.Method.invoke(Method.java:515)             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)             at dalvik.system.NativeStart.main(Native Method)