Documente Academic
Documente Profesional
Documente Cultură
Pam 2
Pam 2
Raport
Lucrare de laborator Nr.2
La Programarea aplicațiilor mobile
A efectuat:
st. gr. SI-151 Țurcan Tudor
Chişinău 2017
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent neo = new Intent(MainActivity.this, AddActivity.class);
startActivity(neo);
}
});
Butonul “My Tasks” deschide o noua activitate care contine o lista de task-uri care trebuie
executate de catre utilizator. Codul butonului „My tasks”.
update = (Button) findViewById(R.id.btnEdit);
update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent nou = new Intent(MainActivity.this, UpdateActivity.class);
startActivity(nou);
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add);
@Override
public void onClick(View view) {
Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
Calendar c = Calendar.getInstance();
hour = c.get(Calendar.HOUR_OF_DAY);
minute = c.get(Calendar.MINUTE);
TimePickerDialog timePickerDialog = new
TimePickerDialog(AddActivity.this, AddActivity.this,
hour, minute, DateFormat.is24HourFormat(this));
timePickerDialog.show();
}
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
hourFinal = i;
minuteFinal = i1;
tv_result.setText("year: " + yearFinal+ "month: " + monthFinal +
"day: " + dayFinal+
"hour: " + hourFinal + "minute: " + minuteFinal);
}
}
Fig.5 Date Picker Dialog Fig.6 Time Picker Dialog
La selectarea butonului „My Tasks” se deschide o noua activitate care contine o lista cu task-uri
pe care utiliatorul si le programeaza pentru un anumit timp (figura 7).
Fig.7 List View cu itemi inscrisi.
Activitatea mai contine un Text Edit pentru introducerea textului si butonul „Add Item” pentru
adaugarea task-ului in lista. Codul pentru „List View”care contine functiile de adaugare, citire si
salvare in lista pentru citirea itemilor dupa inchiderea si restartarea aplicatiei dar si eliminarea
unui item.
private ArrayList<String> items;
private ArrayAdapter<String> itemsAdapter;
private ListView lvItems;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update);
lvItems = (ListView) findViewById(R.id.lvItems);
items = new ArrayList<>();
readItems();
itemsAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1, items);
lvItems.setAdapter(itemsAdapter);
setupListViewListener();
}
Concluzia: La efectuarea acestei lucrari de laborator s-a facut cunostinta cu functii de salvare,
adaugare si stergere a unui element din lista. La fel a fost facuta cunostinta cu posibilatea de a
crea un dialog care contine data si timpul. A fost studiata si aplicata in practica crearea di
deschiderea unor activitati noi in cadrul aplicatiei create.
Bibliografie:
• https://developer.android.com/reference/android/app/AlarmManager.html
• https://guides.codepath.com/android/Starting-Background-Services
• https://guides.codepath.com/android/Notifications
• https://guides.codepath.com/android/Interacting-with-the-Calendar
• https://guides.codepath.com/android/Basic-Todo-App-Tutorial
Anexa A
Codul sursa pentru fisierul „activity_main.xml”
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:orientation="vertical"
tools:context="com.example.denisg.mydailyplanner.MainActivity"
android:weightSum="1">
<GridLayout
android:layout_width="350dp"
android:layout_height="50dp"
android:layout_weight="0.34">
<EditText
android:id="@+id/search_bar"
android:text=""
android:layout_width="240dp"
android:hint="Type here"
/>
<Button
android:id="@+id/search_btn"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="Search"
android:textAlignment="center"
tools:layout_editor_absoluteX="290dp"
tools:layout_editor_absoluteY="16dp"
/>
</GridLayout>
<CalendarView
android:id="@+id/imageView"
android:layout_width="330dp"
android:layout_height="300dp"
android:showWeekNumber="false"
/>
<Button
android:id="@+id/btnAdd"
android:layout_width="345dp"
android:layout_height="45dp"
android:text="Date&Time"
tools:layout_editor_absoluteX="25dp"
/>
<Button
android:id="@+id/btnEdit"
android:layout_width="345dp"
android:layout_height="45dp"
android:text="My tasks"
tools:layout_editor_absoluteX="25dp"
tools:layout_editor_absoluteY="332dp" />
<Button
android:id="@+id/btnAlarm"
android:layout_width="345dp"
android:layout_height="45dp"
android:text="Alarm manager"
tools:layout_editor_absoluteX="23dp"
tools:layout_editor_absoluteY="441dp" />
</LinearLayout>
Anexa B
Codul sursa pentru fisierul ”MainActivity.java”
package com.example.denisg.mydailyplanner;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent neo = new Intent(MainActivity.this,
AddActivity.class);
startActivity(neo);
}
});
update = (Button) findViewById(R.id.btnEdit);
update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent nou = new Intent(MainActivity.this,
UpdateActivity.class);
startActivity(nou);
}
});
Anexa C
Codul sursa pentru fisierul “activity_add.xml”
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:orientation="vertical"
tools:context="com.example.denisg.mydailyplanner.AddActivity"
android:weightSum="1">
<TextView
android:id="@+id/tv_result"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:textAlignment="center" />
<Button
android:id="@+id/btn_pick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="Pick Date/Time"
android:layout_centerHorizontal="true" />
</RelativeLayout>
Anexa D
Codul sursa pentru fisierul „AddActivity.java”
package com.example.denisg.mydailyplanner;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.format.DateFormat;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
import java.util.Calendar;
Button b_pick;
TextView tv_result;
int day, month, year, hour, minute;
int dayFinal, monthFinal, yearFinal, hourFinal, minuteFinal;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add);
@Override
public void onClick(View view) {
Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
Calendar c = Calendar.getInstance();
hour = c.get(Calendar.HOUR_OF_DAY);
minute = c.get(Calendar.MINUTE);
TimePickerDialog timePickerDialog = new
TimePickerDialog(AddActivity.this, AddActivity.this,
hour, minute, DateFormat.is24HourFormat(this));
timePickerDialog.show();
}
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
hourFinal = i;
minuteFinal = i1;
tv_result.setText("year: " + yearFinal+ "month: " + monthFinal +
"day: " + dayFinal+
"hour: " + hourFinal + "minute: " + minuteFinal);
}
}