Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /usr/home/shadbb/domains/czub.info/public_html/wp-content/plugins/wp-syntax/wp-syntax.php on line 383 Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /usr/home/shadbb/domains/czub.info/public_html/wp-content/plugins/wp-syntax/wp-syntax.php on line 383 Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /usr/home/shadbb/domains/czub.info/public_html/wp-content/plugins/wp-syntax/wp-syntax.php on line 383

Prosty przykład formularza do podawania danych oraz wyświetlenia ich na tosterze.

Kroki:

  1. Przy pomocy Eclipse generujemy standardowy projekt Androidowy
  2. W głównej aktywności układamy komponenty GUI (TextView, EditText, Button), poniżej wygenerowany kod Activity:
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >
     
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="@string/name" />
     
        <EditText
            android:id="@+id/editName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/textView1"
            android:ems="10"
            android:inputType="textPersonName" >
     
            <requestFocus />
        </EditText>
     
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/editName"
            android:layout_below="@+id/editName"
            android:layout_marginTop="16dp"
            android:text="@string/bornDate" />
     
        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/editDate"
            android:layout_below="@+id/editDate"
            android:layout_marginTop="15dp"
            android:text="@string/semester" />
     
        <EditText
            android:id="@+id/editDate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textView2"
            android:layout_alignRight="@+id/editName"
            android:layout_below="@+id/textView2"
            android:ems="10"
            android:inputType="date" />
     
        <EditText
            android:id="@+id/editSemestr"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textView3"
            android:layout_alignRight="@+id/editDate"
            android:layout_below="@+id/textView3"
            android:ems="10"
            android:inputType="textMultiLine" />
     
        <Button
            android:id="@+id/buttonSave"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignRight="@+id/editName"
            android:layout_below="@+id/editSemestr"
            android:layout_marginRight="18dp"
            android:layout_marginTop="18dp"
            android:text="@string/save" />
     
    </RelativeLayout>
  3. Do klasy zasobów String (res/values/string.xml) dodajemy napisy używane w labelach:
        <string name="name">Imię i nazwisko</string>
        <string name="bornDate">Data urodzenia</string>
        <string name="semester">Semester</string>
        <string name="save">Zapisz</string>
  4. W klasie obsługującej główne Activity dodajemy kod odczytujący teksty wpisane w formularzu oraz wyświetlający je na tosterze:
    package net.shad.droidlern;
     
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
     
    public class MainActivity extends Activity {
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     
            //
            // Pobranie Id buttona oraz przypisanie do niego reakcji na onClick
            //
            Button btn=(Button)findViewById(R.id.buttonSave);
            btn.setOnClickListener(new OnClickListener() {
     
                @Override
                public void onClick(View v) {
                    getTextElement();
                }
            });
     
        }
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
     
        /*
         * Pobranie zawartosci formularza oraz wyswietlenie na Toast
         */
        private void getTextElement(){
     
            //
            // Pobranie ID elementow GUI
            //
            EditText editName=(EditText)findViewById(R.id.editName);
            EditText editData=(EditText)findViewById(R.id.editDate);
            EditText editSemestr=(EditText)findViewById(R.id.editSemestr);
     
            //
            // Pobranie zawartosci elementow formatki
            //
            String message=editName.getText()+"n"+editData.getText()+"n"+editSemestr.getText();
     
            //
            // Wyswietlenie tekstu na Toast
            //
            Toast.makeText(this, message, Toast.LENGTH_LONG).show();
        }
     
    }
  5. Rezultat kodu aplikacji: