Hilfe bei Anfänger App

A

AndroidSam0306

Neues Mitglied
0
Guten Tag,
ich bin ein totaler Anfänger in Sachen Android-App programmieren.
Ich habe nur Erfahrung im Programmieren in Java.
Seit kurzem bin ich dabei eine App zu erstellen. Sie soll folgendes können:

Ich habe ein Nummer-Eingabefeld erstellt, um dort eine Zahl von 1 bis 15 eintragen zu können. Dieses Feld soll eingelesen werden, und am besten in einer String Variable gespeichert werden, so dass ich später mit dieser Variable arbeiten kann.

Momentan habe ich nur in der Methode "onCreate" stehen (neben der "super"-Klasse):

EditText eingabe = (EditText) findViewById(R.id.editText1);

muss ich irgendwas mit den Methoden "onStart", "onDestroy" machen?
Tut mir leid, aber ich bin im Moment noch planlos.


Wen es interessiert:
Später möchte ich so etwas wie eine if-Schleife erstellen, in der es heißt:
"wenn die eingabe (z.B) "15" ist, gib "'irgendeinen String'" aus"


Wie gesagt ich bin blutiger Anfänger, wäre nett wenn ihr es verständlich posten, oder erklären könntet.

Wenn ihr gute Tutorial, Bücher o.ä zum lernen der Programmierung für Android habt, bin ich dankbar wenn ihr sie mit mir teilt.

Vielen Dank schonmal.
 
Für Anfänger findest du einen sehr guten Thread mit Links usw oben im Forum. https://www.android-hilfe.de/forum/...ndroid-programmierung-newbie-guide.21865.html Wegen onCreate, onDestroy und onStart schau dir mal den LifeCycle eines Activitys an und mach dich damit vertraut: http://developer.android.com/images/activity_lifecycle.png Das hier auch mal alles lesen: Activity | Android Developers Würde dir auch empfehlen ein paar Tutorials der Android Developer Seite durchzumachen. Macht vorallem den Einstieg einfacher. Schau dir das vielleicht auch gleich mal an, Java kannst du ja schon, dann sollte das schon gehn. Da sind viele Bereich damit abgedeckt. Notepad Tutorial | Android Developers
 
Vielen Dank soweit. Die schnelle Antwort hat mir schonmal sehr geholfen.
Hat vielleicht noch jemand konkreten Quelltext für mich. Für mein Programm oder so etwas ähnliches wo ich mich mal durcharbeiten kann?
Ist ja schon ziemlich trocken und aus dem Zusammenhang in so Listungen.

Wer noch weitere Tutorial kennt, gerne posten.

Vielen Dank


Gesendet von meinem GT-I9100G mit der Android-Hilfe.de App
 
Beispiele findet man mit Google genug. Dein konkretes Beispiel ist ja jetzt nichts gravierendes, das solltest du auch alleine schaffen. Mach dir einfach noch einen Button zu deinem EditText dazu. In der onClick Methode vom Button kannst du dann ja prüfen was in deinem EditText gerade steht und dann ja deine Methode mit der if-Schleife aufrufen.
 
Hii,

ich weiss zwar nicht genau was du machen willst, aber hier mal ein Beispiel wie das aussehen kann(!).

Code:
public class MeineActivity extends Activity implements android.view.View.OnClickListener

private EditText eingabe;
private Button button;

@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);

                // Hier deine Layout XML laden.
		setContentView(R.layout.MeineActivity);

               // EditText Feld 
               eingabe = (EditText) findViewById(R.id.editText1);

              // Button
              button = (Button) findViewById(R.id.button1);
		button.setOnClickListener(this);
        }

// jetzt noch das OnClickListener Interface implementieren
// die Methode onClick wird aufgerufen, sobald es ein Click auf ein View Objekt gibt, du kannst danach noch schauen, welches Objekt geclickt wurde, falls es mehrere sind.

public void onClick(View view)
{
         if (view == button)
         {
               if(eingabe.getText().toString() == "Test")
               {
                   // do something
                }
               else
               // do something
          }
}


Hoffe das passt so zum verstehen!

Beste Grüße
 
DANKE :):)

So etwas hatte ich gesucht..
Zum besseren Verständniss..(ich weiß es ist nicht sehr einfallsreich, aber zum erlernen der neuen Fähigkeiten geeignet).
In der Schule bekomme ich mittlerweile anstatt Noten, Punkte..15 = 1+ .. 14 = 1 usw.
Ich moechte einen Rechner entwickeln, in dem ich die Punkte eingeben kann, und er die Note ausgiebt.

Vielen Vielen Dank an alle bis hierhin.
Gesendet von meinem GT-I9100G mit der Android-Hilfe.de App
 
Der Code ansich war super gut.
Allerdings startet die App nicht.
Ich schätze es liegt an der Manifest datei. Was muss ich hier ändern?
muss ich außerdem noch etwas ändern?


