logo

Talaba rejalashtiruvchi ilovasi

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

141.6826171875 KB
Talaba rejalashtiruvchi ilovasi  
KIRISH   
NAZARIY QISM   
1.               “Mobil ilovalar yaratish texnologiyasi” fanining maqsadi va umumiy    
ma'lumotlar   
2.               Talaba rejalashtiruvchi ahamiyati va maqsadi   
ASOSIY QISM   
1.               “Talaba rejalashtiruvchi ilovasi” mobil ilovasining ko’rinishi, ekran    
sur’atlari va tegishli dastur kodlari   
XULOSA   
FOYDALANILGAN ADABIYOTLAR VA MANBALAR ……………...    K IRISH
O'zbekiston   Ijtimoiy   sohalarda   mobil   ilovalar   yaratish   sohasida   islohotlar
qilmoqda. Bu sohada xalqaro kompaniyalar ham faol ishtirok etmoqda va bu sayda
ham   o'zbek   tilini   bilish   talablari   ko'payib   bormoqda.   Ingliz   tilini   o'rganish   bu
sohada   foydali   bo'ladi,   chunki   bu   tilning   dunyo   bo'ylab   keng   tarqalgan   va   keng
qo'llaniladigan tili sifatida tan olinmoqda.
Ingliz   tilini   o'rganishning   mobil   ilovalar   yaratish   texnologiyasi   sohasida
ko'plab   afzalliklari   bor.   Ingliz   tili,   umumiy   ravishda   tarqalish   tili   sifatida   qabul
qilinadi va shuning uchun bu tilda o'rganish mobil ilovalar sohasida ilg'or ekanligi
ko'p   muhokama   qilinadigan   fakt.   Ingliz   tilini   bilish   bilan   o'z   fikringizni   ifoda
qilish,   boshqalar   bilan   xamkorlik   qilish   va   ilovalar   yaratishda   xalqaro   jamoaga
qo'shilish imkoniyatlari ochiladi.
Ingliz tilini o'rganishning bir necha yo'nalishlari mobil ilovalar sohasida ham
muhimdir. Bugungi kunda ko'plab ma'lumotlar, qo'llanma va dasturlar Ingliz tilida
yaratiladi.   Bu   xususiyatlar   sizga   yangi   dasturlarni   o'qish,   tarjima   qilish   va   ularga
murojaat   qilish   imkoniyatini   beradi.   Ingliz   tilini   o'rganish   orqali,   mobil   ilovalar
sohasidagi   so'zlashuvlar   va   maqolalar   bilan   tanishish   va   ularga   tushuntirishga
imkoniyat yuzaga keladi.
Mobil ilovalar, o'zbekistonlik insonlar o'rtasida ko'p qollanadigan qurilmalar
bo'lib, hayotimizni  qulaylashtirish, bizning ehtiyojlaringimizni  qondirish  va bizga
yangi imkoniyatlar yaratishda muhim rol o'ynaydi.
2 NAZARIY QISM .
1.1. “Mobil ilovalar yaratish texnologiyasi” fanining maqsadi va umumiy
ma'lumotlar .
Zamonaviy   hayotni   mobil   ilovalarsiz   tasavvur   qilib   bo'lmaydi.   Oziq-
ovqatlarga buyurtma bering, dunyoning yarmi bo'ylab okean manzarali uyni bron
qiling,   sevimli   uy   hayvoningiz   bilan   sayr   qiling   yoki   yangi   til   o'rganing   —   siz
o'ylagan   barcha   narsaga   smartfoningizda   bir   necha   marta   bosish   orqali
erishishingiz mumkin. Korxonalar yangi voqelikka moslashmoqda. Bir marta Bill
Geyts   shunday   degan   edi:   "Agar   sizning   biznesingiz   Internetda   bo'lmasa,
biznesingiz   ishdan   chiqadi".   Hozirgi   vaqtda   mobil   ilovalar   uchun   ham   xuddi
shunday - agar siz App Store yoki Google Play-da mavjud bo'lmasangiz, siz endi
raqobatbardosh emassiz.
Ajoyib   g'oyaga   ega   bo'lgan   har   bir   kishi   buning   uchun   ilova   yaratish
qanchalik qiyin bo'lishi mumkinligini o'ylab ko'rishi kerak. Albatta, bu raketa fani
emas, lekin jarayon juda keng va bir necha muhim bosqichlarni o'z ichiga oladi -
bozor   tahlilidan   tortib   to   joy   tanlashgacha,   ishlab   chiqish   va   dizayndan   keyingi
xizmat   ko'rsatishgacha.   Bu   sizning   marketing   maqsadlaringizga   javob   beradigan,
maqsadli   auditoriyangiz   bilan   rezonanslashadigan   va   shu   bilan   hayotiy   va
monetizatsiya qilinadigan mobil ilovani yaratishning yagona yo'li.
3 2.    Talaba rejalashtiruvchi ahamiyati va maqsadi 
Agar   siz   talaba   bo'lsangiz,   sinf   ishlarini,   imtihonlarni   va   umuman   hayotni
tashkil   qilish   uchun   tizim   kerak.   Va   bu   haqiqat,   hamma   narsa   uchun   dastur
mavjud.   Ammo   rejalashtirish   va   vaqtni   boshqarish   uchun   juda   ko'p   ilovalar
mavjud. Qaysi biri samarali maktabni rejalashtiruvchi ilovalarni yaratadi?
Planner   ilovasini   tanlashda  siz  hayotingiz  va jadvalingizga  eng  mos  keladigan
xususiyatlarga   ega   bo'lgan   ilovani   izlashingiz   kerak.   Bu   aniq   maqsadga   ega
bo'lishi kerak. Va uni unumdorlikka mos keladigan yagona dastur sifatida ko'rib
chiqmaslik   kerak.   Talabalarni   rejalashtirish   bo'yicha   yaxshi   ilovada   quyidagi
fazilatlarni izlash kerak:
Vizual toza foydalanuvchi tajribasi va axborot zichligi
Yuqori darajada moslashtirilgan va yuqori darajada tuzilgan
Boshqa   ilovalar   va   mustaqil   ilovalar   bilan   integratsiyalangan,   sizga   kerak
bo ladigan barcha funksiyalar bir joydaʻ
Talabalar   uchun   ixtisoslashtirilgan   va   maktabdan   keyingi   hayotga   o'tkazilishi
mumkin.
Bu  erda  siz   hozirda   mavjud  bo'lgan  eng  yaxshi   maktab  rejalashtiruvchilaridan
bir nechtasini ko'rishingiz mumkin. Ularning har biri yuqori baholangan, arzon
va ba'zi  hollarda maktab va o'qish uchun mo'ljallangan. Va ularni  topish oson.
Ularning   aksariyati   iPhone,   iPad,   Android   yoki   boshqa   smartfonlarda
foydalanish uchun Apple App Store yoki Google Play do‘konida mavjud.  
4                                                      ASOSIY QISM
1. “Talaba   rejalashtiruvchi   ilovasi”   mobil   ilovasining   ko’rinishi,   ekran
sur’atlari va tegishli dastur kodlari
Quyida Dasturning Bosh sahifasi tasviri. Quyidagi kod bo’lagida   LinearLayout
tarkibida   bo’limlardan   biri   Resources   kodi   berilgan.   Bo’lim   CardViewda
tasvirlangan.
1-rasm.  Bosh sahifa.
 LinearLayout   -   bu  Android   Studio'da   foydalanuvchi   interfeysi   dizayni   uchun
ishlatiladigan tahrirlash usuli.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff"
5     android:gravity="center"
    android:orientation="vertical"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.delaroystudios.studentmgt.StudentMainActivity">
    <EditText
        android:id="@+id/roll_no"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Jurnaldagi raqamingizni kiriting: "
        android:inputType="number">
        <requestFocus />
    </EditText>
    <EditText
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Ismingizni kiriting: " />
    <EditText
6         android:id="@+id/marks"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Bahoyingizni kiriting: "
        android:inputType="number" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="98dp">
        <Button
            android:id="@+id/addbtn"
            android:layout_width="140dp"
            android:layout_height="90dp"
            android:background="#C4FFC7"
            android:text="Add" />
        <Button
            android:id="@+id/deletebtn"
            android:layout_width="140dp"
            android:layout_height="90dp"
            android:background="#AFF0F8"
            android:text="Delete" />
    </LinearLayout>
    <LinearLayout
7         android:layout_width="match_parent"
        android:layout_height="98dp">
        <Button
            android:id="@+id/modifybtn"
            android:layout_width="140dp"
            android:layout_height="90dp"
            android:background="#FBFFD8"
            android:text="Modify" />
        <Button
            android:id="@+id/viewbtn"
            android:layout_width="140dp"
            android:layout_height="90dp"
            android:background="#FDC0AC"
            android:text="View" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.74">
        <Button
            android:id="@+id/viewallbtn"
            android:layout_width="140dp"
            android:layout_height="90dp"
