Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.89 KB | None | 0 0
  1. public class MainActivity<v> extends AppCompatActivity {
  2.  
  3.  
  4.     EditText wzrost, waga, adres;
  5.     TextView wynik, slowo;
  6.     Button oblicz;
  7.     Button url2;
  8.     Button info;
  9.     Button wsb;
  10.  
  11.  
  12.     @Override
  13.     protected void onCreate(Bundle savedInstanceState) {
  14.         super.onCreate(savedInstanceState);
  15.         setContentView(R.layout.activity_main);
  16.  
  17.         // tutaj zapisujemy wszystkie kontrolki (przyciski, pola tekstowe, jakieś inputy etc) do zmiennych zeby moc wykonywac na nich operacjje
  18.         slowo = (TextView) findViewById(R.id.slowo);
  19.         wzrost = (EditText) findViewById(R.id.wzrost);
  20.         waga = (EditText) findViewById(R.id.waga);
  21.         wynik = (TextView) findViewById(R.id.wynik);
  22.         oblicz = (Button) findViewById(R.id.oblicz);
  23.         url2 = (Button) findViewById(R.id.url2);
  24.         info = (Button) findViewById(R.id.info);
  25.         wsb = (Button) findViewById(R.id.wsb);
  26.         adres = (EditText) findViewById(R.id.adres);
  27.  
  28.         //oblicz - przycisk obliczajacy BMI - wpinamy w niego tzw. handler który pozwala nam zareagować na zdarzenie gdy zostanie wciśnięty (OnClickListener)
  29.         oblicz.setOnClickListener(new View.OnClickListener() {
  30.             @Override
  31.             public void onClick(View view) {
  32.                 // czyli - jesli klikniety - wykonaj funkcje wynikBMI()
  33.                 wynikBMI();
  34.  
  35.             }
  36.         });
  37.  
  38.         // to samo, ale dla url2 - czyli buttona Pokaz
  39.         url2.setOnClickListener(new View.OnClickListener() {
  40.             @Override
  41.             public void onClick(View v) {
  42.                 //ta metoda w teorii powinna otwierac przegladarke na stronie wpisanej w pole adres - czyli w pole nad przyciskiem w aplikacji. Ale to niebardzo dziala
  43.  
  44.                 final String web = adres.getText().toString();
  45.                 //final String web = editText.getText().toString();
  46.                 Intent intent = new Intent(getApplicationContext(), web_view_.class);
  47.                 intent.putExtra("url", web);
  48.                 startActivity(intent);
  49.             }
  50.         });
  51.  
  52.         //dokladnie to samo co wyzej - ale zamiast jakiejs strony wyswietla to co w stringu customHtml
  53.         info.setOnClickListener(new View.OnClickListener() {
  54.             @Override
  55.             public void onClick(View v) {
  56.                 Intent intent = new Intent(getApplicationContext(), web_view_.class);
  57.                 String customHtml = "<html><body>Utworzone przez Lukasz Jagoda </body></html>";
  58.                 intent.putExtra("info", customHtml);
  59.                 startActivity(intent);
  60.             }
  61.         });
  62.  
  63.         // to jest listener nasluchujacy na zdarzenie zmiany wartosci - w tym przypadku - w polu Wzrost.
  64.         wzrost.setOnFocusChangeListener(new View.OnFocusChangeListener() {
  65.             @Override
  66.             public void onFocusChange(View v, boolean hasFocus) {
  67.                 // jesli wynik jest podany (tzn. BMI obliczone), to po zmianie wartosci w polu Wzrost to obliczone BMI zniknie
  68.                 if (hasFocus && slowo.getVisibility() == View.VISIBLE) {
  69.                     slowo.setVisibility(View.INVISIBLE);
  70.                     wynik.setVisibility(View.INVISIBLE);
  71.                 }
  72.  
  73.             }
  74.         });
  75.  
  76.         // wszystko jak wyzej ze wzrostem tylko ze dla pola Waga
  77.         waga.setOnFocusChangeListener(new View.OnFocusChangeListener() {
  78.             @Override
  79.             public void onFocusChange(View v, boolean hasFocus) {
  80.                 if (hasFocus && slowo.getVisibility() == View.VISIBLE) {
  81.                     slowo.setVisibility(View.INVISIBLE);
  82.                     wynik.setVisibility(View.INVISIBLE);
  83.                 }
  84.  
  85.             }
  86.         });
  87.  
  88.         // kolejny przycisk ktoremu przypisuje sie listener nasluchujacy na zdarzenie klikniecia
  89.         wsb.setOnClickListener(new View.OnClickListener() {
  90.             @Override
  91.             public void onClick(View v) {
  92.                 // jesli klikniety - przejdz na strone WSB. Jesli z jakiegos powodu sie nie uda - wyswietl informacje "Cos poszlo nie tak"
  93.                 try {
  94.                     Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://wsb.edu.pl"));
  95.                     startActivity(i);
  96.                 } catch (ActivityNotFoundException e) {
  97.                     Toast.makeText(getApplicationContext(), "Coś poszło nie tak", Toast.LENGTH_SHORT).show();
  98.                 }
  99.             }
  100.         });
  101.     }
  102.  
  103.     private void wynikBMI() {
  104.         // pobierz wzrost i wage z pol tekstowych aplikacji
  105.         String wzrostStr = wzrost.getText().toString();
  106.         String wagaStr = waga.getText().toString();
  107.  
  108.         // jesli wzrost i waga sa podane (czyli nie sa nullem badz pustym stringiem - np. spacja) - zrob z nich zmienne typu float (w dodatku wzrost podziel przez 100)
  109.         if (wzrostStr != null && !"".equals(wzrostStr) && wagaStr != null && !"".equals(wagaStr)) {
  110.             float wzrostValue = Float.parseFloat(wzrostStr) / 100;
  111.             float wagaValue = Float.parseFloat(wagaStr);
  112.  
  113.             // obliczone BMI - waga podzielona przez kwadrat wzrostu
  114.             float bmi = wagaValue / (wzrostValue * wzrostValue);
  115.  
  116.             pokaztext();
  117.             pokazBMI(bmi);
  118.             //"odfocusowuje" wage (zrobione pewnie po to zeby klawiatura zniknela)
  119.             waga.clearFocus();
  120.             // czysci wartosci w polach wzrostu i wagi
  121.             waga.setText("");
  122.             wzrost.setText("");
  123.         }
  124.     }
  125.  
  126.     public void pokaztext() {
  127.         // ta metoda tylko "pokazuje" napis przy wartosci BMI, tzn. "Twoje BMI wynosi:" czy cos takiego
  128.         slowo.setVisibility(View.VISIBLE);
  129.     }
  130.  
  131.     private void pokazBMI(float bmi) {
  132.         // metoda wpisuje wartosc BMI podana w parametrze i wyswietla go (View.VISIBLE).
  133.         wynik.setVisibility(View.VISIBLE);
  134.         String tekst = "";
  135.         tekst = bmi + "\n" + tekst;
  136.         wynik.setText(tekst);
  137.     }
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement