XULOSA 
Ushbu 
Individual loyiha ishi

XULOSA
Ushbu
Individual loyiha ishi
doirasida quyidagi ishlar amalga oshirildi:
-
mobil ilovalarning hozirgi kundagi ahamiyati muhokama qilindi;
-
mavzuga oid oldin yaratilgan mobil ilovalar o’rganib, tahlil qilib chiqildi;
-
topishmoqlar o’rganib chiqildi;
-
mobil ilovalar ishlab chiqishda qo’llaniladigan texnologiyalar, dasturiy
vositalar o’rganildi, tahlil qilindi;
-
mobil ilova ishlab chiqishda ishlatilgan dasturiy vosita bilan tanishildi va
unda mobil ilova dasturiy kodlari yozildi;
-
mobil ilova uchun talablar shakllantirildi;
-
mobil ilova arxitekturasi ishlab chiqildi;
-
mobil ilova foydalanuvchi interfeysi ishlab chiqildi;
-
mobil ilovadan foydalanish bo’yicha ko’rsatmalar berib o’tildi;
-
xavfsizlik qoidalari bilan tanishib chiqildi;
-
foydalanuvchilar uchun tushunishga oson va foydalanishga qulay mobil
ilova ishlab chiqildi;
Mobil ilova hozirgi kunda keng qo’llanilayotgan Kotlin dasturlash tili
yordamida mobil ilovalarni ishlab chiqish uchun mo’ljallangan Android Studio
dasturlash muhitida ishlab chiqildi.
Ishlab chiqilgan “O`zbek xalq topishmoqlari” mobil ilovasi barcha
foydalanuvchilar
uchun,
xususan,
maktabgacha ta’lim tashkilotlarining
tarbiyalanuvchisi va tarbiyachisi, maktab o’quvchi va o’qituvchilar, ota-onalar
uchun foydali, manfaatli bo’ladi.
FOYDALANILGAN ADABIYOTLAR ROʻYXATI
1. Oʻzbеkiston
Rеspublikasi Prеzidеntining 2002 yil 30 maydagi
«Kompyutеrlashtirishni yanada rivojlantirish va axborot kommunikatsiya
tеxnologiyalarini joriy etish» toʻgʻrisidagi Farmoni.
2.
PQ-2707-son hamda 2017 yil 9 sentyabr, “Maktabgacha ta’lim tizimini
tubdan takomillashtirish chora-tadbirlari toʻgʻrisida” farmoni.
3. V. Romashov, M. Risevets CMS Drupal: система управления содержимым
сайта. — «Piter», 2009. — 288 bet. — ISBN 978-5-49807-241-8
4. Machine-Learning-Based Disease Diagnosis: A Comprehensive Review, 15
March 2022
5. Morrill D. Announcing the Android 1.0 SDK, release 1 // Android Developers
Blog — Google, 2008.
6. Константин Ходаковский. Платформа Android изначально создавалась
для цифровых камер. 3dnews.ru (18 апреля 2013). Дата обращения: 16
июля 2021. Архивировано 16 июля 2021 года.
7. Aamoth, Doug T-Mobile officially announces the G1 Android phone.
TechCrunch. AOL (23 сентября 2008). Дата обращения: 12 марта 2017.
Архивировано 13 марта 2017 года.
8. Morrill, Dan Announcing the Android 1.0 SDK, release 1 (англ.). Android
Developers Blog (23 сентября 2008). Дата обращения: 19 августа 2011.
Архивировано 6 июля 2012 года.
9. Андрей Коробкин. Платформу Android 4.1 Jelly Bean портировали на
Nokia N9. 3DNews (22 июля 2012). Дата обращения: 23 июля 2012.
Архивировано 3 октября 2013 года.
10. Android Studio Overview. — «Android Studio is the official IDE for Android
application development, based on IntelliJ IDEA.». Дата обращения: 31
августа 2015. Архивировано 5 сентября 2015 года.
11. Google
добавила
Kotlin
в
качестве
официального
языка
программирования для Android (рус.) (17 мая 2017). Архивировано 9
июля 2017 года. Дата обращения 18 мая 2017.
12. The sqlite Open Source Project on Open Hub: Languages Page — 2006.
13. Функция UseSQLiteDatabase(). Дата обращения: 28 сентября 2013.
Архивировано 2 октября 2013 года.
14. Андрей Бреслав. Язык программирования Kotlin // Открытые системы.
— 2011. — № 09.
15. Janice J. Heiss The Advent of Kotlin: A Conversation with JetBrains' Andrey
Breslav (недоступная ссылка). Oracle Technology Network (April 2013).
Дата обращения: 7 июня 2013. Архивировано 10 июля 2013 года.
16. Language of the Month: Kotlin. Language of the Month: Kotlin // Dr. Dobb's
Journal. — 20 January, 2012., Andrew Binstock. The JVM As Language Farm
Club // Dr. Dobb's Journal. — February 14, 2012.
17. Eric Bruno. A Long Look at JVM Languages // Dr. Dobb's Journal. —
November 19, 2012.
18. https://en.wikipedia.org/wiki/Systems_design
https://developer.android.com/
19. https://www.infoworld.com/article/3224868/what-is-kotlin-the-java-
alternative-
explained.html#:~:text=Kotlin%20is%20a%20general%20purpose,%2C%20c
larity%2C%20and%20tooling%20support.
20. https://www.simform.com/blog/mvc-mvp-mvvm-android-app-
development/
21. https://community.uzbekcoders.uz/post/maktabgacha-ta-lim-
muassasalarida-axborot-texnologiyalaridan-foydalanishnin--
5f2640418f509e50bd17f8fa
22. https://fvv.uz/uz/handbook/fire_extinguisher_powder
23. http://geografiya.uz/ekologiya/122-ozbekiston-ekologiyasi-muammolari-
va-ekologik-vaziyatni-yaxshilash-yollari.html
24. СанПиН
№
0058-06.
Санитарные
нормы
микроклимата
производственных помещений.
25. ГОСТ 12.1.004-91 Система стандартов безопасности труда. Пожарная
безопасность. Общие требования.
26. ГОСТ 12.1.018-93 Система стандартов безопасности труда. Пожарная
безопасность.
Электростатическая
искробезопасность.
Общие
требования\
27. «Topishmoqlar». «Hilol» nashriyot-matbaasi. 2014-yil. 16 bet.
ILOVA
package com.mobiler.topishmoqlar.fragments
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.navigation.fragment.findNavController
import androidx.viewbinding.ViewBinding
import com.google.android.material.tabs.TabLayout
import com.mobiler.topishmoqlar.R
import com.mobiler.topishmoqlar.adapters.PagerAdapter
import com.mobiler.topishmoqlar.databinding.FragmentMainBinding
import com.mobiler.topishmoqlar.utils.BindingFragment
import me.everything.android.ui.overscroll.OverScrollDecoratorHelper
class MainFragment : BindingFragment() {
override val bindingInflater: (LayoutInflater) -> ViewBinding
get() = FragmentMainBinding::inflate
private var categoryList =
listOf(
"Barchasi",
"Oson",
"O'rtacha",
"Qiyin"
)
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.addFavoriteButton.setOnClickListener {
findNavController().navigate(R.id.addRiddleFragment)
}
val newsPagerAdapter =
PagerAdapter(childFragmentManager, categoryList, requireContext())
binding.viewpager.adapter = newsPagerAdapter
OverScrollDecoratorHelper.setUpOverScroll(binding.viewpager)
binding.tabs.setupWithViewPager(binding.viewpager)
}
}
package com.mobiler.topishmoqlar
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.PopupMenu
import androidx.navigation.NavController
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.NavigationUI
import com.mobiler.topishmoqlar.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var appBarConfiguration: AppBarConfiguration
private lateinit var binding: ActivityMainBinding
private lateinit var navController: NavController
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
navController = findNavController(R.id.nav_host_fragment_content_main)
/*appBarConfiguration = AppBarConfiguration.Builder(
R.id.mainFragment,
R.id.favoriteFragment,
).build()*/
val popupMenu = PopupMenu(this, null)
popupMenu.inflate(R.menu.bottom_navigation_menu)
val menu = popupMenu.menu
binding.bottomNavigation.setupWithNavController(menu, navController)
}
/* override fun onSupportNavigateUp(): Boolean {
super.onSupportNavigateUp()
return NavigationUI.navigateUp(navController, appBarConfiguration)
}*/
/*
fun hideBottom() {
binding.bottomNavigation.animate()
.translationY(binding.bottomNavigation.height.toFloat()).duration = 300
binding.appbar.animate().translationY(0F).duration = 300
binding.bottomNavigation.hide()
binding.appbar.hide()
}
fun showBottom() {
binding.bottomNavigation.animate().translationY(0F).duration = 300
binding.appbar.animate().translationY(0F).duration = 300
binding.appbar.show()
binding.bottomNavigation.show()
}*/
}
xmlns:android="http://schemas.android.com/apk/res/android"
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:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Light"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/color_1"
app:popupTheme="@style/ThemeOverlay.MaterialComponents.Light"
app:title="Topishmoqlar to'plami"
app:titleTextColor="@color/color_4" />
android:id="@+id/nav_host_fragment_content_main"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:defaultNavHost="true"
app:layout_constraintBottom_toTopOf="@id/bottom_navigation"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/appbar"
app:navGraph="@navigation/nav_graph" />
android:id="@+id/bottom_navigation"
android:layout_width="0dp"
android:layout_height="60dp"
app:backgroundColor="@color/color_1"
app:cornerRadius="12dp"
app:duration="500"
app:iconSize="26dp"
app:iconTint="@color/white"
app:iconTintActive="@color/color_1"
app:indicatorColor="@color/white"
app:indicatorRadius="10dp"
app:itemFontFamily="@font/semi_bold"
app:itemPadding="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.99"
app:layout_constraintWidth_percent="0.98"
app:menu="@menu/bottom_navigation_menu"
app:sideMargins="10dp"
app:textColor="@color/color_1" />
xmlns:android="http://schemas.android.com/apk/res/android"
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=".fragments.MainFragment">
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/color_4"
android:theme="@style/ThemeOverlay.MaterialComponents.Light">
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="@dimen/_80sdp"
android:background="@color/color_4"
android:fitsSystemWindows="true"
app:collapsedTitleTextAppearance="@style/CollapsingToolbarCollapsedTextStyl
e"
app:contentScrim="@color/color_4"
app:expandedTitleTextAppearance="@style/CollapsingToolbarExpandedTextStyl
e"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_collapseMode="parallax">
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/normal_spacing_16"
android:fontFamily="@font/semi_bold"
android:text="Add new riddle"
android:textColor="@color/black"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.6" />
android:id="@+id/add_favorite_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/small_spacing_11"
android:elevation="0dp"
android:src="@drawable/ic_baseline_add_24"
app:backgroundTint="@color/white"
app:elevation="0dp"
app:fabSize="normal"
app:layout_constraintBottom_toBottomOf="@id/tv"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv"
app:tint="@color/color_1"
app:useCompatPadding="true" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="0dp"
app:cardCornerRadius="10dp"
app:cardElevation="0dp"
app:cardUseCompatPadding="true">
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/color_1"
android:elevation="0dp"
app:tabIndicator="@color/color_1"
app:tabIndicatorColor="@color/white"
app:tabIndicatorFullWidth="false"
app:tabIndicatorHeight="4dp"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/white"
app:tabTextAppearance="@style/TextTabLayout"
app:tabTextColor="@color/color_4" />
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_4"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|