Toshkent 2023 Laboratoriya ishdan maqsad



Download 1,44 Mb.
Sana10.05.2023
Hajmi1,44 Mb.
#936939
Bog'liq
UmarovSh

O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI

MUHAMMAD AL-XORAZMIY NOMIDAGI

TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI





“Mobil ilovalarni ishlab chiqish”

Fanidan

LABARATORIYA TOPSHIRIG’I





Guruh: 031-19

Bajardi: Umarov.Sh

Tekshirdi: Safarov.Sh




Toshkent 2023

Laboratoriya ishdan maqsad: Android Studioda arifmetik (+,-,*, /, ^) amallarni bajaruvchi oddiy kalkulator yaratish.

  1. Ixtiyoriy turdagi ikki yoki bir nechta sonni o’zaro qo’shish mumkin bo’lsin.

  2. Ixtiyoriy turdagi ikki yoki bir nechta sonni o’zaro ayirish mumkin bo’lsin.

  3. Ixtiyoriy turdagi ikki yoki bir nechta sonni o’zaro ko’paytirish mumkin bo’lsin.

  4. Ixtiyoriy turdagi ikki yoki bir nechta sonni o’zaro bo’lish mumkin bo’lsin.

  5. Ixtiyoriy turdagi ikki sonni darajaga kotarish amallari bajarilsin.


Labaratoriya topshirig’ini bajarish tartibi:
Android Studio’da beshta asosiy arifmetik amalni bajaradigan oddiy kalkulyator:


  1. Bo'sh faoliyat bilan yangi Android Studio loyihasini yaratamiz.

  2. Activity_main.xml faylida kirish va chiqishni ko'rsatish uchun vertikal yo'naltirilgan LinearLayout va bir nechta TextViews va EditTexts qo'shish.

  3. MainActivity nomli yangi Java sinfini yaratamiz va quyidagi kodni kiritamiz:




1-qadam:
Ilova nomi bilan yangi Android dastur loyihasini yaratish: "Kalkulyator" va to'plam nomi: "Umarov Shoxrux".
2-qadam:
Ilova belgisi uchun har qanday PNG rasm faylini oling. (Minimal hajmi 256x256 piksel bo'lishi tavsiya etiladi). Ushbu belgi Google Play-da va Android qurilmalarining dasturlar menyusida namoyish qilish uchun ishlatiladi.


3-qadam:
"Mipmap" papkasini o'ng tugmasini bosing va New → Image Asset-ni tanlang

4-qadam:
Faollik_main.xml faylining tarkibini quyidagi kod bilan almashtiring. Ushbu kod TextView-ni kalkulyator raqamlari ekrani va ba'zi kerakli tugmalar sifatida yaratadi. Android-ning standart klaviatura yordamida foydalanuvchi tomonidan qo'lda kiritilishini oldini olish uchun EditText o'rniga TextView ishlatiladi.





Dastur kodi:
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;

public class MainActivity extends AppCompatActivity {

private EditText inputEditText;
private TextView outputTextView;
private String currentOperator;
private BigDecimal result;

@Override


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

inputEditText = findViewById(R.id.inputEditText);


outputTextView = findViewById(R.id.outputTextView);
currentOperator = "";
result = new BigDecimal(BigInteger.ZERO);
}

public void onButtonClick(View view) {


String input = inputEditText.getText().toString();

switch (view.getId()) {


case R.id.addButton:
calculate(input, "+");
break;
case R.id.subtractButton:
calculate(input, "-");
break;
case R.id.multiplyButton:
calculate(input, "*");
break;
case R.id.divideButton:
calculate(input, "/");
break;
case R.id.powerButton:
calculate(input, "^");
break;
case R.id.clearButton:
clear();
break;
case R.id.equalsButton:
if (!currentOperator.isEmpty()) {
BigDecimal operand = new BigDecimal(input);
calculate(operand, currentOperator);
}
break;
}
}

private void calculate(String input, String operator) {


BigDecimal operand = new BigDecimal(input);
calculate(operand, operator);
}

private void calculate(BigDecimal operand, String operator) {


if (result.compareTo(BigDecimal.ZERO) == 0) {
result = operand;
} else {
switch (operator) {
case "+":
result = result.add(operand);
break;
case "-":
result = result.subtract(operand);
break;
case "*":
result = result.multiply(operand);
break;
case "/":
result = result.divide(operand, RoundingMode.HALF_UP);
break;
case "^":
result = result.pow(operand.intValue());
break;
}
}
inputEditText.setText("");
currentOperator = operator;
outputTextView.setText(result.toString());
}

private void clear() {


inputEditText.setText("");
currentOperator = "";
result = new BigDecimal(BigInteger.ZERO);
outputTextView.setText("");
}
}

Activity_main.xml bo’limida :
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

\

Download 1,44 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish