Frage von Jones7991, 65

Android Studio App stürzt immer ab. Wer kann mir sagen was an diesen Zeilen falsch ist?

Habe Problem mit Android Studio. Meine App stürtz immer wieder ab. Ich habe nun durch auskomentieren herausgefunden das es an diesen 3 Zeilen liegen muss. Kann mir jemand sagen was genau hier falsch ist? Weiß auch nicht genau ob die Informationen reichen da es so viele gibt. Hier die 3 Zeilen 1 List wifiScanList = mainWifiObj.getScanResults(); 2 String data = wifiScanList.get(0).toString(); 3 ((EditText)findViewById(R.id.tmlWifi)).setText(data); ?

Antwort
von Jones7991, 40

package com.jones.hack;

import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.wifi.ScanResult; import android.net.wifi.WifiManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText;

import java.util.List;

public class MainActivity extends AppCompatActivity {

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btnStart = (Button)findViewById(R.id.btnStart); WifiManager mainWifiObj; mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);

class WifiScanReceiver extends BroadcastReceiver {
    public void onReceive(Context c, Intent intent) {
    }
}
WifiScanReceiver wifiReciever = new WifiScanReceiver();
registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

btnStart.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        WifiManager mainWifiObj;
        mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);
       List<ScanResult> wifiScanList = mainWifiObj.getScanResults();
       String data = wifiScanList.get(0).toString();
      ((EditText)findViewById(R.id.tmlWifi)).setText(data);

    }

});

}

}

Hier noch der Nachtrag der MainActivity.java

Kommentar von Jones7991 ,

Vllt etwas schlecht zu erkennne. neuer Versuch:

package com.jones.hack;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import java.util.List;
public class MainActivity extends AppCompatActivity
{
  @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main;
  Button btnStart = (Button)findViewById(R.id.btnStart);
 WifiManager mainWifiObj;
 mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);
 class WifiScanReceiver extends BroadcastReceiver
{
public void onReceive(Context c, Intent intent)
{
}
}
WifiScanReceiver wifiReciever = new WifiScanReceiver();
 registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
 btnStart.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
WifiManager mainWifiObj;
 mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);
 List wifiScanList = mainWifiObj.getScanResults();
 String data = wifiScanList.get(0).toString();
 ((EditText)findViewById(R.id.tmlWifi)).setText(data);
}
});
}
}
Antwort
von Tschoo, 65

Hallo!

Also hast du keine Probleme mit Android Studio, sondern mit deiner APP.

So ohne Hintergrund sehen deine 3 Zeilen korrekt aus, kann also eigentlich nur

1.) fehlende Initialisierungen

2.) fehlender Bezug

3.) fehlende View

4.) ...

5) ...

liegen -- was sagt die erste Zeile der Fehlermeldung oder, wenn du ein bisschen weiterscrollst in der Fehlermeldung kommt vielleicht eine Zeile die mit "Caused by .." beginnt. (In diesem Block müsste auch die Methode und Zeilennummer des Fehlers stehen).

Schon mal mit Debugger versucht -- da wo der Fehler auftritt, muß nicht die Fehlerursache sein.

Gruß

Kommentar von Jones7991 ,

Hallo Tschoo,

das ist ja das Problem. Es wird keine Fehlermeldung angezeigt sondern die App hängt sich später im Test auf. Ich hab gesehen das du mehr Erfahrung im Programmieren hast. Könnte ich dir vllt mal die App zukommen lassen ?

Kommentar von Tschoo ,

Hallo Jonas!

Im Prinzip schon -- aber ich weis ehrlich nicht, ob ich dir da helfen kann -- es ist ja nicht "nur" der JAVA-Code, sondern auch die xml-Dateien (vor allem die Layout-Dateien).

Mit was testest du deine App? Mit dem Simulator oder direckt an einem Gerät?

Auch beim Gerät geht der Debug-Modus. Setzte einen Breakpoint am besten dort, wo die Methode aufgerufen wird -- und schaue dir die Werte an, die die relavanten Variablen haben. Stimmt das? oder sind welche "null", die einen Inhalt haben müssten, liefert z.B mainWifiObj.getScanResults(); auch eine Rüpckgabe -- eventuell im Code auf NULL abfragen?

Gruß

Sie kennen die Antwort?

Fragen Sie die Community