activity

Mattepuffo's logo
Android DatePicker

Android DatePicker

I DatePicker sono dei componenti molto comodi per rappresentare le date, e li possiamo ormai trovare su qualsiasi software Web, Desktop o Mobile che sia.

Oggi vediamo come usare questo componente in Android.

Prima di tutto aggiuntetelo al lyout della vostra Activity:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/app_theme"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <DatePicker
        android:id="@+id/date_picker"
        android:layout_width="fill_parent"
        android:layout_height="110dp"
        android:calendarViewShown="false" />

     <Button
            android:id="@+id/btn_up"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/btn" />

</LinearLayout>

Controllate quali opzioni fanno per voi ovviamente.

Ho messo anche un Button per impostarci sopra un evento di lettura della data scelta.

Poi nella nostra Avtivity:

public class MyActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_er);
        DatePicker datePicker = (DatePicker) findViewById(R.id.date_picker);
        Button btnLogin = (Button) findViewById(R.id.btn);
        btnLogin.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                String date = DateFormat.format("yyyy-MM-dd", datePicker.getCalendarView().getDate()).toString();
                System.out.println(date);
            }
        });
    }

}

Al click sul Button trasformo la data scelta in stringa e la formatto come voglio usando un oggetto DateFormat.

Mattepuffo's logo
Usare i Tab e i Fragment in Android

Usare i Tab e i Fragment in Android

Nelle ultime versioni delle API, Google ci ha messo a disposizione i layout a tab, cosa che semplifica di molto la creazione di un layout, appunto, con i tab (che prima si doveva fare a mano).

Vediamo come usare questo tipo di layout con i Fragment.

Cominciamo con il layout che imposteremo nella Activity:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".BancaActivity"
    tools:ignore="MergeRootFrame" >

    <fragment
        android:id="@+id/entries_fragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_marginTop="?android:attr/actionBarSize"
        class="com.mp.banca.EntriesFragment" >
    </fragment>

    <fragment
        android:id="@+id/releases_fragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_marginTop="?android:attr/actionBarSize"
        class="com.mp.banca.ReleasesFragment" >
    </fragment>

</FrameLayout>

Come vedete ci sono due elementi Fragment, che puntano a due specifiche classi.

Mattepuffo's logo
Lanciare un'Activity in Android

Lanciare un'Activity in Android

Le applicazioni Android difficilemente son composte da una sola Activity.

Creare un'Acitivity per ogni compito è la normalità visto anche lo spazio ridotto dei cellulari.

Vediamo come possiamo fare per richiamare un'altra Activity.

Prima di tutto create un altro layout e chiamatelo second; nella cartella layout dovremmo avere second.xml.

Questo sarà il layout della nostra seconda Activity.

Una volta modificato come volete create una nuova classe che estende Activity:

public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);

}

Poi andate a modificare il file AndroidManifest.xml: