• Android ilovada grafika bilan ishlash” mavzusida yozgan MUSTAQIL ISHI TUZUVCHI: Toshpo’latova M.M TEKSHIRUVCHI: Yarashov I.B
  • O’zbekiston respublikasi oliy ta’lim fan va innovatsiyalar vazirligi buxoro davlat universiteti




    Download 0,51 Mb.
    Sana05.06.2024
    Hajmi0,51 Mb.
    #260672
    Bog'liq
    mobil



    O’ZBEKISTON RESPUBLIKASI
    OLIY TA’LIM FAN VA INNOVATSIYALAR VAZIRLIGI
    BUXORO DAVLAT UNIVERSITETI
    AXBOROT TEXNOLOGIYALARI FAKULTETI
    KOMPYUTER ILIMLARI VA DASTURLASH TEXNOLOGIYALARI
    TA’LIM YO’NALISHI 1-1-KIDT-21 TALABASI
    Toshpo’latova Madinabonu Mirjon qizining
    “Mobil ilovalar ” fanidan
    Android ilovada grafika bilan ishlash”
    mavzusida yozgan
    MUSTAQIL ISHI

    TUZUVCHI: Toshpo’latova M.M
    TEKSHIRUVCHI: Yarashov I.B
    Mavzu:Android ilovada grafika bilan ishlash
    Agar siz o'yin yoki grafikani o'zgartirish kerak bo'lsa, yaxshi tanlov "OpenGL ES" bo'ladi. Bu, Android platformasida yuqori darajadagi grafika ishlab chiqish uchun yordam beruvchi standart kutubxonalar to'plamidir. OpenGL ES yordamida, siz o'yinlar, animatsiyalar, 3D model va boshqa ko'rsatishlarni yaratishingiz mumkin.
    Bir nechta Android ilovalari "Canvas" yoki "Paint" nomli kutubxonalardan foydalanadi. Bu, odatda odatda 2D grafikasi ishlab chiqish uchun ishlatiladi. "Canvas" va "Paint" yordamida siz o'yinlar, animatsiyalar, diagrammalar va boshqa ko'rsatishlarni yarata olasiz.
    Boshqa yaxshi tanlov "Android Graphics Architecture" (Android grafika muhiti) bo'ladi. Bu, Android ilovalarda grafika ishlab chiqishning barcha qismlarinibirlashtiruvchi standart kutubxonalar to'plami hisoblanadi. Bu kutubxona to'plami, "SurfaceFlinger" nomli tizim kutubxonasi yordamida grafikani ko'rsatish va boshqa tizim amallarini bajarish uchun yordam beradi.
    Android ilovalarda grafika bilan ishlashda boshqa tanlovlar ham mavjud, masalan, "RenderScript" va "Vulkan" kutubxonalar to'plamlari. "RenderScript" yordamida siz massivli hisoblash va grafikani qayta ishlashni yaxshi bajarishingiz mumkin. "Vulkan" kutubxonasi esa yuqori darajadagi 3D grafikasi ishlab chiqish uchun yordam beradi.
    Android ilovalarda grafika bilan ishlashni o'rganish uchun, Android Studio va boshqa dastur o'rnatuvchilardan foydalanishingiz mumkin. Bu dastur o'rnatuvchilari sizga grafikani boshqarish uchun kerakli kutubxonalar to'plamini taqdim etishi mumkin.
    Android ilovasida grafikalar bilan ishlash oddiy tasvirlarni ko'rsatishdan tortib murakkab animatsiyalar va moslashtirilgan ko'rinishlargacha bo'lgan turli vazifalarni o'z ichiga olishi mumkin. Mana bir nechta umumiy vazifalar va ularga qanday erishish mumkin:
    1. Tasvirlarni ko'rsatish
    ImageView-dan foydalanish
    Tasvirlarni ko'rsatish uchun XML maketingizda ImageView vidjetidan foydalanishingiz mumkin.
    android:id="@+id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/your_image" />
    Activity yoki Fragmentda:
    ImageView imageView = findViewById(R.id.imageView);
    imageView.setImageResource(R.drawable.your_image);
    2. Internetdan rasmlarni yuklash
    Internetdan rasmlarni yuklash uchun odatda Picasso yoki Glide kabi kutubxonalar ishlatiladi.
    Glide-dan foydalanish
    Glide-ni build.gradle-ga qo'shing:
    implementation 'com.github.bumptech.glide:glide:4.12.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
    URL manzilidan rasm yuklang:
    Glide.with(this)
    .load("https://example.com/your_image.jpg")
    .into(imageView);

    3. Maxsus ko'rinishlarni yaratish


    Maxsus grafiklar uchun siz View sinfini kengaytirishingiz va onDraw usulini bekor qilishingiz mumkin.
    Maxsus ko'rinishga misol
    Ko'rinishni kengaytiruvchi yangi sinf yarating:
    public class CustomView extends View {
    private Paint paint;
    public CustomView(Context context) {
    super(context);
    init();
    }
    public CustomView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
    }
    private void init() {
    paint = new Paint();
    paint.setColor(Color.RED);
    paint.setStrokeWidth(10f);
    }
    @Override
    protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    // Draw a simple line
    canvas.drawLine(0, 0, getWidth(), getHeight(), paint);
    }
    }
    XML tartibingizda:
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
    4. Animatsiyalar
    Android animatsiyalarni yaratishning turli usullarini, jumladan, mulkiy animatsiyalarni, chiziladigan animatsiyalarni va ko'rish animatsiyalarini taqdim etadi.
    Mulk animatsiyalari
    ObjectAnimator animator = ObjectAnimator.ofFloat(view, "translationX", 0f, 100f);
    animator.setDuration(1000);
    animator.start();
    Animatsiyalarni ko‘rish (XML asosida)
    Res/anim-da animatsiya XML yarating (masalan, fade_in.xml):
    android:duration="1000"
    android:fromAlpha="0.0"
    android:toAlpha="1.0" />
    Activity yoki Fragmentda:
    Animation fadeIn = AnimationUtils.loadAnimation(this, R.anim.fade_in);
    view.startAnimation(fadeIn);
    5. Vektorli grafikalar
    Vektorli grafiklar uchun siz VectorDrawable va AnimatedVectorDrawable dan foydalanishingiz mumkin.
    VectorDrawable
    Res/drawable-da chizilgan vektorni yarating (masalan, ic_vector.xml):
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24">

    android:fillColor="#FF000000"
    android:pathData="M12,2L2,22h20L12,2z"/>

    Uni ImageView-da foydalaning:
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_vector" />
    6. Kengaytirilgan Grafika uchun OpenGL ES
    3D renderlash kabi ilg'or grafikalar uchun siz OpenGL ES dan foydalanishingiz mumkin.
    OpenGL ES o'rnatilmoqda
    GLSurfaceView va Renderer yarating.
    public class MyGLRenderer implements GLSurfaceView.Renderer {
    @Override
    public void onSurfaceCreated(GL10 gl, EGLConfig config) {
    // Set the background frame color
    GLES20.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
    }
    @Override
    public void onDrawFrame(GL10 gl) {
    // Redraw background color
    GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
    }
    @Override
    public void onSurfaceChanged(GL10 gl, int width, int height) {
    GLES20.glViewport(0, 0, width, height);
    }
    }
    Activity da:
    public class MainActivity extends AppCompatActivity {
    private GLSurfaceView glSurfaceView;
    private MyGLRenderer renderer;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    glSurfaceView = new GLSurfaceView(this);
    renderer = new MyGLRenderer();
    glSurfaceView.setRenderer(renderer);
    setContentView(glSurfaceView);
    }
    }
    Bular Android-da grafikalar bilan ishlashning asosiy usullari. Ilovangiz talablariga qarab, siz maxsus chizmalar, ishlashni optimallashtirish yoki murakkab animatsiyalar kabi muayyan sohalarni chuqurroq o'rganishingiz kerak bo'lishi mumkin.

    Download 0,51 Mb.




    Download 0,51 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O’zbekiston respublikasi oliy ta’lim fan va innovatsiyalar vazirligi buxoro davlat universiteti

    Download 0,51 Mb.