DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Мос лаб. 3

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра ЕОМ / Звіт з лабораторної роботи №3 з предмету «Мережні операційні системи» на тему : «Управління вводом/виводом та сенсорною підсистемою в ОС Android» Львів 2013 Мета роботи: Оволодіти навичками програмування і управління вводом/виводом й сенсорною підсистемою в ОС Android. Основні елементи інтерфейсу Android-пристроїв До основних елементів інтерфейсу Android-пристроїв відносять: Сенсор та його складові: А. Сенсорні кнопки. Б. Сенсорні поля вводу та виводів. В. Інші специфікації сенсорного екрану Android Кнопки керування. Клавіатура, фізична або ж сенсорна. Лістинг тестової програми SingleTouchTest.java package com.badlogic.androidgames; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.TextView; public class SingleTouchTest extends Activity implements OnTouchListener { StringBuilder builder = new StringBuilder(); TextView textView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); textView = new TextView(this); textView.setText("Touch and drag (one finger only)!"); textView.setOnTouchListener(this); setContentView(textView); } @Override public boolean onTouch(View v, MotionEvent event) { builder.setLength(0); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: builder.append("down, "); break; case MotionEvent.ACTION_MOVE: builder.append("move, "); break; case MotionEvent.ACTION_CANCEL: builder.append("cancle, "); break; case MotionEvent.ACTION_UP: builder.append("up, "); break; } builder.append(event.getX()); builder.append(", "); builder.append(event.getY()); String text = builder.toString(); Log.d("TouchTest", text); textView.setText(text); return true; } } MultiTouchTest.java package com.badlogic.androidgames; 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 MultiTouchTest extends Activity implements OnTouchListener { StringBuilder builder = new StringBuilder(); TextView textView; float[] x = new float[10]; float[] y = new float[10]; boolean[] touched = new boolean[10]; private void updateTextView() { builder.setLength(0); for(int i = 0; i < 10; i++) { builder.append(touched[i]); builder.append(", "); builder.append(x[i]); builder.append(", "); builder.append(y[i]); builder.append("\n"); } textView.setText(builder.toString()); } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); textView = new TextView(this); textView.setText("Touch and drag (multiple fingers supported)!"); textView.setOnTouchListener(this); setContentView(textView); } @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction() & MotionEvent.ACTION_MASK; int pointerIndex = (event.getAction() & MotionEvent.ACTION_POINTER_ID_MASK) >> MotionEvent.ACTION_POINTER_ID_SHIFT; int pointerId = event.getPointerId(pointerIndex); switch (action) { case MotionEvent.ACTION_DOWN: case MotionEvent.ACTION_POINTER_DOWN: touched[pointerId] = true; x[pointerId] = (int)event.getX(pointerIndex); y[pointerId] = (int)event.getY(pointerIndex); break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_POINTER_UP: case MotionEvent.ACTION_CANCEL: touched[pointerId] = false; x[pointerId] = (int)event.getX(pointerIndex); y[pointerId] = (int)event.getY(pointerIndex); break; case MotionEvent.ACTION_MOVE: int pointerCount = event.getPointerCount(); for (int i = 0; i < pointerCount; i++) { pointerIndex = i; pointerId = event.getPointerId(pointerIndex); x[pointerId] = (int)event.getX(pointerIndex); y[pointerId] = (int)event.getY(pointerIndex); } break; } updateTextView(); return true; } } KeyTest.java package com.badlogic.androidgames; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent; import android.view.View; import android.view.View.OnKeyListener; import android.widget.TextView; public class KeyTest extends Activity implements OnKeyListener { StringBuilder builder = new StringBuilder(); TextView textView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); textView = new TextView(this); textView.setText("Press keys (if you have some)!"); textView.setOnKeyListener(this); textView.setFocusableInTouchMode(true); textView.requestFocus(); setContentView(textView); } @Override public boolean onKey(View view, int keyCode, KeyEvent event) { builder.setLength(0); switch (event.getAction()) { case KeyEvent.ACTION_DOWN: builder.append("down, "); break; case KeyEvent.ACTION_UP: builder.append("up, "); break; } builder.append(event.getKeyCode()); builder.append(", "); builder.append((char) event.getUnicodeChar()); String text = builder.toString(); Log.d("KeyTest", text); textView.setText(text); if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) return false; else return true; } } Результати виконання програми / Рис. 1 – Виконання одиночного натискання на сенсор / Рис. 2 – Виконання мультинатискання на сенсор / Рис. 3 – Виконання зчитування натискання клавіш Висновки Я оволодів навичками програмування і управління вводом/виводом й сенсорною підсистемою в ОС Android.
Антиботан аватар за замовчуванням

20.02.2014 15:56

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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