8             android:background="#91B6B3"
            android:text="View all" />
        <Button
            android:id="@+id/showbtn"
            android:layout_width="140dp"
            android:layout_height="90dp"
            android:background="#C3A2FF"
            android:text="Show" />
    </LinearLayout>
</LinearLayout>
Quyida   Dasturning   Resources   oynasi   tasviri.   Tegisgli   kod   bo’lagida
NestedScrollView   vidjeti   tarkibida   Itemlardan   biri   Prepostions   kodi   berilgan.
Bo’lim MaterialCardViewda tasvirlangan.
 NestedScrollView vidjeti - silliq aylantirish tajribasini taqdim etadi va kontent
bo‘ylab oson harakatlanish imkonini beradi.
 MaterialCardView   -   kontentingizga   soyalar,   yumaloq   burchaklar   va   boshqa
vizual  effektlarni   qo‘shish  imkonini   beradi,  bu  esa  uni  vizual   jihatdan  jozibali
va o‘qishni osonlashtiradi.
9 2-rasm.  Resources papkasi tarkibi.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:background="#fff"
    android:layout_height="match_parent">
    <ImageView
        android:id="@+id/imageViewLogo"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:src="@drawable/logo"
        android:scaleType="centerInside"
        android:layout_centerInParent="true" />
    <TextView
        android:id="@+id/textViewAppName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
10         android:layout_below="@id/imageViewLogo"
        android:text="Student Management"
        android:textSize="24sp"
        android:textStyle="bold"
        android:layout_centerHorizontal="true"
        android:paddingTop="16dp" />
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="1"
    android:versionName="1.0">
    <uses-sdk
        android:minSdkVersion="24"
        android:targetSdkVersion="33" />
    <application
        android:allowBackup="true"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name="com.delaroystudios.studentmgt.SplashActivity"
            android:exported="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
11                 <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.delaroystudios.studentmgt.StudentMainActivity"
            android:exported="true"
            android:label="@string/app_name">
        </activity>
    </application>
</manifest>
Quyidagi   kodda   ham   so’zlar   jadvali   berilgan   farqli   ravishda   ushbu   kod
orqali tanlangan so’z asistent orqali o’zib beriladi:
public class ListeningWords extends AppCompatActivity implements 
AdapterView.OnItemClickListener, TextToSpeech.OnInitListener {
    private ListView listView, listView3, listView2;
    private TextToSpeech tts;
    ImageView back;
    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout. activity_listening_words );
        // Initialize the ListView object
