|
O’zbekiston respublikasi oliy ta’lim fan va innovatsiyalar vazirligi buxoro davlat universiteti
|
Sana | 05.06.2024 | Hajmi | 0,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.
|
| |