|
Windows
|
OS X
|
Linux
|
OT talqini
|
Microsoft Windows 11/10/8/7/Vista (32 или 64-bit)
|
Apple macOS 10.8.5 yoki yuqori, 10.13 (High Sierra)/ 10.14 (Mojave) gacha
|
GNOME yokiKDE
|
Operativ xotira
|
4 GB (minimum), 8 GB (tavsiya etiladi); +3 GB Android Emulator uchun
|
Diskdagi bo'sh joy
|
4 GB (minimum) (1,5 GB IDE + 2,5 GB Android SDK uchun), 8 GB SSD (tavsiya etiladi)
|
JDK talqini
|
Java Development Kit 8
|
Ekran
|
1280 x 800 (minimum)
|
Qo'shimcha
|
—
|
Java Runtime Environment (JRE) 6
|
GNU C Library (glibc) 2.15 yoki yuqori
|
Quyidagi talablar IED + Android SDK + Android Emulat talablarini o'z ichiga oladi.
Windows: x86_64 protsessor arxitekturasi; 2-avlod Intel Core yoki undan yangiroq, yoki Windows Hypervisor-ni qo'llab-quvvatlaydigan AMD operativ xotira;
x86_64 protsessor arxitekturasi; 2-avlod Intel Core yoki undan yangiroq, yoki Windows Hypervisor-ni qo'llab-quvvatlaydigan AMD CPU;
macOS: ARM-ga asoslangan chiplar yoki Hypervisor.Framework-ni qo'llab-quvvatlaydigan 2-avlod Intel Core yoki yangiroq;
Linux: x86_64 protsessor arxitekturasi; 2-avlod Intel Core yoki undan yangiroq, yoki AMD Virtualization (AMD-V) va SSSE3-ni qo'llab-quvvatlaydigan AMD protsessorlari;
Windows: UG (cheklanmagan mehmon) qo'llab-quvvatlanadigan protsessor;
Intel Hardware Accelerated Execution Manager (HAXM) 6.2.1 yoki undan keyingi versiyalari (HAXM 7.2.0 yoki undan keyingi talqinlari tavsiya etiladi).
Android Studioning afzalliklari:
Qulay dizayn.
Sizga ekran displeyini har qanday qurilmada, televizorlar va soatlarni ko'rish imkonini beradigan qulay konstruktorlar. Interfeys elementlari operatsion tizimning aniq versiyasini ko'rib chiqish uchun to'g'ri ko'rinadi.
O'rnatilgan SDK ishlab chiqish usuli (dasturiy ta'minotni rivojlantirish ko'nikmalari), eski loyihani boshlash uchun zarur API o'rnatilishi bilan xabarnoma chiqaradi.
Loyihaning qulay tuzilishi.
yo'llardagi xatolar, jarayonlar va oqimlar uchun jurnallar mavjudligi.
II BOB.“O'zbekiston olimpiya chempionlari” mobil ilovasini ishlab chiqish.
2.1. Mobil ilova strukturasi.
2.1.1-rasm. Ilova strukturasi .
Men bu mobil ilovani yaratishda asosa soddalik va qulaylikga etibor qaratdim nuqtalar o’rnida yana ko’plab sportchilar isimlari bo’ladi .
2.2. Mobil ilova ishch qismini shakillantrish.
Buning uchun bizga Android Studio dasturi keak bo’ladi va uni o’rnatib olamiz .
2.2.1-rasm . Android Studio dasturi asosiy oynasi .
Uni ishga tushirganimizda Empty Activity qismini ya’ni bosh oyna ochib o’zimiz uchun ishchi oyna ochib olamiz .
2.2.2-rasm. Ilova nom kiritish qismi.
Biz yaratmoqchi bo’lgan ilovani nomini kiritamiz bu joyga to’gri yozish talab qilinadi chunki bu qisimda ilovaga yol uning nomidan kelib chiqib yaratiladi .
Shu bilan ilova ishchi holatga keladi va biz vazifani bajarishga kirishishimiz munkin boladi .
2.2.3-rasm. Birinchi oynadan RecyclerView orqali royxat shakillantiramiz.
RecyclerView katta ma'lumotlar to'plamini samarali ko'rsatishni osonlashtiradi. Siz ma'lumotlarni taqdim qilasiz va har bir element qanday ko'rinishini aniqlaysiz va RecyclerView kutubxonasi elementlarni kerak bo'lganda dinamik ravishda yaratadi.
Nomidan ko'rinib turibdiki, RecyclerView ushbu alohida elementlarni qayta ishlaydi. Element ekrandan aylansa, RecyclerView uning ko'rinishini buzmaydi. Buning o'rniga, RecyclerView ekranda aylantirilgan yangi elementlar uchun ko'rinishni qayta ishlatadi. RecyclerView unumdorligi va ilovangizning javob berish qobiliyatini yaxshilaydi va quvvat sarfini kamaytiradi.
2.2.4-rasm. RecyclerView uchun item yaratish.
Bunda royxat ekranga chiqarishda va uni qayta ishlash uchun kerak bo’lgan umumiy korinish yaratiladi . Bunda ularni to’gri joylashtirish alohida qismi va ularning har biriga alahida id berib chiqiladi . Id yordamida ma’lumotlar qayta ishlanadi. Bunda erishiladigan yutuq dasturdagi yuklamani minimallashtrish orqali uni ishlash samaradorligini oshirish nazarda tutiladi .
2.2.5-rasm. Malumot qismi .
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:orientation="vertical">
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:ignore="MissingConstraints"
android:background="@color/white"
android:layout_marginStart="40dp"
android:layout_marginEnd="40dp">
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="20dp">
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textColor="@color/black"
android:textSize="15sp"
android:textStyle="italic"
android:ellipsize="end"
android:id="@+id/deckription_tv"/>
2.2.6-rasm. Obyektga asosiy qiymatlar beish uchun u shakillantriladi.
Bu asosiy qisim hisoblanadi yani uni to’g’ri tashkil qilish orqali dastur to’g’ri ishlashi uchun muhum . Ya’ni bu sportchilar suratlari , ularning isimlari va ular faoliyati haqida to’liq ma’lumot hisoblanadi .
2.2.7-rasm. Adapter qismi .
Bu asosan ma’lumotlarni shakillantirish va uzatish undan tashqari qayta ishlashga javobgan bo’lim hisoblanadi .
Adapter ob'ekti AdapterView va ushbu ko'rinish uchun asosiy ma'lumotlar o'rtasida ko'prik vazifasini bajaradi. Adapter ma'lumotlar elementlariga kirishni ta'minlaydi. Adapter shuningdek, ma'lumotlar to'plamidagi har bir element uchun Ko'rinishni yaratish uchun javobgardir.
package com.example.olympics.Adapters;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.example.olympics.MainActivity;
import com.example.olympics.NewsActivity;
import com.example.olympics.databinding.ItemNewsBinding;
import com.example.olympics.models.NewsData;
import com.squareup.picasso.Picasso;
import java.util.List;
public class NewsAdapter extends RecyclerView.Adapter{
private List newsDataList;
private OnItemClickListener onItemClickListener;
public NewsAdapter(List newsDataList, OnItemClickListener onItemClickListener) {
this.newsDataList = newsDataList;
this.onItemClickListener = onItemClickListener;
}
@NonNull
@Override
public VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new VH(ItemNewsBinding.inflate(LayoutInflater.from(parent.getContext()),parent,false));
}
@Override
public void onBindViewHolder(@NonNull VH holder, int position) {
NewsData newsData = newsDataList.get(position);
Picasso.get().load(newsData.getImgUrl()).into(holder.binding.image);
holder.binding.titleTv.setText(newsData.getTitle());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onItemClickListener.onItemClick(newsDataList.get(position),position);
}
});
}
@Override
public int getItemCount() {
return newsDataList.size();
}
static class VH extends RecyclerView.ViewHolder{
ItemNewsBinding binding;
public VH(@NonNull ItemNewsBinding binding) {
super(binding.getRoot());
this.binding = binding;
}
}
public interface OnItemClickListener{
void onItemClick(NewsData newsData,int position);
}
}
2.2.8-rasm. Asosiy oyna kodlari.
package com.example.olympics;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearSnapHelper;
import androidx.recyclerview.widget.SnapHelper;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import com.example.olympics.Adapters.NewsAdapter;
import com.example.olympics.databinding.ActivityMainBinding;
import com.example.olympics.models.NewsData;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ActivityMainBinding binding;
private List newsDataList;
private NewsAdapter newsAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
loadNews();
newsAdapter = new NewsAdapter(newsDataList, (newsData, position) -> {
Intent intent = new Intent(MainActivity.this,NewsActivity.class);
intent.putExtra("news", (Serializable) newsDataList.get(position));
startActivity(intent);
});
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
binding.rv.addItemDecoration(dividerItemDecoration);
SnapHelper snapHelper = new LinearSnapHelper();
snapHelper.attachToRecyclerView(binding.rv);
binding.rv.setAdapter(newsAdapter);
binding.rv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,NewsActivity.class);
intent.putExtra("news", (Serializable) newsDataList);
startActivity(intent);
}
});
}
2.3. Foydalanuvchi uchun qo’llanma.
2.3.1-rasm.ichki qismi
Men bu ilovan eng oddiy dizayn bilan qilishga harakat qildim .
Chnki hozirgi davrda qulaylik birinchi oringa chiqgan deb hisoblasa bo’ladi .
Insonlar toboro qulay turmush tarsi va qulay interfeysli ilovalar va veb saytlarga
etibor qaratishadi .
2.3.2-rasm. Kirish qismi .
Xulosa
Hozirgi kunga kelib mamlakatimizda axborot-kommunikatsiya texnologiyalarini qo’llagan holda foydalanuvchilar bilan aloqa o’rnatish dolzarb muammolardan biri bo’lib kelmoqda. Xususan, internet tizimida ishlaydiganlar soni kundan-kunga oshib bormoqda. Bu esa yoshlarimizning mobil ilovalar yaratish buyicha qiziqishlari tabora ortib borayotganidan dalolat beradi.
“Multimediya texnologiyalari” kafedrasi mobil ilovani ishlab chiqish davomida web texnologiyalar yartishga oid tillar bilan yaqindan tanishib chiqdim. Jumladan Java, Kotlin, tillaridan foydalandim. Kurs ishini bajarish davomida sport ustalari faoliyati bilan yaqindan tanishib chiqdim, ular haqida ma’lumotlar yigdim va jamladim. Yoshlar asosan yo’l qoyadigan xatolar bilan tanishib chiqdim va ularni to’girlash haqida ma’umot kiritdim. Bu hozirgi ishlab chiqgan mobil ilovam mukammal darajada tuzilmagan bo’lsada keyingi bajariladigan amaliy ishlarimda yanada takomillashtirishga harakat qilaman. Ushbu yaratgan kurs ishim kelajakda men uchun asos bo’lib xizmat qiladi.
“O’zbekiston olimpiya chempionlari ” mobil ilovani o’rganish.
“O’zbekiston olimpiya chempionlari” mobil ilova ishlab chiqishda foydalaniladigan dasturiy vositalar bilan ishlashni o‘rganish.
“O’zbekiston olimpiya chempionlari” mobil ilova yaratish maqsadida yaratilayotgan mobil ilovanitarkibini o’rganish
|