12         listView = findViewById(R.id. list_view );
        back = findViewById(R.id. back );
        back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(ListeningWords.this, Resources.class));
                finish();
            }
        });
        // Load the words from the JSON file
        try {
            JSONObject jsonObject = new JSONObject(loadJSONFromAsset());
            JSONArray jsonArray = jsonObject.getJSONArray("JSONArray");
            String[] items = new String[jsonArray.length()];
            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject obj = jsonArray.getJSONObject(i);
                items[i] = obj.getString("word");
            }
            ArrayAdapter<String> adapter = new ArrayAdapter<>(this, 
android.R.layout. simple_list_item_1 , items);
            listView.setAdapter(adapter);
        } catch (JSONException e) {
            e.printStackTrace();
13         }
        // Initialize the TextToSpeech object
        tts = new TextToSpeech(this, this);
        // Set the onItemClickListener on the ListView object
        listView.setOnItemClickListener(this);
    }
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long 
id) {
        // Retrieve the text of the clicked item
        String itemText = ((TextView) view).getText().toString().replace("*","");
        // Convert the text to speech
        if (tts != null) {
            tts.speak(itemText, TextToSpeech. QUEUE_FLUSH , null);
        }
    }
    @Override
    public void onInit(int status) {
        if (status == TextToSpeech. SUCCESS ) {
            int result = tts.setLanguage(Locale. US );
            if (result == TextToSpeech. LANG_MISSING_DATA  || result == 
TextToSpeech. LANG_NOT_SUPPORTED ) {
                Log. e ("TTS", "Language not supported");
14             }
        } else {
            Log. e ("TTS", "Initialization failed");
        }
    }
    @Override
    protected void onDestroy() {
        if (tts != null) {
            tts.stop();
            tts.shutdown();
        }
        super.onDestroy();
    }
    // Method to read the contents of a JSON file and return it as a string
    private String loadJSONFromAsset() {
        String json;
        try {
            InputStream is = getAssets().open("6listeningW/words.json");
            int size = is.available();
            byte[] buffer = new byte[size];
            is.read(buffer);
            is.close();
            json = new String(buffer, "UTF-8");
15         } catch (IOException ex) {
            ex.printStackTrace();
            return null;
        }
        return json;
    } @Override
    public void onBackPressed() {
        Intent intent = new Intent(this, Resources.class);
        intent.addFlags(Intent. FLAG_ACTIVITY_CLEAR_TOP  | 
Intent. FLAG_ACTIVITY_NEW_TASK );
        startActivity(intent);
        finish();
    }
}
Quyida   Dasturning   Quiz   oynasi   tasviri.   Tegishli   kod   bo’lagida
NestedScrollView   vidjeti   tarkibida   Itemlardan   biri   Prepostions   kodi   berilgan.
Bo’lim MaterialCardViewda tasvirlangan.
 NestedScrollView vidjeti - silliq aylantirish tajribasini taqdim etadi va kontent
bo‘ylab oson harakatlanish imkonini beradi.
 MaterialCardView   -   kontentingizga   soyalar,   yumaloq   burchaklar   va   boshqa
