Управління вводом/виводом та сенсорною підсистемою в ОС Android

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2018
Тип роботи:
Лабораторна робота
Предмет:
Мережеві операційні системи

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет «Львівська політехніка» Кафедра ЕОМ Лабораторна робота №3 з дисципліни: «Мережні операційні системи» на тему: «Управління вводом/виводом та сенсорною підсистемою в ОС Android» Мета: Оволодіти навичками програмування і управління вводом/виводом й сенсорною підсистемою в ОС Android. Завдання: Програма контролю дотиків до сенсорного екрану. Отже, розроблено програму, яка показує дотики до екрану, враховуючи multitouch, тобто можливість дотику кількох пальців(до 10-ти). Результат роботи програми зображено на Рис. 1 при доторку до екрану 3 пальців.  Рис. 1. Робота програми Лістинг програми: MainActivity.java package com.knowleen.lab3and; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.TextView; public class MainActivity extends Activity implements OnTouchListener { StringBuilder sb = new StringBuilder(); TextView tv; int upPI = 0; int downPI = 0; boolean inTouch = false; String result = ""; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); tv = new TextView(this); tv.setTextSize(30); tv.setOnTouchListener(this); setContentView(tv); } @Override public boolean onTouch(View view, MotionEvent event) { // пишемо івент int actionMask = event.getActionMasked(); // індекс int pointerIndex = event.getActionIndex(); // кількість доторків int pointerCount = event.getPointerCount(); switch (actionMask) { case MotionEvent.ACTION_DOWN: // при першому доторку inTouch = true; case MotionEvent.ACTION_POINTER_DOWN: // наступні(перший теж опрацьовує) downPI = pointerIndex; break; case MotionEvent.ACTION_UP: // Останній доторк inTouch = false; sb.setLength(0); case MotionEvent.ACTION_POINTER_UP: // підняття пальця upPI = pointerIndex; break; case MotionEvent.ACTION_MOVE: // пересування пальцем sb.setLength(0); for (int i = 0; i < 10; i++) { sb.append("Index = " + i); if (i < pointerCount) { sb.append(", ID = " + event.getPointerId(i)); sb.append(", X = " + event.getX(i)); sb.append(", Y = " + event.getY(i)); } else { sb.append(", ID = "); sb.append(", X = "); sb.append(", Y = "); } sb.append("\r\n"); } break; } result = "down: " + downPI + "\n" + "up: " + upPI + "\n"; if (inTouch) { result += "pointerCount = " + pointerCount + "\n" + sb.toString(); } tv.setText(result); return true; } } Висновок. На даній лабораторній роботі я розробив програму для контролю дотиків до сенсорного екрану. Також закріпив навики створення графічного інтерфейсу програм.
Антиботан аватар за замовчуванням

22.03.2018 19:13

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!