Μαθήματα Android Studio - Μέρος 3ο: Linear Layout, Button, TextView
Μάθημα τρίτο για το Android Studio και σήμερα ο Χρήστος θα μας δείξει ένα απλό παράδειγμα design της εφαρμογής μας, παρουσιάζοντας τρία στοιχεία τα οποία θα χρησιμοποιήσουμε κατά κόρον στον προγραμματισμό μας στο Android, το Linear Layout, το Button και το TextView. Επειδή δυστυχώς δεν μπόρεσε να δημιουργήσει το δεύτερο βίντεο που υλοποιούμε την εφαρμογή χωρίς Fragment έγραψε τις αλλαγές που πρέπει να αναφερθούν, τις οποίες μπορείτε να βρείτε κάτω από το βίντεο.
Δημιουργούμε το layout στο αρχείο activity_main.xml όπως φαίνεται παρακάτω:
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity$PlaceholderFragment"><Button android:id="@+id/button" android:text="@string/bye_world" android:layout_height="wrap_content" android:layout_width="wrap_content" android:onClick="onButtonPressed"/><TextView android:id="@+id/textview" android:text="@string/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content"/></LinearLayout>
Η μόνη ουσιαστική προσθήκη είναι η property "onClick", η οποία παίρνει ως τιμή το όνομα μιας συνάρτησης. Εδώ δεν χρησιμοποιούμε κάποιον OnClickListener άμεσα στον κώδικα μας αλλά το κάνω μέσα από το layout με την onClick.
Όταν πατήσουμε το κουμπί θα κληθεί η συνάρτηση που έχουμε βάλει στην onClick, δηλαδή η onButtonPressed. Αυτήν την συνάρτηση την γράφουμε στην κλάση της Activity στην οποία ανήκει το layout στο οποίο την δηλώνουμε ως τιμή. Δεν μπορούμε να την χρησιμοποιήσουμε όταν έχουμε κάποιο Fragment, για αυτό στο βίντεο χρησιμοποιούμε κάποιον OnClickListener.
Η συνάρτηση onButtonPressed είναι αυτή που βλέπουμε παρακάτω:
package me.clepto.myapplication;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
private Button button;
private TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button)findViewById(R.id.button);
textview = (TextView) findViewById(R.id.textview);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
switch (item.getItemId()) {
case R.id.action_settings:
return true;
}
return super.onOptionsItemSelected(item);
}
public void onButtonPressed (View v) {
String buttonText = button.getText().toString();
String textviewText = textview.getText().toString();
button.setText(textviewText);
textview.setText(buttonText);
}
}
Μπορείτε να βρείτε όλα τα μαθήματα του Χρήστου εδώ.
kalispera chris exo stisoi ena app sto android studio kai thelo otan patao to button na pigenh se mia omada sto facebook auto pos to kanoume omos???........se euxaristop prokatavolika
ΑπάντησηΔιαγραφήΠρέπει αν χρησιμοποιήσεις Intents
ΔιαγραφήString url = "http://www.example.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
se euxaristo
ΔιαγραφήΑυτό το σχόλιο αφαιρέθηκε από τον συντάκτη.
ΑπάντησηΔιαγραφήΠολύ καλό βίντεο κ πολύ κατατοπιστικό για την δημιουργία μιας απλής εφαρμογής :-) . Ελπίζω να συνεχίσεις να τις εφαρμογές με τη χρήση κυρίως fragments γιατί πολύ τα προωθεί τελευταία η google :-P . Μου άρεσε κ όταν δεν συμπλήρωνες κάποιες μεθόδους κ εμφάνιζε λάθος κ εξηγούσες ποιο είναι υποκλάση πιου ώστε να είναι πιο εύκολο να καταλάβεις τι χρειάζεσαι πραγματικά και να μη χάνεσαι :-). Keep it up !!!
ΑπάντησηΔιαγραφήΓια τις απλές εφαρμογές όπως αυτή είμαι της άποψης ότι δεν χρειάζεται η χρήση fragment. Πιστεύω ότι πρέπει να χρησιμοποιούμε κάποια πράγματα μόνο όταν τα χρειαζόμαστε. Σίγουρα κάποια στιγμή θα χρησιμοποιήσω fragments οπότε θα τα δούμε πιο αναλυτικά τότε αλλά τώρα για αρχή δεν σκοπεύω να χρησιμοποιώ (εκτός και αν αλλάξει κάτι δραστικά).
ΔιαγραφήΚαλημέρα θα ήθελα να ρωτήσω κάτι άσχετο με το θέμα αλλά σημαντικό για μένα! Σε ένα LG μου διαφεύγει το μοντέλο android είναι. Έχει γίνει root και δεν υπάρχει πουθενά το play store ουτε explorer. Του εγκατέστησα το όπερα στέλνοντας από άλλο κινητό μέσω. Bluetooth για το play store πως θα βρω άκρη? Ευχαριστώ
ΑπάντησηΔιαγραφήΣτείλε μου ένα email στο [email protected] να το δούμε,
Διαγραφή