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

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

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

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

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

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

Міністерство освіти і науки України Національний університет «Львівська політехніка» Кафедра ЕОМ / Лабораторна робота №3 з предмету: «Мережні операційні системи» на тему: «Управління вводом/виводом та сенсорною підсистемою в ОС Android» Мета роботи: Оволодіти навичками програмування і управління вводом/виводом й сенсорною підсистемою в ОС Android. Теоретичні відомості: Принцип роботи сенсорного екрану. Є два типи сенсорного екрану: Резистивні сенсорні екрани Коли на екран натискають, панель і мембрана замикаються, і контролер за допомогою аналогово-цифрового перетворювача реєструє зміну опору і перетворює його в координати дотику. У загальних рисах алгоритм зчитування такий: На верхній електрод подається напруга +5, нижній заземляется. Лівий з правим з'єднуються накоротко і перевіряється напруга на них. Це напруга відповідає Y-координаті екрану. Аналогічно на лівий і правий електрод подається + 5В і «земля», з верхнього та нижнього зчитується X-координата. / Матричні сенсорні екрани Конструкція аналогічна резистивной, але спрощена до межі. На скло нанесені горизонтальні провідники, на мембрану - вертикальні. При дотику до екрану провідники стикаються. Контролер визначає, які провідники замкнулися, і передає в мікропроцесор відповідні координати. / Перелік основних елементів інтерфейсу Android-пристрою. Графічний інтерфейс користувача для Android програми побудований з використанням ієрархії View і ViewGroup об'єктів. View об'єкти, як правило - це UI віджети, такі як кнопки або текстові поля і ViewGroup, а також невидимі контейнери, які визначають, як будуть використовуватись child-елементи, наприклад, у сітці або вертикальному списку. Android надає XML-словник, який відповідає підкласам View і ViewGroup, тому ви можете визначити свій користувальницький інтерфейс в XML, використовуючи ієрархію елементів інтерфейсу користувача. Рисунок ілюструє, як ViewGroup об'єкти утворюють філії в макеті і містять інші View об'єкти. Основними елементами інтерфейсу Android пристрою є: кнопки, списки, текстові поля вводу, текстові поля виводу, radio button, check button, progress bar, data picker, rating bar та інші. Платформа для інтерфейсу користувача Android заснована на обробці дотиків. Пристрої Android оснащуються сенсорними екранами, тому android додатки повинні добре підтримувати сенсорний ввід. У режимі сенсорного введення зазвичай немає фокусу і вибраного елемента, а при перемиканні на інші режими (наприклад: режим списку) і назад фокус і вибраний елемент можуть зникати і знову з'являтися. Винятком є ​​сфокусований режим сенсорного введення. Кнопки і віджети повинні бути досить великими, щоб їх можна було вибрати дотиками. Лістинг тестової програми: MainActivity.java package ua.mos.lab3; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.RadioGroup; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener{ LinearLayout llMain; RadioGroup rgGravity; EditText etName; Button btnCreate; Button btnClear; int wrapContent = LinearLayout.LayoutParams.WRAP_CONTENT; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); llMain = (LinearLayout) findViewById(R.id.llMain); rgGravity = (RadioGroup) findViewById(R.id.rgGravity); etName = (EditText) findViewById(R.id.etName); btnCreate = (Button) findViewById(R.id.btnCreate); btnCreate.setOnClickListener(this); btnClear = (Button) findViewById(R.id.btnClear); btnClear.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btnCreate: LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams( wrapContent, wrapContent); int btnGravity = Gravity.LEFT; switch (rgGravity.getCheckedRadioButtonId()) { case R.id.rbLeft: btnGravity = Gravity.LEFT; break; case R.id.rbCenter: btnGravity = Gravity.CENTER_HORIZONTAL; break; case R.id.rbRight: btnGravity = Gravity.RIGHT; break; } lParams.gravity = btnGravity; Button btnNew = new Button(this); btnNew.setText(etName.getText().toString()); llMain.addView(btnNew, lParams); break; case R.id.btnClear: llMain.removeAllViews(); Toast.makeText(this, "Видалено", Toast.LENGTH_SHORT).show(); break; } } } main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Розміщення тексту:" android:textAppearance="?android:attr/textAppearanceMedium" /> <RadioGroup android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="vertical" android:id="@+id/rgGravity"> <RadioButton android:layout_height="wrap_content" android:layout_width="wrap_content" android:checked="true" android:text="Зліва" android:id="@+id/rbLeft"> </RadioButton> <RadioButton android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="По центрі" android:id="@+id/rbCenter"> </RadioButton> <RadioButton android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Зправа" android:id="@+id/rbRight"> </RadioButton> </RadioGroup> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Введіть текст:" android:textAppearance="?android:attr/textAppearanceMedium" /> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="wrap_content"> <EditText android:id="@+id/etName" android:layout_width="match_parent" android:layout_height="wrap_content" android:fadeScrollbars="true" > </EditText> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Додати" android:id="@+id/btnCreate"> </Button> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Видалити" android:id="@+id/btnClear"> </Button> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/llMain" android:orientation="vertical" > </LinearLayout> </LinearLayout> Результати виконання програми: / Висновок: На цій лабораторні роботі я навичками програмування і управління вводом/виводом й сенсорною підсистемою в ОС Android.
Антиботан аватар за замовчуванням

28.02.2015 15:02-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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