Міністерство освіти і науки України
Кіровоградський національний технічний університет
Кафедра програмування та захисту інформації
Дисципліна : Кросплатформені мови програмування
Лабораторна робота №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);