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>

pasquale.clarizio

Recent Posts

Machine Learning e Predizioni di un Prodotto, tramite una Quantità e una Data di Vendita

[crayon-6a9ff282d6160253729927/] Partiamo da questo, ma che inseriamo nel codice: [crayon-6a9ff282d6171547420112/] https://www.pasqualeclarizio.it/progetti/ml_test/app_ml4.php [crayon-6a9ff282d617c889109442/] in base a…

19 ore ago

Machine Learning e predizione tramite un Prodotto, una Quantità e una Data di vendita

Se avessimo: [crayon-6a9ff282d65d4265888196/] dati_frutta2.csv Tramite il Machine Learning non riusciremmo ad effettuare una Predizione dei…

20 ore ago

Leggere il file CSV in PHP

[crayon-6a9ff282d6929156193594/] é importante capire che il file: prodotto_fru.csv deve essere già stato caricato all'interno di…

24 ore ago

La verità sul Machine Learning

Il Machine Learning non è magia. È solo matematica. Quando il computer "impara", in realtà sta facendo solo…

4 giorni ago

La differenza tra Statistica e Machine Learning

La differenza tra Statistica e Machine Learning La Statistica: "Spiegami il passato" La statistica è…

4 giorni ago

Machine Learning: regole, come scopre le regole e gli esempi per scoprirle

La scatola magica Immagina una scatola [crayon-6a9ff282d761d150878082/] Se metti qualcosa dentro, la scatola ti dà…

4 giorni ago