Android Studio: creare una Sveglia

Android Studio: creare una Sveglia

Iniziamo da qui;

Come creare questa Sveglia?
Aprendo il progetto ho solo inserito una TextView. Una componente. Trasportandola. Infatti appare anche SELEZIONATA

Abbiamo anche la possibilità selezionando la TextView, di modellarla, cioè di bloccarla in qualche Modo. Piazzarla li

Come gestire un Componente all'interno dell'Activity?

per definire dei Campi e quindi inserire L'ora e i minuti, per la Nostra Sveglia: Dalla Palette: EditText

per capir meglio come gestire;

il nostro Layout è completato con le Componenti;

Visualizzazione tipo Text:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="61dp"
android:layout_marginTop="33dp"
android:layout_marginEnd="134dp"
android:text="A che ora deve suonare la Sveglia?"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="55dp"
android:layout_marginTop="50dp"
android:text="Ora:"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />

<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="51dp"
android:layout_marginTop="33dp"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="51dp"
android:layout_marginTop="35dp"
android:text="Minuti:"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText" />

<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="45dp"
android:layout_marginTop="26dp"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView3" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="171dp"
android:layout_marginTop="38dp"
android:text="Imposta"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText2" />

</androidx.constraintlayout.widget.ConstraintLayout>

Ora Programmiamo la Nostra Sveglia, passando

MainActivity.java

package it.example.sveglia2;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

procediamo:

Se l'EditText (Classe) appare in rosso, allora, dobbiamo importarla. CTRL+INVIO

Se inserendo nel Codice, il Button, dovesse apparire rosso, CTRL+INVIO per importarlo.

codice è:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

EditText editText = (EditText) findViewById(R.id.editText);

EditText editText2 = (EditText) findViewById(R.id.editText2);

Button button = (Button) findViewById(R.id.button);

// azzero i campi
editText.setText("");
editText2.setText("");

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

}
});

}
}

Codice:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

EditText editText = (EditText) findViewById(R.id.editText);

EditText editText2 = (EditText) findViewById(R.id.editText2);

Button button = (Button) findViewById(R.id.button);

// azzero i campi
editText.setText("");
editText2.setText("");

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

}
});

}

// creo una Procedura
public void createAlarm(String message, int hour, int minutes)
{
Intent sveglia = new Intent(AlarmClock.ACTION_SET_ALARM)
.putExtra(AlarmClock.EXTRA_MESSAGE, message)
.putExtra(AlarmClock.EXTRA_HOUR, hour)
.putExtra(AlarmClock.EXTRA_MINUTES, minutes);
startActivity(sveglia);
}
}

da osservare:

Notiamo degli errori;

e infine

Codice finale:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final EditText editText = (EditText) findViewById(R.id.editText);

final EditText editText2 = (EditText) findViewById(R.id.editText2);

Button button = (Button) findViewById(R.id.button);

// azzero i campi
editText.setText("");
editText2.setText("");

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createAlarm("Sveglia", Integer.parseInt( editText.getText().toString() ),
Integer.parseInt( editText2.getText().toString() ) );
}
});

}

// creo una Procedura
public void createAlarm(String message, int hour, int minutes)
{
Intent sveglia = new Intent(AlarmClock.ACTION_SET_ALARM)
.putExtra(AlarmClock.EXTRA_MESSAGE, message)
.putExtra(AlarmClock.EXTRA_HOUR, hour)
.putExtra(AlarmClock.EXTRA_MINUTES, minutes);
startActivity(sveglia);
}
}

infine dobbiamo IMPOSTARE i Permessi, affinchè la Sveglia Suoni

e

Inserendo i permessi nel Manifest, la nostra Sveglia, Funzionerà!

PERMESSI:

<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />

da inserire prima di <APPLICATION>

About Post Author

pasquale.clarizio

Leave Comments

error: Content is protected !!
Advertisment ad adsense adlogger