Advertisement
KarolLehmann

Untitled

Jun 10th, 2024 (edited)
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 6.19 KB | None | 0 0
  1. ==============================
  2.  
  3. w pliku build.gradle.kt:
  4. pod kotlinOptions:
  5.  
  6.     buildFeatures{
  7.         viewBinding = true
  8.     }
  9.  
  10. ==============================
  11.  
  12. (MainActivity stwórz)activity_main.xml:
  13.  
  14. <?xml version="1.0" encoding="utf-8"?>
  15. <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  16.     xmlns:app="http://schemas.android.com/apk/res-auto"
  17.     xmlns:tools="http://schemas.android.com/tools"
  18.     android:id="@+id/main"
  19.     android:layout_width="match_parent"
  20.     android:layout_height="match_parent"
  21.     tools:context=".MainActivity">
  22.  
  23.     <TextView
  24.         android:id="@+id/textViewWaga"
  25.         android:layout_width="0dp"
  26.         android:layout_height="wrap_content"
  27.         android:text="Waga (kg)"
  28.         app:layout_constraintStart_toStartOf="parent"
  29.         app:layout_constraintEnd_toEndOf="parent"
  30.         app:layout_constraintTop_toTopOf="parent"
  31.         android:layout_marginTop="16dp"/>
  32.  
  33.     <EditText
  34.         android:id="@+id/waga"
  35.         android:layout_width="0dp"
  36.         android:layout_height="wrap_content"
  37.         android:inputType="numberDecimal"
  38.         app:layout_constraintStart_toStartOf="parent"
  39.         app:layout_constraintEnd_toEndOf="parent"
  40.         app:layout_constraintTop_toBottomOf="@id/textViewWaga"
  41.         android:layout_marginTop="8dp"/>
  42.  
  43.     <TextView
  44.         android:id="@+id/textViewWzrost"
  45.         android:layout_width="0dp"
  46.         android:layout_height="wrap_content"
  47.         android:text="Wzrost (cm)"
  48.         app:layout_constraintStart_toStartOf="parent"
  49.         app:layout_constraintEnd_toEndOf="parent"
  50.         app:layout_constraintTop_toBottomOf="@id/waga"
  51.         android:layout_marginTop="16dp"/>
  52.  
  53.     <EditText
  54.         android:id="@+id/wzrost"
  55.         android:layout_width="0dp"
  56.         android:layout_height="wrap_content"
  57.         android:inputType="numberDecimal"
  58.         app:layout_constraintStart_toStartOf="parent"
  59.         app:layout_constraintEnd_toEndOf="parent"
  60.         app:layout_constraintTop_toBottomOf="@id/textViewWzrost"
  61.         android:layout_marginTop="8dp"/>
  62.  
  63.     <Button
  64.         android:id="@+id/oblicz"
  65.         android:layout_width="0dp"
  66.         android:layout_height="wrap_content"
  67.         android:text="Oblicz BMI"
  68.         app:layout_constraintStart_toStartOf="parent"
  69.         app:layout_constraintEnd_toEndOf="parent"
  70.         app:layout_constraintTop_toBottomOf="@id/wzrost"
  71.         android:layout_marginTop="16dp"/>
  72.  
  73.     <Button
  74.         android:id="@+id/historia"
  75.         android:layout_width="0dp"
  76.         android:layout_height="wrap_content"
  77.         android:text="Historia"
  78.         app:layout_constraintStart_toStartOf="parent"
  79.         app:layout_constraintEnd_toEndOf="parent"
  80.         app:layout_constraintTop_toBottomOf="@id/oblicz"
  81.         android:layout_marginTop="16dp"/>
  82.  
  83. </androidx.constraintlayout.widget.ConstraintLayout>
  84.  
  85. ==============================
  86.  
  87. (HistoryActivity stwórz) activity_history.xml:
  88.  
  89. <?xml version="1.0" encoding="utf-8"?>
  90. <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  91.     xmlns:app="http://schemas.android.com/apk/res-auto"
  92.     xmlns:tools="http://schemas.android.com/tools"
  93.     android:layout_width="match_parent"
  94.     android:layout_height="match_parent"
  95.     tools:context=".HistoryActivity">
  96.  
  97.     <ListView
  98.         android:id="@+id/listViewHistoria"
  99.         android:layout_width="0dp"
  100.         android:layout_height="0dp"
  101.         app:layout_constraintStart_toStartOf="parent"
  102.         app:layout_constraintEnd_toEndOf="parent"
  103.         app:layout_constraintTop_toTopOf="parent"
  104.         app:layout_constraintBottom_toBottomOf="parent"/>
  105.  
  106. </androidx.constraintlayout.widget.ConstraintLayout>
  107.  
  108. ==============================
  109.  
  110. MainActivity.kt:
  111.  
  112. package com.example.myapplication
  113.  
  114. import android.content.Intent
  115. import android.os.Bundle
  116. import android.widget.Button
  117. import android.widget.EditText
  118. import android.widget.Toast
  119. import androidx.appcompat.app.AppCompatActivity
  120.  
  121. class MainActivity : AppCompatActivity() {
  122.  
  123.     private val historiaBmi = mutableListOf<String>()
  124.  
  125.     override fun onCreate(savedInstanceState: Bundle?) {
  126.         super.onCreate(savedInstanceState)
  127.         setContentView(R.layout.activity_main)
  128.  
  129.         val wagaEditText = findViewById<EditText>(R.id.waga)
  130.         val wzrostEditText = findViewById<EditText>(R.id.wzrost)
  131.         val obliczButton = findViewById<Button>(R.id.oblicz)
  132.         val historiaButton = findViewById<Button>(R.id.historia)
  133.  
  134.         obliczButton.setOnClickListener {
  135.             val waga = wagaEditText.text.toString().toFloatOrNull()
  136.             val wzrost = wzrostEditText.text.toString().toFloatOrNull()
  137.  
  138.             if (waga != null && wzrost != null && wzrost != 0f) {
  139.                 val bmi = waga / ((wzrost / 100) * (wzrost / 100))
  140.                 val wynik = "Twoje BMI: %.2f".format(bmi)
  141.                 Toast.makeText(this, wynik, Toast.LENGTH_LONG).show()
  142.                 historiaBmi.add(wynik)
  143.             } else {
  144.                 Toast.makeText(this, "Wprowadz prawilowe dane", Toast.LENGTH_SHORT).show()
  145.             }
  146.         }
  147.  
  148.         historiaButton.setOnClickListener {
  149.             val intent = Intent(this, HistoryActivity::class.java)
  150.             intent.putStringArrayListExtra("historia", ArrayList(historiaBmi))
  151.             startActivity(intent)
  152.         }
  153.     }
  154. }
  155.  
  156. ==============================
  157.  
  158. HistoryActivity.kt:
  159.  
  160. package com.example.myapplication
  161.  
  162. import android.os.Bundle
  163. import android.widget.ArrayAdapter
  164. import android.widget.ListView
  165. import androidx.appcompat.app.AppCompatActivity
  166.  
  167. class HistoryActivity : AppCompatActivity() {
  168.  
  169.     override fun onCreate(savedInstanceState: Bundle?) {
  170.         super.onCreate(savedInstanceState)
  171.         setContentView(R.layout.activity_history)
  172.  
  173.         val listViewHistoria = findViewById<ListView>(R.id.listViewHistoria)
  174.         val historia = intent.getStringArrayListExtra("historia")
  175.  
  176.         if (historia != null) {
  177.             val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, historia)
  178.             listViewHistoria.adapter = adapter
  179.         }
  180.     }
  181. }
  182.  
  183. ==============================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement