App stürzt ab - Wie am schnellsten Grund finden?

  • Antworten:16
ExKcir
  • Forum-Beiträge: 115

11.08.2012, 20:45:51 via Website

Hallo,
meine App, ein kleines Projekt mit einem webview, 2 textboxen und einem button stürtzt immer ab und ich weiß nicht genau wie.
Wie kann man so ein Problem am besten beheben, bzw. das Problem mal finden?

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

11.08.2012, 22:14:21 via App

Im Log nachschauen, was dort bezüglich des Fehlers drin steht und die Ursache beheben.

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
ExKcir
  • Forum-Beiträge: 115

11.08.2012, 22:26:04 via Website

Danke, ch hab mal geschaut und da steht jetzt:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.ExKcirApps.Apname/com.ExKcirApps.Appname.MainActivity}: java.lang.NullPointerException.

Weiß jemand an was das ungefähr liegen kann?
Ich kann den Fehler einfach nicht beheben, obwohl die app wie schon gesagt ziemlich klein ist :(

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

11.08.2012, 22:35:08 via App

Hey,

poste mal die Codezeile, in der die Nullpointerexception auftaucht. Du weißt, was eine Nullpointerexception ist?

Lg Ansgar

Antworten
ExKcir
  • Forum-Beiträge: 115

11.08.2012, 22:53:31 via Website

Nein, nicht ganz.
Hab aber gegoogelt und glaube das ich kann mir ungefähr vorstellen was das ist.
Aber ich kann nicht genau sagen wo die ist :(

Aber hier mal der Code der Schuld sein muss (hab ansonsten nurnoch den Buttoncode, der kann abe rnicht schuld sein da er ja nicht aufgerufen wird beim Programmstart wo es schon abstürtzt):

1package com.ExKcirApps.Appname;
2
3
4import android.os.Bundle;
5import android.app.Activity;
6import android.view.Menu;
7import android.view.View;
8import android.webkit.WebView;
9import android.widget.Button;
10import android.widget.EditText;
11
12public class MainActivity extends Activity {
13
14 Button Klick = (Button) findViewById(R.id.button1);
15 WebView WV = (WebView) findViewById(R.id.webView1);
16 EditText Username = (EditText)findViewById(R.id.editText2);
17 EditText Text = (EditText)findViewById(R.id.editText1);
18 String Usernametext;
19 String Texttext;
20
21 @Override
22 public void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 setContentView(R.layout.main);
25
26 WV.loadUrl("http://url.at");

Antworten
Maximilian O
  • Forum-Beiträge: 990

12.08.2012, 07:14:19 via App

ExKcir
Nein, nicht ganz.
Hab aber gegoogelt und glaube das ich kann mir ungefähr vorstellen was das ist.
Aber ich kann nicht genau sagen wo die ist :(

Aber hier mal der Code der Schuld sein muss (hab ansonsten nurnoch den Buttoncode, der kann abe rnicht schuld sein da er ja nicht aufgerufen wird beim Programmstart wo es schon abstürtzt):

1package com.ExKcirApps.Appname;
2
3
4import android.os.Bundle;
5import android.app.Activity;
6import android.view.Menu;
7import android.view.View;
8import android.webkit.WebView;
9import android.widget.Button;
10import android.widget.EditText;
11
12public class MainActivity extends Activity {
13
14 Button Klick = (Button) findViewById(R.id.button1);
15 WebView WV = (WebView) findViewById(R.id.webView1);
16 EditText Username = (EditText)findViewById(R.id.editText2);
17 EditText Text = (EditText)findViewById(R.id.editText1);
18 String Usernametext;
19 String Texttext;
20
21 @Override
22 public void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 setContentView(R.layout.main);
25
26 WV.loadUrl("http://url.at");
Hi,
du kannst findViewById erst nach dem setContentView verwenden. Pack die Zeile WV=... einfach vor dein loadUrl. Ansonsten greifst du auf eine Methode bei einem Objekt zu welches null ist. Daher die Exeption.

Liebe Grüße Maximilian

Vergiss nie wieder Geburtstage, oder viel schlimmer, deinen Hochzeitstag - Birthdays Download

Antworten
ExKcir
  • Forum-Beiträge: 115

12.08.2012, 10:05:41 via Website

Nur das WebView WV = (WebView) findViewById(R.id.webView1); oder auch das Andere?
Weil ich habe es jetzt verschoben, aber die App stürtzt immer noch beim start der app

— geändert am 12.08.2012, 10:05:54

Antworten
Maximilian O
  • Forum-Beiträge: 990

12.08.2012, 10:48:53 via App

ExKcir
Nur das WebView WV = (WebView) findViewById(R.id.webView1); oder auch das Andere?
Weil ich habe es jetzt verschoben, aber die App stürtzt immer noch beim start der app
Hi,
findViewById immer erst nach setContentView (daher auch die anderen). Sollte es immer noch abstürzen poste nochmal den Stacktrace.

Liebe Grüße Maximilian

— geändert am 12.08.2012, 10:49:44

Vergiss nie wieder Geburtstage, oder viel schlimmer, deinen Hochzeitstag - Birthdays Download

Antworten
ExKcir
  • Forum-Beiträge: 115

12.08.2012, 11:21:37 via Website

Wenn ich die anderen auch verschiebe kommt ein error das ich alles final machen muss, aber wenn ich das mache hab ich ein Problem weil ich in den Strings nachher einen wert speichern will:

1Usernametext = String.valueOf(Username.getText().toString());
2Texttext = String.valueOf(Text.getText().toString());

Wie kann ich das Problem umgehen?

Antworten
Maximilian O
  • Forum-Beiträge: 990

12.08.2012, 11:46:23 via App

Die Strings sollen doch oben bleiben. Nur alle Initialisierungen sollen runter.

— geändert am 12.08.2012, 11:46:42

Vergiss nie wieder Geburtstage, oder viel schlimmer, deinen Hochzeitstag - Birthdays Download

Antworten
ExKcir
  • Forum-Beiträge: 115

12.08.2012, 11:51:48 via Website

Maximilian O
Die Strings sollen doch oben bleiben. Nur alle Initialisierungen sollen runter.
Man bin ich blöd^^

Jetzt funktioniert es, danke :)

Edit: Ich habe noch ein kleines Problem:
Irgendwie wird das WebView nicht richtig angezeigt, es steht das die Seite nicht gefunden werden konnte.
Aber die URL ist 100%tig richtig und das internet an.
Am PC kann ich die Seite aufrufen und im Handybrowser geht sie auch...

hab ich noch einen Fehler im Programm oder an was kann das liegen?

— geändert am 12.08.2012, 12:00:07

Antworten
ExKcir
  • Forum-Beiträge: 115

12.08.2012, 12:51:54 via Website

Nein, leider nicht, an die habe ich schon gedacht.
Es muss irgendwas anderes sein :(

Antworten
Maximilian O
  • Forum-Beiträge: 990

12.08.2012, 12:58:44 via App

Poste mal den Code deiner Actitivty.

Vergiss nie wieder Geburtstage, oder viel schlimmer, deinen Hochzeitstag - Birthdays Download

Antworten
ExKcir
  • Forum-Beiträge: 115

12.08.2012, 13:39:39 via Website

1package com.ExKcirApps.Appname;
2
3
4import android.os.Bundle;
5import android.app.Activity;
6import android.view.Menu;
7import android.view.View;
8import android.webkit.WebView;
9import android.widget.Button;
10import android.widget.EditText;
11
12public class MainActivity extends Activity {
13
14
15 String Usernametext;
16 String Texttext;
17
18 @Override
19 public void onCreate(Bundle savedInstanceState) {
20 super.onCreate(savedInstanceState);
21 setContentView(R.layout.main);
22
23 Button Klick = (Button) findViewById(R.id.button1);
24 final WebView WV = (WebView) findViewById(R.id.webView1);
25 final EditText Username = (EditText)findViewById(R.id.editText2);
26 final EditText Text = (EditText)findViewById(R.id.editText1);
27
28 WV.loadUrl("http://www.google.com");
29
30 Klick.setOnClickListener(new View.OnClickListener(){
31
32 public void onClick(View v)
33 {
34 Usernametext = String.valueOf(Username.getText().toString());
35 Texttext = String.valueOf(Text.getText().toString());
36
37 WV.loadUrl("http://www.google.at/index.php?name="
38 + Usernametext
39 + "&inhalt="
40 + Texttext);
41
42 Text.setText("");
43 }
44 });
45
46 }
47
48 @Override
49 public boolean onCreateOptionsMenu(Menu menu) {
50 getMenuInflater().inflate(R.menu.main, menu);
51 return true;
52 }
53}
Ich habe den Url auf google geändert, es geht immer noch nciht, also liegt es sicher am webview bzw. irgendeinem kleinen dummen fehler ...

Antworten
Maximilian O
  • Forum-Beiträge: 990

12.08.2012, 13:51:11 via App

Auf den ersten Blick sehe ich keinen Fehler. Sicher dass die Permission an der richtigen Stelle im Manifast ist? Poste mal den Code vom Manifast.

Liebe Grüße Maximilian

— geändert am 12.08.2012, 13:51:46

Vergiss nie wieder Geburtstage, oder viel schlimmer, deinen Hochzeitstag - Birthdays Download

Antworten
ExKcir
  • Forum-Beiträge: 115

12.08.2012, 14:28:31 via Website

So, ich hab nun nochmal nachgeschaut , aber irgendwie hat wirklich die Permission gefehlt (obwohl ich sie 100%tig eingebaut habe)
Vll habe ich das Projekt mal geschlossen und es war nicht gespeichert.

Aber jetzt funktioniert alles, danke :)

Antworten