Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Кіровоградський національний технічний університет
Кафедра програмування та захисту інформації
Дисципліна : Кросплатформені мови програмування
Лабораторна робота №3
Тема: Основи розробки багато екранного мобільного ПЗ
МЕТА: Отримати практичні навики розробки мобільних програм під
керуванням ОС ANDROID.
ЗНАТИ: Основи Eclipse чи Android Studio
ЗАВДАННЯ: Використовуючи наявну електронну документацію створити мобільне ПЗ під керуванням ОС Android. Яке складається з трьох кнопок. При натискання на кнопку №1 відбувається перехід на новий екран в якому відтворюється інформація про поточну дату (формат на вибір). З даного екрану також можна повернутися в попередній. При натискання на кнопку №2 відбувається перехід на новий екран в якому відтворюється інформація про поточний час (формат на вибір). З даного екрану також можна повернутися в попередній.
При натискання на кнопку №3 розроблене ПЗ завершує свою роботу.
package com.nick.krossplatform_laba_3;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
Button firstButton = (Button) findViewById(R.id.firstButton);
Button secondButton = (Button) findViewById(R.id.secondButton);
Button thirdButton = (Button) findViewById(R.id.thirdButton);
firstButton.setOnClickListener(time);
secondButton.setOnClickListener(date);
thirdButton.setOnClickListener(exit);
}
public void SecondScreen(View v) {
Intent intObj = new Intent(this, SecondActivity.class);
startActivity(intObj);
}
public void ThirdScreen(View v) {
Intent intObj = new Intent(this, ThirdActivity.class);
startActivity(intObj);
}
View.OnClickListener time = new View.OnClickListener() {
@Override
public void onClick(View view) {
SecondScreen(view);
}
};
View.OnClickListener date = new View.OnClickListener() {
@Override
public void onClick(View view) {
ThirdScreen(view);
}
};
View.OnClickListener exit = new View.OnClickListener() {
@Override
public void onClick(View v) {
System.exit(0);
}
};
}
package com.nick.krossplatform_laba_3;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.widget.TextView;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Calendar c = Calendar.getInstance();
System.out.println("Current time => "+c.getTime());
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
String formattedDate = df.format(c.getTime());
TextView txtView = new TextView(this);
txtView.setText("Поточна дата: "+formattedDate);
txtView.setGravity(Gravity.CENTER);
txtView.setTextSize(20);
setContentView(txtView);
}
}
package com.nick.krossplatform_laba_3;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.widget.TextView;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class ThirdActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third);
Calendar c = Calendar.getInstance();
System.out.println("Current time => "+c.getTime());
SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
String formattedDate = df.format(c.getTime());
TextView txtView = new TextView(this);
txtView.setText("Поточна година: "+formattedDate);
txtView.setGravity(Gravity.CENTER);
txtView.setTextSize(20);
setContentView(txtView);
}}
КОНТРОЛЬНІ ЗАПИТАННЯ
1. Навіщо потрібен LinearLayout – вирівнює всі дочірні об'єкти в одному напрямку - вертикально або горизонтально.
2. Навіщо потрібен TableLayout – вирівнює всі об’єкти за таблицею.
3. Навіщо потрібен RelativeLayout – це view group, яка має в своєму розпорядженні на екрані дочірні view певним чином щодо інших елементів.
4. Навіщо потрібен AbsoluteLayout – означає що кожен елемент верстки матиме абсолютну позицію щодо верхнього лівого кута екрана задається за допомогою координат x і y.
5. Які існують види Layouts. Ключові відмінності і властивості – LinearLayout, TableLayout, RelativeLayout, AbsoluteLayout, в кожному з них виконується розмітка за своїми параметрами.
6. Що таке абсолютне значення – це значення за замовчуванням яке є початком відліку.