Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
Кафедра ЕОМ
Звіт
з лабораторної роботи №3
з дисципліни: «Мережні операційні стстеми»
Лабораторна робота № 3
ТЕМА: Управління вводом/виводом та сенсорною підсистемою в ОС Android
МЕТА: Оволодіти навичками програмування і управління вводом/виводом й сенсорною підсистемою в ОС Android.
Послідовність виконання роботи
1. Ознайомитись з загальними відомостями про управління інтерфейсом користувача в ОС Android.
2. Створити тестову програму на основі програми-прототипу згідно заданого варіанту.
3. Відлагодити та дослідити роботу тестової програми на емуляторі.
4. Знайти відповіді на контрольні запитання.
5. Скласти та захистити звіт з лабораторної роботи.
Завдання
Програма контролю дотиків до сенсорного екрану
Зміст звіту
1. Перелік основних елементів інтерфейсу Android-пристрою.
2. Лістинг тестової програми.
3. Результати виконання тестової програми.
Контрольні питання
1. Принцип роботи сенсорного екрану.
2. Різниця між SingleTouch та MultiTouch.
3. Порядок дій при створенні інтерфейсу користувача в ОС Android.
Хід роботи
Перелік основних елементів інтерфейсу Android-пристрою:
- TextView
- EditText
- Button
- CheckBox
- ImageView
Результат виконання програми(рис.2):
Рис.2 Результат виконання програми
Висновок: Виконавши дану лабораторну роботу я оволодів навичками програмування і управління вводом/виводом й сенсорною підсистемою в ОС Android.
Лістинг програми:
MainActivity:
package com.example.touch2;
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 = "";
/** Called when the activity is first created. */
@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;
}
}
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!