Dernière fois Application Android: essayez de résumer les événements et les auditeurs
A continué. .. ..
Cela fait trois mois que j'ai rejoint l'entreprise. J'étudie le développement d'applications Android. Je vais le résumer après avoir étudié.
Je mâche mes propres connaissances de niveau d'introduction. Veuillez noter que de nombreuses pièces sont cassées.
Cette fois, je vais résumer la transition d'écran avec un code simple. ・ Je veux connaître les bases des transitions d'écran. ・ Je veux comprendre simplement l'intention. Pour ceux qui disent.
Lorsque vous entrez du texte et appuyez sur le bouton d'envoi, il créera une application qui affichera le texte saisi après la transition d'écran.
--Intention
En termes simples, c'est comme un conteneur pour transporter des informations d'une activité à une autre. Si vous placez la chaîne de caractères dans l'activité de l'écran 1 dans une case appelée intention comme cette fois, vous pouvez utiliser la chaîne de caractères sur l'écran 2 en appelant la case sur l'écran 2.
--Un événement
Le moment de l'utilisation de l'écran de l'utilisateur, par exemple en appuyant sur un bouton
--Auditeur
Gardez un œil sur l'événement pour qu'il puisse se produire à tout moment.
--Activité
L'écran de l'application lui-même.
androidstudio 3.6.2 openjdk version "11.0.6"
C'est l'écran à créer cette fois.
J'écrirai pour que les caractères saisis puissent être affichés à la destination de la transition lorsque le bouton est enfoncé. Créez deux classes Java requises et deux fichiers de mise en page.
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Définir le bouton d'envoi en tant qu'auditeur
Button btClick = findViewById(R.id.btOutput);
Listener listener = new Listener();
btClick.setOnClickListener(listener);
}
//Créer une classe d'auditeur
private class Listener implements View.OnClickListener{
@Override
public void onClick(View v) {
EditText input = findViewById(R.id.sendEditText);
String inputStr = input.getText().toString();
//Créer un objet d'intention
Intent intent = new Intent(MainActivity.this,OutputActivity.class);
//Stocker les données à envoyer à l'écran ②
intent.putExtra("inputText",inputStr);
//Écran de lancement
startActivity(intent);
}
}
}
OutputActivity.java
public class OutputActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sub_activity);
//Obtenez l'objet d'intention créé à l'écran ①
Intent intent = getIntent();
//Obtenir des informations sur les personnages et les afficher à l'écran
TextView output = findViewById(R.id.outputText);
String outputText = intent.getStringExtra("inputText");
output.setText(outputText);
}
}
activity_main.xml
<LinearLayout ~~ Omis ~~>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/title"/>
<EditText
android:id="@+id/sendEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btOutput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Vers l'écran suivant"/>
</LinearLayout>
sub_activity.xml
<LinearLayout ~~ Omis ~~>
<TextView
android:id="@+id/outputText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="40dp"/>
</LinearLayout>
Lancement de l'application: traitement MainActivity (le premier écran est affiché par ce traitement) ↓ Bouton d'envoi Occurrence d'événement: traitement OutputActivity (le deuxième écran s'affiche)
En d'autres termes, lorsque cet événement de bouton d'envoi se produit, les données de chaîne de caractères entrées par l'utilisateur sont envoyées de MainActivity à OutputActivity à l'aide d'un intent. L'intention sera préparée lorsque l'événement se produira, alors écrivez-le dans la classe d'écouteur.
La partie qui place les données dans une zone appelée intention
MainActivity.java
//Créer un objet d'intention
Intent intent = new Intent(MainActivity.this,OutputActivity.class);
//Stocker les données à envoyer à l'écran ②
intent.putExtra("inputText",inputStr);
//Écran de lancement
startActivity(intent);
Créer un objet d'intention ↓ Stockez les données stockées dans l'intention avec putExtra ↓ Lancez l'écran suivant
Lors de la création d'un objet d'intention, décrivez la classe Activity de l'écran d'origine dans le premier argument et la classe Activity de l'écran que vous souhaitez envoyer dans le second argument.
SubActivity.java
//Obtenez l'objet d'intention créé à l'écran ①
Intent intent = getIntent();
//Obtenir des informations sur les personnages et les afficher à l'écran
TextView output = findViewById(R.id.outputText);
String outputText = intent.getStringExtra("inputText");
output.setText(outputText);
La partie appelante sur le deuxième écran. Vous pouvez appeler l'objet d'intention créé sur l'écran initial avec getIntent. Il ne vous reste plus qu'à écrire le processus pour afficher la chaîne de caractères.
Dans le dossier du projet, il y a un fichier appelé AndroidManifest qui contient les informations nécessaires pour configurer Android.
S'il y a deux écrans ou plus, l'application ne fonctionnera que si vous ajoutez le nom de l'activité ici. Ici, ajoutez "
<application ~~ omise ~~>
<activity android:name=".MainActivity">
~~ Omis ~~
</activity>
<activity android:name=".OutputActivity"></activity>
</application>
J'ai terminé deux livres d'introduction en un mois environ. Bien que ma compréhension progresse progressivement, je suis toujours amateur.
La prochaine fois, je résumerai le cycle de vie
Recommended Posts