Gesendet von meinem GT-I9100G mit der Android-Hilfe.de App
 
Logcat posten, sonst kann man nur raten.
 
Wie gesagt,ich kenn mich noch nicht wirklich mit Android aus, und bin auch hier im Forum neu. Ich bitte meine anfänglichen Fehler zu verzeihen.
Hier der Logcat: (Ich hoffe ihr könnt da etwas entziffern :blink:


12-10 17:37:22.678: D/AndroidRuntime(274): Shutting down VM
12-10 17:37:22.697: W/dalvikvm(274): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
12-10 17:37:22.737: E/AndroidRuntime(274): FATAL EXCEPTION: main
12-10 17:37:22.737: E/AndroidRuntime(274): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.punkteapp/com.example.punkteapp.MainActivity}: java.lang.ClassCastException: com.example.punkteapp.MainActivity
12-10 17:37:22.737: E/AndroidRuntime(274): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
12-10 17:37:22.737: E/AndroidRuntime(274): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
12-10 17:37:22.737: E/AndroidRuntime(274): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
12-10 17:37:22.737: E/AndroidRuntime(274): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
12-10 17:37:22.737: E/AndroidRuntime(274): at android.os.Handler.dispatchMessage(Handler.java:99)
12-10 17:37:22.737: E/AndroidRuntime(274): at android.os.Looper.loop(Looper.java:123)
12-10 17:37:22.737: E/AndroidRuntime(274): at android.app.ActivityThread.main(ActivityThread.java:4627)
12-10 17:37:22.737: E/AndroidRuntime(274): at java.lang.reflect.Method.invokeNative(Native Method)
12-10 17:37:22.737: E/AndroidRuntime(274): at java.lang.reflect.Method.invoke(Method.java:521)
12-10 17:37:22.737: E/AndroidRuntime(274): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-10 17:37:22.737: E/AndroidRuntime(274): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-10 17:37:22.737: E/AndroidRuntime(274): at dalvik.system.NativeStart.main(Native Method)
12-10 17:37:22.737: E/AndroidRuntime(274): Caused by: java.lang.ClassCastException: com.example.punkteapp.MainActivity
12-10 17:37:22.737: E/AndroidRuntime(274): at com.example.punkteapp.MainActivity.onCreate(MainActivity.java:27)
12-10 17:37:22.737: E/AndroidRuntime(274): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-10 17:37:22.737: E/AndroidRuntime(274): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
12-10 17:37:22.737: E/AndroidRuntime(274): ... 11 more
12-10 17:37:27.648: I/Process(274): Sending signal. PID: 274 SIG: 9
 
12-10 17:37:22.737: E/AndroidRuntime(274): Caused by: java.lang.ClassCastException: com.example.punkteapp.MainActivity
12-10 17:37:22.737: E/AndroidRuntime(274): at com.example.punkteapp.MainActivity.onCreate(MainAc tivity.java:27)

Da ist dein Fehler. Schau also mal in deiner MainActivity.java in Zeile 27 nach. Oder du postest den entsprechenden Code hier rein und markierst bitte die entsprechende Zeile.
 
Hier der komplette Code aus "MainActivity.java":

package com.example.punkteapp;


import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class MainActivity extends Activity {

private EditText eingabe;
private Button button;
private TextView ausgabefeld;

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
eingabe = (EditText) findViewById(R.id.editText1);
button = (Button) findViewById(R.id.button1);
//Zeile 27!!button.setOnClickListener(this);

}


public void onClick(View view)
{
if (view == button)
{
if(eingabe.getText().toString() == "Test")
{

ausgabefeld = (TextView)findViewById(R.id.textView3);
ausgabefeld.setText("Es wurde Test geschrieben");
}
else

ausgabefeld = (TextView)findViewById(R.id.textView3);
ausgabefeld.setText("Es wurde nicht Test geschrieben -> Else schleife");
}

}




@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();

}




@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}



}

natürlich in Zeile 27 nur der Befehl.
Nicht das //Zeile27!!
 
Zuletzt bearbeitet:
Der setOnClickListener-Methode übergibts du "this" was sich auf das Activity bezieht. Erwartet aber:

public void setOnClickListener (View.OnClickListener l)

Since: API Level 1

Register a callback to be invoked when this view is clicked. If this view is not clickable, it becomes clickable.

Parameters

lThe callback that will run



Button | Android Developers

final Button button = (Button) findViewById(R.id.button_id); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Perform action on click } });
 
Die App funktioniert :)

Und das sogar besser als ich es mir vorgestellt hatte...


Danke an alle die mir geholfen haben, sehr freundlich.

Bis bald :biggrin:
 

Ähnliche Themen

D
Antworten
17
Aufrufe
407
datNeMo
D
M
Antworten
3
Aufrufe
165
moin
M
R
  • RudolfHagen
Antworten
1
Aufrufe
652
koje71
koje71
Zurück
Oben Unten