Prosty program obliczeniowy zawierający jedno okienko do wprowadzenia liczby całkowitej, wypisujący jej kwadrat na urządzeniu z systemem Android.
Tworzymy czysty projekt w programie Android Studio, w części „wizualnej” wstawiamy myszką 3 elementy:
- (niekonieczne) pole textView, we właściwościach obiektu w polu text piszemy Podaj a
- pole editText, do wprowadzenia danych
- przycisk OK do uruchomienia kalkulatora
Są dwie metody uaktywnienia buttona, poniżej przedstawiam wersję z edycją właściwości OnClick tego przycisku, wpisujemy w to pole naszą funkcję clicFunc .
Następnie przechodzimy do sekcji java -> domena -> MainActivity
Poniżej podaję cały kod, ale wstawione są tylko te wersy, które są pomiędzy znacznikami
//FX:
tu dodane linie
//^
Jedna część wyremowana to alternatywna wersja w przypadku gdybyśmy NIE wpisali clicFunc do pola onClick dla przycisku.
Toast tworzy komunikat wynikowy. Try catch jest konieczne, ponieważ jeśli użytkownik wpisze coś innego niż liczbę int, a w programie nie będzie try wówczas aplikacja się wyłączy.
Ważne! R.id.editText to identyfikator obiektu z pliku manifestu (ostatnia część nazwy jest nadana przez użytkownika)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | package com.fulara.hellojava; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Button; import android.widget.Toast; import android.view.View.OnClickListener; import android.view.View; import android.widget.EditText; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); //FX: R.id.button to id z pliku XML: jest to wersja alternatywna, gdybyśmy nie pisali clicFunc: /* Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "Button Clicked", Toast.LENGTH_SHORT).show(); } }); */ ////////////////^ 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. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } //FX: //2 sposób z przymusowym dodaniem w Visualu w OnClick nazwy funkcji "clicFunc" public void clickFunc(View view){ EditText dana = (EditText) findViewById(R.id.editText); try { //jeśli nie zrobimy try w przypadku podania tekstu zamiast liczby program się wykrzaczy. int liczba = Integer.parseInt(dana.getText().toString()); int wynik = liczba * liczba; Toast.makeText(MainActivity.this, "Wpisałeś:" + dana.getText() + "; kwadrat to: " + wynik, Toast.LENGTH_SHORT).show(); } catch (Exception e) { Toast.makeText(MainActivity.this, "Nie podałeś liczby! Popraw wpis!!!", Toast.LENGTH_SHORT).show(); } } //^ } |