vizual  effektlarni   qo‘shish  imkonini   beradi,  bu  esa  uni  vizual   jihatdan  jozibali
va o‘qishni osonlashtiradi.
16 3-rasm.  Resources papkasi tarkibi.
Mavzu uchun testlar mavjud json faylini keying oynaga yuklash kodi:
package com.delaroystudios.studentmgt;
import java.security.PublicKey;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import com.delaroystudios.studentmgt.R;
17 public class StudentMainActivity extends Activity {
   EditText ename,eroll_no,emarks;
   Button add,view,viewall,Show1,delete,modify;
   SQLiteDatabase db;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_student_main);
      ename=(EditText)findViewById(R.id.name);
      eroll_no=(EditText)findViewById(R.id.roll_no);
      emarks=(EditText)findViewById(R.id.marks);
      add=(Button)findViewById(R.id.addbtn);
      view=(Button)findViewById(R.id.viewbtn);
      viewall=(Button)findViewById(R.id.viewallbtn);
      delete=(Button)findViewById(R.id.deletebtn);
      Show1=(Button)findViewById(R.id.showbtn);
      modify=(Button)findViewById(R.id.modifybtn);
     
      db=openOrCreateDatabase("Student_manage", Context.MODE_PRIVATE, 
null);
      db.execSQL("CREATE TABLE IF NOT EXISTS student(rollno 
INTEGER,name VARCHAR,marks INTEGER);");
               add.setOnClickListener(new OnClickListener() {
18                   @Override
         public void onClick(View v) {
            // TODO Auto-generated method stub
            if(eroll_no.getText().toString().trim().length()==0||
                      ename.getText().toString().trim().length()==0||
                      emarks.getText().toString().trim().length()==0)
                   {
                      showMessage("Error", "Please enter all values");
                      return;
                   }
                   db.execSQL("INSERT INTO student VALUES('"+eroll_no.getText()
+"','"+ename.getText()+
                            "','"+emarks.getText()+"');");
                   showMessage("Success", "Record added successfully");
                   clearText();
         }
      });
      delete.setOnClickListener(new OnClickListener() {
                  @Override
         public void onClick(View v) {
            // TODO Auto-generated method stub
            if(eroll_no.getText().toString().trim().length()==0)
             {
19                 showMessage("Error", "Please enter Rollno");
                return;
             }
             Cursor c=db.rawQuery("SELECT * FROM student WHERE 
rollno='"+eroll_no.getText()+"'", null);
             if(c.moveToFirst())
             {
                db.execSQL("DELETE FROM student WHERE 
rollno='"+eroll_no.getText()+"'");
                showMessage("Success", "Record Deleted");
             }
             else
             {
                showMessage("Error", "Invalid Rollno");
             }
             clearText();
         }
      });
      modify.setOnClickListener(new OnClickListener() {
         @Override
         public void onClick(View v) {
            // TODO Auto-generated method stub
            if(eroll_no.getText().toString().trim().length()==0)
20              {
                showMessage("Error", "Please enter Rollno");
                return;
             }
             Cursor c=db.rawQuery("SELECT * FROM student WHERE 
rollno='"+eroll_no.getText()+"'", null);
             if(c.moveToFirst())
             {
                db.execSQL("UPDATE student SET name='"+ename.getText()
+"',marks='"+emarks.getText()+
                      "' WHERE rollno='"+eroll_no.getText()+"'");
                showMessage("Success", "Record Modified");
             }
             else
             {
                showMessage("Error", "Invalid Rollno");
             }
             clearText();
         }
      });
      view.setOnClickListener(new OnClickListener() {
         @Override
         public void onClick(View v) {
21             // TODO Auto-generated method stub
            if(eroll_no.getText().toString().trim().length()==0)
             {
                showMessage("Error", "Please enter Rollno");
                return;
             }
             Cursor c=db.rawQuery("SELECT * FROM student WHERE 
rollno='"+eroll_no.getText()+"'", null);
             if(c.moveToFirst())
             {
                ename.setText(c.getString(1));
                emarks.setText(c.getString(2));
             }
             else
             {
                showMessage("Error", "Invalid Rollno");
                clearText();
             }
         }
      });
      viewall.setOnClickListener(new OnClickListener() { 
         @Override
         public void onClick(View v) {
22             // TODO Auto-generated method stub
            Cursor c=db.rawQuery("SELECT * FROM student", null);
             if(c.getCount()==0)
             {
                showMessage("Error", "No records found");
                return;
             }
             StringBuffer buffer=new StringBuffer();
             while(c.moveToNext())
             {
                buffer.append("Rollno: "+c.getString(0)+"\n");
                buffer.append("Name: "+c.getString(1)+"\n");
                buffer.append("Marks: "+c.getString(2)+"\n\n");
             }
             showMessage("Student Details", buffer.toString());
         }
      });
      Show1.setOnClickListener(new OnClickListener() {
                  @Override
         public void onClick(View v) {
            // TODO Auto-generated method stub
            showMessage("Student Management Application", "Brought To You By IT
SOURCECODE");
23          }
      });
   }
   public void showMessage(String title,String message)
    {
       Builder builder=new Builder(this);
       builder.setCancelable(true);
       builder.setTitle(title);
       builder.setMessage(message);
       builder.show();
   }
    public void clearText()
    {
       eroll_no.setText("");
       ename.setText("");
       emarks.setText("");
       eroll_no.requestFocus();
    }
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.student_main,menu);   
return true; }   }
24   XULOSA
Ushbu   material   mobil   ilovalar   yaratish   texnologiyasi   sohasida   mustaqil   ish
uchun   nazariy   materialni   taqdim   etadi.   Mobil   ilovalar,   bugungi   kunda   aholining
hayotida   katta   ahamiyatga   ega   bo'lgan   sohalardan   biridir.   Mobil   ilovalar   yaratish
sohasi,   o'ziga   xosliklari   va   imkoniyatlari   bilan   mustaqil   ish   uchun   eng   qiziqarli
sohalardan biri hisoblanadi.
Dasturning   ko'rinishi   esa   LinearLayout   foydalanilgan.   Bosh   sahifada
GridLayout   tarkibida   bo'limlar   joylashgan.   Har   bir   bo'lim   MaterialCardViewga
o'girilgan,   bu   CardViewning   shaklini   tahrirlash   va   ma'lumotlarni   ko'rsatish
imkonini beradi.
Dasturda "Resources" va "Prepositions" kabi bo'limlarda MaterialCardView
va   LinearLayoutlar   ishlatilgan.   Har   bir   bo'limda   asosiy   ma'lumotlar   va   mavzular
ko'rsatilgan.  Tasvirlar   va   matnlar   orqali   dastur   foydalanuvchiga   ilovaning   qanday
ko'rinishda bo'lganligini va qanday funksiyalarga ega bo'lganligini tushuntiradi.
Shu   bilan   birga,   dasturda   NestedScrollView   va   MaterialCardView   kabi
vidjetlar   ham   ishlatilgan,   bu   esa   ilovada   vizual   ravishni   osonlashtiradi   va
foydalanuvchiga yorqin tajribani taqdim etadi.
25 FOYDALANILGAN ADABIYOTLAR VA MANBALAR:
1. Android   Developer   Documentation   (https://developer.android.com/docs):
Androidning rasmiy hujjatlaridan foydalanish juda muhimdir. Bu manba, Android
platformasi  va uni qo'llab-quvvatlovchi  ko'nikmalarning asosiy ma'lumotlarini o'z
ichiga oladi.
2. Stack   Overflow   (https://stackoverflow.com):   Dasturlash   sohalarida   umumiy
savollar   va   javoblar   bazasi   bo'lgan   bir   forum.   Bu   manba   orqali   dasturchilar
o'zlarining muammolari va qiyinchiliklari haqida so'rashadi va boshqa dasturchilar
tomonidan javoblar oladi.
3. GitHub (https://github.com): Bu manba orqali Androidning ochiq manbalarini
o'rganishingiz   mumkin.   GitHub   orqali   loyihalarni   qidirishingiz,   ulardan   o'zaro
foydalanishingiz   va   shu   bilan   birga,   yuqorida   ko'rsatilgan   kitoblarda   ko'rgan
qiziqishlaringizni amalga oshirishingiz mumkin.
4. Android   Weekly   (https://androidweekly.net):   Haftalik   ravishda   yangilangan
Android   dasturlash   bo'yicha   maqolalarni   taqdim   etuvchi   bu   xizmat,   so'nggi
yangiliklarni,   loyihalarni,   kutubxonalarni   va   qo'llanmalarni   kuzatib   borish   uchun
yaxshi bir manbadir.
5. Udacity   (https://www.udacity.com):   Udacity,   onlayn   ta'limni   amalga
oshiradigan bir platformadir. Android dasturlash bo'yicha kurslarini taklif qiladi va
amaliy   mashg'ulotlar   orqali   mustaqil   ravishda   Android   loyihalari   yaratishni
o'rganishga yordam beradi.
26

Talaba rejalashtiruvchi ilovasi KIRISH NAZARIY QISM 1. “Mobil ilovalar yaratish texnologiyasi” fanining maqsadi va umumiy ma'lumotlar 2. Talaba rejalashtiruvchi ahamiyati va maqsadi ASOSIY QISM 1. “Talaba rejalashtiruvchi ilovasi” mobil ilovasining ko’rinishi, ekran sur’atlari va tegishli dastur kodlari XULOSA FOYDALANILGAN ADABIYOTLAR VA MANBALAR ……………...

K IRISH O'zbekiston Ijtimoiy sohalarda mobil ilovalar yaratish sohasida islohotlar qilmoqda. Bu sohada xalqaro kompaniyalar ham faol ishtirok etmoqda va bu sayda ham o'zbek tilini bilish talablari ko'payib bormoqda. Ingliz tilini o'rganish bu sohada foydali bo'ladi, chunki bu tilning dunyo bo'ylab keng tarqalgan va keng qo'llaniladigan tili sifatida tan olinmoqda. Ingliz tilini o'rganishning mobil ilovalar yaratish texnologiyasi sohasida ko'plab afzalliklari bor. Ingliz tili, umumiy ravishda tarqalish tili sifatida qabul qilinadi va shuning uchun bu tilda o'rganish mobil ilovalar sohasida ilg'or ekanligi ko'p muhokama qilinadigan fakt. Ingliz tilini bilish bilan o'z fikringizni ifoda qilish, boshqalar bilan xamkorlik qilish va ilovalar yaratishda xalqaro jamoaga qo'shilish imkoniyatlari ochiladi. Ingliz tilini o'rganishning bir necha yo'nalishlari mobil ilovalar sohasida ham muhimdir. Bugungi kunda ko'plab ma'lumotlar, qo'llanma va dasturlar Ingliz tilida yaratiladi. Bu xususiyatlar sizga yangi dasturlarni o'qish, tarjima qilish va ularga murojaat qilish imkoniyatini beradi. Ingliz tilini o'rganish orqali, mobil ilovalar sohasidagi so'zlashuvlar va maqolalar bilan tanishish va ularga tushuntirishga imkoniyat yuzaga keladi. Mobil ilovalar, o'zbekistonlik insonlar o'rtasida ko'p qollanadigan qurilmalar bo'lib, hayotimizni qulaylashtirish, bizning ehtiyojlaringimizni qondirish va bizga yangi imkoniyatlar yaratishda muhim rol o'ynaydi. 2

NAZARIY QISM . 1.1. “Mobil ilovalar yaratish texnologiyasi” fanining maqsadi va umumiy ma'lumotlar . Zamonaviy hayotni mobil ilovalarsiz tasavvur qilib bo'lmaydi. Oziq- ovqatlarga buyurtma bering, dunyoning yarmi bo'ylab okean manzarali uyni bron qiling, sevimli uy hayvoningiz bilan sayr qiling yoki yangi til o'rganing — siz o'ylagan barcha narsaga smartfoningizda bir necha marta bosish orqali erishishingiz mumkin. Korxonalar yangi voqelikka moslashmoqda. Bir marta Bill Geyts shunday degan edi: "Agar sizning biznesingiz Internetda bo'lmasa, biznesingiz ishdan chiqadi". Hozirgi vaqtda mobil ilovalar uchun ham xuddi shunday - agar siz App Store yoki Google Play-da mavjud bo'lmasangiz, siz endi raqobatbardosh emassiz. Ajoyib g'oyaga ega bo'lgan har bir kishi buning uchun ilova yaratish qanchalik qiyin bo'lishi mumkinligini o'ylab ko'rishi kerak. Albatta, bu raketa fani emas, lekin jarayon juda keng va bir necha muhim bosqichlarni o'z ichiga oladi - bozor tahlilidan tortib to joy tanlashgacha, ishlab chiqish va dizayndan keyingi xizmat ko'rsatishgacha. Bu sizning marketing maqsadlaringizga javob beradigan, maqsadli auditoriyangiz bilan rezonanslashadigan va shu bilan hayotiy va monetizatsiya qilinadigan mobil ilovani yaratishning yagona yo'li. 3

2. Talaba rejalashtiruvchi ahamiyati va maqsadi Agar siz talaba bo'lsangiz, sinf ishlarini, imtihonlarni va umuman hayotni tashkil qilish uchun tizim kerak. Va bu haqiqat, hamma narsa uchun dastur mavjud. Ammo rejalashtirish va vaqtni boshqarish uchun juda ko'p ilovalar mavjud. Qaysi biri samarali maktabni rejalashtiruvchi ilovalarni yaratadi? Planner ilovasini tanlashda siz hayotingiz va jadvalingizga eng mos keladigan xususiyatlarga ega bo'lgan ilovani izlashingiz kerak. Bu aniq maqsadga ega bo'lishi kerak. Va uni unumdorlikka mos keladigan yagona dastur sifatida ko'rib chiqmaslik kerak. Talabalarni rejalashtirish bo'yicha yaxshi ilovada quyidagi fazilatlarni izlash kerak: Vizual toza foydalanuvchi tajribasi va axborot zichligi Yuqori darajada moslashtirilgan va yuqori darajada tuzilgan Boshqa ilovalar va mustaqil ilovalar bilan integratsiyalangan, sizga kerak bo ladigan barcha funksiyalar bir joydaʻ Talabalar uchun ixtisoslashtirilgan va maktabdan keyingi hayotga o'tkazilishi mumkin. Bu erda siz hozirda mavjud bo'lgan eng yaxshi maktab rejalashtiruvchilaridan bir nechtasini ko'rishingiz mumkin. Ularning har biri yuqori baholangan, arzon va ba'zi hollarda maktab va o'qish uchun mo'ljallangan. Va ularni topish oson. Ularning aksariyati iPhone, iPad, Android yoki boshqa smartfonlarda foydalanish uchun Apple App Store yoki Google Play do‘konida mavjud. 4

ASOSIY QISM 1. “Talaba rejalashtiruvchi ilovasi” mobil ilovasining ko’rinishi, ekran sur’atlari va tegishli dastur kodlari Quyida Dasturning Bosh sahifasi tasviri. Quyidagi kod bo’lagida LinearLayout tarkibida bo’limlardan biri Resources kodi berilgan. Bo’lim CardViewda tasvirlangan. 1-rasm. Bosh sahifa.  LinearLayout - bu Android Studio'da foydalanuvchi interfeysi dizayni uchun ishlatiladigan tahrirlash usuli. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#fff" 5