Android Uygulama Has been Stoped Hatası - R10.net
  • 04-05-2019, 23:47:54
    #1
    Arkadaşlar android de yeniyim henüz.Basit bir uygulama geliştirmeye çalışıyorum.Aşağıda kodu paylaşacağım.Yaşadığım sorunu kısaca anlatayım.Uygulama açılıyor buton var giriş 2. sayfaya geçiyor.Burda hesapta diye bir buton var butona bastığımda uygulama Has been stoped diyerek kapanıyor.

    package com.teknolugat.puanhesabi;  import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.TextView;  import java.text.DecimalFormat;  public class MainActivity2  extends AppCompatActivity {      @Override     protected void onCreate(final Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main2);          Button btn1,btn2;          btn1=findViewById(R.id.hesapla);          final EditText say1,say2,soz1,soz2,basari;          say1=findViewById(R.id.say_dogru);         say2=findViewById(R.id.say_yanlis);         soz1=findViewById(R.id.soz_dogru);         soz2=findViewById(R.id.soz_yanlis);         basari=findViewById(R.id.basaripuan);          final CheckBox kontrol;         kontrol=findViewById(R.id.check);          final TextView saysonuc,sozsonuc,easonuc;         saysonuc=findViewById(R.id.soz_puan);         sozsonuc=findViewById(R.id.say_puan);         easonuc=findViewById(R.id.ea_puan);           btn1.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 System.out.print("dshfksdhfgksdhkdxfvsdfki");                 double sayNet = Double.parseDouble(say1.getText().toString())-(Integer.parseInt(say2.getText().toString())/4);                  double sozNet = Double.parseDouble(soz1.getText().toString()) - Double.parseDouble(soz1.getText().toString());                  double basarinet = Double.parseDouble((basari.getText().toString()));                  final double sayPuan = 105.536 + (sozNet*0.336) + (sayNet*1.575) + (basarinet*0.6);                   final double sozPuan = 87.747 + (sozNet*1.681) + (sayNet*0.315) + (basarinet*0.6);                  final double sayPuan1 = 105.536 + (sozNet*0.336) + (sayNet*1.575) + (basarinet*0.45);                  final double sozPuan1 = 87.747 + (sozNet*1.681) + (sayNet*0.315) + (basarinet*0.45);                   final double eaPuan = 96.642 + (sozNet*1.009) + (sayNet*0.945) +(basarinet*0.6);                 System.out.println(eaPuan);                  final double eaPuan1 = 96.642 + (sozNet*1.009) + (sayNet*0.945) +(basarinet*0.45);                 System.out.println(eaPuan1);                  if(kontrol.isChecked()){                     saysonuc.setText(String.valueOf(sayPuan1));                     sozsonuc.setText(String.valueOf(sozPuan1));                     easonuc.setText(String.valueOf(eaPuan1));                 }else{                     saysonuc.setText(String.valueOf(sayPuan));                     sozsonuc.setText(String.valueOf(sozPuan));                     easonuc.setText(String.valueOf(eaPuan));                 }                }         });      } }
  • 05-05-2019, 00:03:11
    #2
    Bu tarz sorunlarda kodu değil de sol atta olan "Logcat " ekranına düşen kırmızı yazıları(Yani hataları) atarsanız daha çok yardım edebiliriz. Teamviewer varsa onunla da bağlanıp halletmeye çalışabilirim..
    Android Developer
  • 05-05-2019, 00:16:24
    #3
    Butona bastığımda Logcat kısmında çıkan kırmızı yazı bu şekilde.

    2019-05-05 00:15:30.267 4800-4800/com.dgspuan.puanhesabi E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.dgspuan.puanhesabi, PID: 4800
    java.lang.NumberFormatException: empty String
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
    at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
    at java.lang.Double.parseDouble(Double.java:539)
    at com.dgspuan.puanhesabi.MainActivity2$1.onClick(MainActivity2.java:44)
    at android.view.View.performClick(View.java:6294)
    at android.view.View$PerformClick.run(View.java:24770)
    at android.os.Handler.handleCallback(Handler.java:790)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6494)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
  • 05-05-2019, 00:23:27
    #4
    Main activity nin 44.satırında, stringi parse ederken bir hata alıyormuşsunuz hocam.. Sebebi de stringin boş olmasıymış. O satıra odaklanırsanız ,ve stringleri kontrol ederseniz çözümü bulursunuz bence.. Eğer olmazsa teamviewer ile gelip bakalım beraber,sorunun hemen çözüleceğini düşünüyorum..
  • 05-05-2019, 00:31:00
    #5
    44. satır bu şekilde
    double sayNet = Double.parseDouble(say1.getText().toString())-(Integer.parseInt(say2.getText().toString())/4);
    üstüne geldiğimde gözüken yazı böyle

    Inspection info: Reports integer division where the result is either directly or indirectly used as a floating point number. Such division is often an error, and may result in unexpected results due to truncation in integer division.
  • 05-05-2019, 01:17:54
    #6
    Hocam bir de integer yerine double a parse edip deneyebilir misiniz acaba ? Şu şekilde yani :

    double sayNet = Double.parseDouble(say1.getText().toString())-(Double.parseDouble(say2.getText().toString())/4);