Autore Topic: Prelevare frase da database xml  (Letto 500 volte)

Offline gionninnoig

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Redmi 4 Pro
  • Play Store ID:
    gionninnoig
  • Sistema operativo:
    Windows 7
Prelevare frase da database xml
« il: 06 Agosto 2017, 20:02:57 CEST »
0
Salve a tutti, sono un novellino sia nel forum, sia nella programmazione.
Sto cercando di creare un Activity contenente un Button e vorrei, premendo quest'ultimo, visualizzare una frase random contenuta in un file xml. Ho cercato un po nel forum, ho trovato qualche spunto ma non so comunque come agire. Ho letto qualcosa riguardo i fragment, forse fanno al caso mio dal momento che la frase può anche essere visualizzata in una parte dello schermo.
Spero nel vostro aiuto e nel caso abbia sbagliato sezione, chiedo perdono  O:-)

Offline Tiru

  • Utente junior
  • **
  • Post: 51
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 10
Re:Prelevare frase da database xml
« Risposta #1 il: 06 Agosto 2017, 21:28:56 CEST »
0
Ciao, non ho ben capito cosa vuoi provare a fare.. però provo a darti una mano:
Se devi prendere una frase contenuta in un altra Activity(Java+xml) puoi usare i Bundle o Intent per passarla tra i due
i Fragment servono per visualizzare una pagina intera quindi non solamente la stringa ma tutto ciò che è presente sull layout.
Prego di specificare se uno o l'altro dopo al massimo ti posso approfondire l'argomento (Ovviamente ti specifico che non sono un esperto, sto imparando tutto da autodidatta) .

Offline gionninnoig

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Redmi 4 Pro
  • Play Store ID:
    gionninnoig
  • Sistema operativo:
    Windows 7
Re:Prelevare frase da database xml
« Risposta #2 il: 07 Agosto 2017, 01:24:55 CEST »
0
Ciao Tiru e grazie della risposta. Ho scritto un mucchio di cose ma forse non mi sono spiegato bene, ci riprovo parlando in maniera più schietta.  :-)
Io voglio creare una schermata contenente un pulsante e ogni volta che premo quel pulsante mi appare una frase. La frase la prendo in maniera random da un insieme di frasi che vorrei salvare separatamente, in un file (xml?) a parte. Spero di essermi spiegato meglio

Offline Tiru

  • Utente junior
  • **
  • Post: 51
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 10
Re:Prelevare frase da database xml
« Risposta #3 il: 07 Agosto 2017, 10:34:42 CEST »
0
Bhe io farei in questo modo:

mi salverei le stringhe in un array se sò il numero di stringhe altrimenti un ArrayList<String> e quando viene cliccato il pulsante viene generato un numero random da 0 al numero stringe -1
e visualizzata la stringa con indice il numero random:

(Tutto in un activity senza usare altri layout file xml)

Codice (Java): [Seleziona]
public class MainActivity extends AppCompatActivity {

    private String[] stringhe = new String[5];
    private int random;
    private Button pulsante;
    private TextView testo;

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

        pulsante = (Button) findViewById(R.id.pulsante);
        testo = (TextView) findViewById(R.id.testo);

        stringhe[0] = "Zero";
        stringhe[1] = "Uno";
        stringhe[2] = "Due";
        stringhe[3] = "Tre";
        stringhe[4] = "Quattro";

        pulsante.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                random = (int) (Math.random() * 5);
                testo.setText(stringhe[random]);
            }
        });



    }
}

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
   android:orientation="vertical">

    <TextView
       android:id="@+id/testo"
       android:text="Stringa"
       android:textAlignment="center"
       android:textColor="#000"
       android:textAppearance="@style/Base.TextAppearance.AppCompat.SearchResult.Title"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_marginTop="50dp"/>

    <Button
       android:id="@+id/pulsante"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_marginTop="50dp"
       android:text="Cambia stringa"/>

</LinearLayout>

« Ultima modifica: 07 Agosto 2017, 10:36:24 CEST da Tiru »

Offline gionninnoig

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Redmi 4 Pro
  • Play Store ID:
    gionninnoig
  • Sistema operativo:
    Windows 7
Re:Prelevare frase da database xml
« Risposta #4 il: 07 Agosto 2017, 12:11:59 CEST »
0
Grande, era quello che volevo.
Ultima cosa: in
Codice (Java): [Seleziona]
(Math.random() * 5) il 5 è legato alla dimensione dell'array? Penso di si ma vorrei averne conferma.
Comunque grazie mille, adesso che trovo il modo metto un bel grazie alla tua risposta  ;-)

Offline Tiru

  • Utente junior
  • **
  • Post: 51
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 10
Re:Prelevare frase da database xml
« Risposta #5 il: 07 Agosto 2017, 12:17:44 CEST »
0
Esattamente, il 5 non è fisso, varia a seconda di quante stringhe usi. Prego ;-)