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

2 Antworten

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ß

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 ?

0
@Jones7991

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ß

0

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

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);
}
});
}
}
0

Wie kann man dass machen, dass eine app (mit android studio erstellt) beim zweiten start eine andere activity ausführt(Passwort merken Funktion)?

Ich habe in android studio eine app geschrieben, die eine Website anzeigt, bei der man sich vorher anmelden muss(wird von der Website verlangt). Der Code sieht folgendermaßen aus:

 public void authenticateLogin(View view) {
    if (username.getText().toString().equals("schule") &&
            password.getText().toString().equals("schule")) {
        username.setVisibility(View.INVISIBLE);
        password.setVisibility(View.INVISIBLE);
        login.setVisibility(View.INVISIBLE);
        loginLockedTV.setVisibility(View.INVISIBLE);
        webView = (WebView) findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setDomStorageEnabled(true);
        webView.loadUrl("<a href="http://schule:schule@www........de">http://schule:schule@www........de</a>");
        webView.setVisibility(visibility);
        WebSettings settings = webView.getSettings();
        settings.setBuiltInZoomControls(true);
        settings.setSupportZoom(true);
        settings.setDefaultZoom(WebSettings.ZoomDensity.FAR);
        webView.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) {
                viewx.loadUrl(urlx);
                return false;
            }
        });

    } else {
        Toast.makeText(getApplicationContext(), "Falsches Passwort!",
                Toast.LENGTH_SHORT).show();
        numberOfRemainingLoginAttempts--;
        numberOfRemainingLoginAttemptsTV.setText(Integer.toString(numberOfRemainingLoginAttempts));

Damit melde ich mich ja an der Website an. Aber wie kann man dass machen, dass wenn ich die app ein zweites mal öffne, Benutzername und Passwort schon dastehen? bzw. man gar nicht mehr nach Benutzernamen und Passwort gefragt wird und sich die Website automatisch öffnet? Also wie eine Passwort merken Funktion.

...zur Frage

Flugmodus ausschalten in Android Studio programmieren?

Hey Leute,

ich möchte eine App in Android Studio programmieren, die in einem bestimmten Zeitraum den Flugmodus ausschaltet. Wie geht das ?

...zur Frage

Android App: Daten über POST an PHP Script senden

Hey, ich hab mal wieder eine Frage :D

Ich will eine App schreiben, die einfach Daten aus Textfeldern an meinen Webspace bei bpaced sendet. Diesen Code habe ich gefunden:

package de.vollkanone.sendmail;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity implements OnClickListener {

    public EditText mailtext;
    public Button senden;
    public EditText empf;
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        mailtext = (EditText) findViewById(R.id.mailtext);
        senden = (Button) findViewById(R.id.button);
        empf = (EditText) findViewById(R.id.an);
        
        senden.setOnClickListener(this);
        
    }


    @Override
    public void onClick(View arg0) {
        
        String senden1 = mailtext.getText().toString();
        String senden2 = empf.getText().toString();
        
        // absenden
        
        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost("<a href="http://www.uptoweb.bplaced.net/mailsenden.php">http://www.uptoweb.bplaced.net/mailsenden.php</a>");  
        
        List<NameValuePair> postlist = new ArrayList<NameValuePair>();
        postlist.add(new BasicNameValuePair("senden1", senden1));
        postlist.add(new BasicNameValuePair("senden2", senden2));
        
        try {
               post.setEntity(new UrlEncodedFormEntity(postlist));
            } catch (UnsupportedEncodingException e) {
               throw new AssertionError("Encoding Error");
            }
        
        
        try {
              HttpResponse response = client.execute(post);
            } catch (ClientProtocolException e) {
               throw new AssertionError("Client Protocol Error");
            } catch (IOException e) {
               throw new AssertionError("IO Error");
            }
        
        
    }




}

Nur leider hängt sich das ganze auf wenn ich auf den Knopf drücke :(

Hat jemand ne Idee warum es nicht geht und wie es gehen könnte?

LG

...zur Frage

Android Studio: ArrayList: Auf Wert zugreifen?

Hallo, liebe Community, in Android Studio (Java) möchte ich gerne auf die erste Variable zugreifen, die in meiner ArrayList ist:

 aktivespieler = new ArrayList();
aktivespieler.add(player1); aktivespieler.add(player2); aktivespieler.add(player3); aktivespieler.add(player4);

Bei einem Array kann ich ja folgende Zeile schreiben:

String meinevariable = meinArray[0].toString;

Wie also kann ich es bei einer ArrayList machen? Ich freue mich über jeden Versuch mir zu helfen... :)

...zur Frage

Android studio auf Trekstor Surfbook a13b?

Ich möchte Anfangen ein paar basics zu lernen, was das App-programmieren angeht. Ich habe mich bereits mit dem Android studio an meinem Standrechner auseinandergesetzt, wobei ich gemerkt habe, dass es ab und zu kleinere Mini-ruckler gibt, jenachdem, was man öffnet. Da wollte ich fragen, ob es erfahrungsmäßig möglich ist auf so einem Laptop (ich habe bis jetzt das simulieren von handys nicjt gebraucht und werde es auch ohne benutzen. Also lediglich bearbeiten und text schreiben) Androidstudio zu nutzen.

Kurz die wichtigsten daten:

Prozessor: Intel Celeron n4000 (2 kerner max 2,6 ghz)

Ram: 4gb

Onboard grafik

(Wird mit einer m.2 ssd aufgerüstet, wodurch er etwas schneller laufen sollte.)

Bitte bedenken, dass ich in den all oben genannten Bereichen ein Laie bin und mir versuche alles selbst bei zu bringen (Bisschen hilfe mit youtube :D).

Vielen Dank im vorraus.

...zur Frage

Android Studion - Bei OnClick den Text mehrere Buttons ändern?

Guten Tag, derzeit versuche ich mich etwas in Android Studio. Wenn man nun auf einen Button klickt, so soll sich der Text von zwei Knöpfen ändern.

Mein Versuch sieht so aus: public void onButtonClickGut(View v) { String ausgabe; ausgabe = "Das ist schoen"; text.setText(ausgabe);

    Button gut=(Button) v;
    ((Button) v).setText("Runde2");

    Button schlecht=(Button) v;
    ((Button) v).setText("Runde2");

Nun ist es aber so, dass dann nur der zu erst genannte geändert wird, wie kann ich das ändern?

Vielen Dank

...zur Frage

Was möchtest Du wissen?