Eclipse, SDK-Fehler?

H

Here

Neues Mitglied
0
Hallo Leute, wir haben in der Schule vor kurzem mit der Entwicklung von Apps für Android angefangen. Ich war bzw bin immer noch so begeistert davon, dass ich mal versucht habe eine Quiz App zu Entwickeln, um vorran zu kommen. Zur Zeit bin ich noch mit Layouts wechseln beschäftigt. Jedoch hab ich ein Problem beim wechseln von Layouts(Hauptmenü -> Untermenü). Das Problem: Wenn ich im Android Manifest eine Target SDK angebe, stürzt die App nachdem man auf "Spiel starten" klickt ab. Wenn ich jedoch keine Target SDK oder sonstiges im Manifest eingebe, funktioniert alles wunderbar, jedoch nicht im Android 4.X look sondern eher wie bei Android 2.X, was ich nicht haben möchte. Hat da jemand einen Tipp wie es funktionieren sollte?

Fall jemand die Quelltexte braucht, bitte Bescheid sagen. Und am besten noch den benötigten Quelltext mit dazu schreiben(z.B Manifest oder MainActivity usw).

MfG !
 
Hey,
du meinst wahrscheinlich die Activities.. :)
Hmm, kann gut sein, dass es am Manifest liegt - aber es könnte auch eine an ganze Reihe anderer Sachen liegen. Hast du die App beim Absturz mal in Logcat beobachtet? Wenn du den Fehler kopierst und hier einstellst, kann man dir wahrscheinlich am besten helfen.
Was Logcat ist, was man damit machen kann und warum es ziemlich nützlich ist, ist hier sehr gut erklärt. Die Seite ist generell sehr zu empfehlen. ;)
 
Also ich hab das ganze mal im Debug Modus gestartet und dann bin ich nach dem Absturz LogCat geöffnet und dies ist der Fehlerhafte Bereich:
http://www.imgbox.de/users/public/images/BJUaqz2WV4.png

Anscheinend steht nicht genügend Speicher zur Verfügung, kann man da irgendetwas machen? :/
 
Hat keiner eine Lösung? :(
 
Ohne Sourcecode - keine Diagnose.
 
Von welcher Activity brauchst du denn den Quellcode? Hab 8 Activities, wäre jetzt ziemlich unübersichtlich und lang wenn ich die alle poste
 
Die relevante.

Wenn du zum Arzt gehst und sagst "Hr. Doktor - mir tut der Fuß weh!" dann werden meistens keine Röntgenaufnahmen vom Backenzahn gemacht ;)
 
  • Danke
Reaktionen: DagobertDokate
Die MainActivity:
Code:
package com.example.quiz;


import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
	 /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button next = (Button) findViewById(R.id.button1);
       
        next.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), SecondActivity.class);
                startActivityForResult(myIntent, 0);
            }

        });
        Button high = (Button) findViewById(R.id.Button01);
       
        high.setOnClickListener(new View.OnClickListener() {
        	public void onClick(View view) {
                Intent intent = new Intent(view.getContext(), OptionsActivity.class);
                startActivity(intent);
            }

        });
    }
}
Die 2. Activity
Code:
package com.example.quiz;



import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

import android.widget.ImageButton;


public class SecondActivity extends Activity {
	
	  /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
ImageButton back = (ImageButton) findViewById(R.id.imageButton4);
ImageButton jd = (ImageButton) findViewById(R.id.imageButton1);
        back.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();
            }
        });
            jd.setOnClickListener(new View.OnClickListener() {
            	public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), ThirdActivity.class);
                startActivityForResult(myIntent, 0);
            }

        

        });
    }}
Die 3. Activity
Code:
package com.example.quiz;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;

public class ThirdActivity extends Activity {
	 public void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState);
	        setContentView(R.layout.activity_third);

	 ImageButton jd1 = (ImageButton) findViewById(R.id.imageButton1);
	 ImageButton back = (ImageButton) findViewById(R.id.imageButton4);
	 back.setOnClickListener(new View.OnClickListener() {
         public void onClick(View view) {
             Intent intent = new Intent();
             setResult(RESULT_OK, intent);
             finish();
         }
     });
	 jd1.setOnClickListener(new View.OnClickListener() {
     	public void onClick(View view) {
         Intent myIntent = new Intent(view.getContext(), QuizActivity.class);
         startActivityForResult(myIntent, 0);
     }

 

 });
}
}

Und das Manifest

Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.quiz"
      android:versionCode="1"
      android:versionName="1.0">

    <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:allowBackup="true" >
        <activity android:name=".MainActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".SecondActivity"></activity>
        <activity android:name=".ThirdActivity"></activity>
        <activity android:name=".QuizActivity"></activity>
        <activity android:name=".ResultActivity" android:label="@string/title_activity_result" > </activity>
        <activity android:name=".DbHelper" ></activity>
        <activity android:name=".Question" ></activity>
        <activity android:name=".AboutActivity" ></activity>
        <activity android:name=".OptionsActivity" ></activity>
   
    </application>
    
</manifest>

Hab diese 3 Codes + Manifest genommen, da sie ImageButtons haben(2. und 3. Activity) Wahrscheinlich liegt es daran.
 
Leider ist das nichts Relevantes ;)

Das sind ein paar gurkige Activitys mit "Vor" und "Zurück" Handlern.

Irgendwie sowas würde ich in das Manifest reinbauen:

<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="15" />

Du bist dir sicher das du immer korrekte Elemente bekommst, wenn
du die findViewById ausführst?

Mach mal eine ZIP Datei und lade die irgendwo hoch, dann kann ich mir das
mal anschauen.
 
10 mb ;)

Was hat du da drin?

Kannst du bitte das "relevante" schicken ;) also kein bin und kein gen.

Der ursprüngliche Beitrag von 14:27 Uhr wurde um 14:27 Uhr ergänzt:

Ah ;) Ich hab hier grad ne schlechte UMTS Leitung.
 
Here schrieb:

Genau ;)

Hier etwas Mathematik:

Das Bild auf der 2ten Activity hat 2000x3000 pixel.

Jeder Pixel braucht 3 bytes (weil RGB)

Ergo brauch das Bild: 2000x3000x3 = 17mb.

Da die vorherige Activity auch noch im Speicher ist (startActivityForResult)
hast du nochmal Bilder im Ram.

Damit röchelt deine App Iwan mal nur noch um gnade was Speicher angeht...
 
Wie behebe ich dies ohne die Bilder zu entfernen :/?
Schließlich gibt es ja ziemlich viele Apps die auch ImageButtons benutzen und trotzdem perfekt laufen. Hab gestern was von Bitmap gehört, bin damit aber nicht klar gekommen.
Und würden die Bilder mit startActivity() immer noch im Ram sein?

MfG
 
Wieder mit Mathematik:

200x300x3 = 175kb ... also 1/100 ;)
 

Ähnliche Themen

D
Antworten
3
Aufrufe
460
jogimuc
J
M
Antworten
1
Aufrufe
1.035
wilco
W
J
Antworten
0
Aufrufe
557
JoEntwickler
J
Zurück
Oben Unten