Міністерство освіти і науки України
Кіровоградський національний технічний університет
Кафедра програмування та захисту інформації
Дисципліна : Кросплатформені мови програмування
Лабораторна робота №5
Тема: Основи роботи зі списками даних
МЕТА: Отримати практичні навики розробки мобільних програм під
керуванням ОС ANDROID.
ЗНАТИ: Основи Eclipse чи Android Studio
ЗАВДАННЯ: Використовуючи наявну електронну документацію створити мобільне ПЗ під керуванням ОС Android. Яке складається з списку (ListView). В списку відтворюється наступна інформація: будь-які текстові дані в правій частині екрану рядка і будь-яка картинка в лівій частині екрану цього ж рядка. Список повинен містити не менше десяти рядків з описаними вище даними. При натисненні на рядок або на один з його елементів потрібно показати користувачу інформацію по обраному рядку (Toast message).
package com.nick.krossplatform_laba_5;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ListView;import android.widget.Toast;public class MainActivity extends Activity{ private ListView listView1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Weather weather_data[] = new Weather[] { new Weather(R.drawable.weat_1, "Солнечно"), new Weather(R.drawable.weat_2, "Дождь"), new Weather(R.drawable.weat_3, "Снег"), new Weather(R.drawable.weat_4, "Пасмурно"), new Weather(R.drawable.weat_5, "Облачно"), new Weather(R.drawable.weat_6, "Град"), new Weather(R.drawable.weat_7, "Гроза"), new Weather(R.drawable.weat_8, "Шторм"), new Weather(R.drawable.weat_9, "Ветрено"), new Weather(R.drawable.weat_10, "Снег с доджем") }; WeatherAdapter adapter = new WeatherAdapter(this, R.layout.listview_item_row, weather_data); listView1 = (ListView) findViewById(R.id.listView1); View header = (View) getLayoutInflater().inflate(R.layout.listview_header_row, null); listView1.addHeaderView(header); listView1.setAdapter(adapter); listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(MainActivity.this, "Вы выбрали " + (position) + " елемент списка", Toast.LENGTH_SHORT).show();}});}}
КОНТРОЛЬНІ ЗАПИТАННЯ
1. Як використовувати один обробник для декількох View-елементів – за допомогою switch/case.
2. Навіщо потрібна папка res/values, що в ній можна зберігати і як використовувати – у цій папці зберігаються ресурсні файли xml, наприклад файли кольору, id, стиль і т.д.
3. Що таке Log дані та випливаючи повідомлення – це дані які тимчасово відображаються на екрані щоб повідомити користувача.
4. Як малювати екран програмно, а не через layout-файл – LinearLayout linLayout = new LinearLayout(this);
5. Як додавати компоненти на екран прямо з програми – Button btn = new Button(this); btn.setText("Button"); linLayout.addView(btn, lpView);