Sunteți pe pagina 1din 4

Ministerul Educației, Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare Informatica si Microelectronica

Raport
Lucrarea de laborator Nr.1

Disciplina: Programarea aplicațiilor mobile


Tema: Organiser Mobile Application
Lucrarea Nr.2

A îndeplinit Botnaru Alexandru


A controlat Rusu Cristian

Chișinău 2021
Condiții:

UI Components
   Aplicația va conține minim 3 Activități de baza care vor fi numerotate în lucrare sub forma:
1. MainActivity (structura/componente)

 Calendar View (custom or default)


 Buttons (Add/Remove/Update)
 Căutare (caută conform cuvintelor cheie)

2. AddActivity

 Data/Time controller
 Info TextBox
 Buttons
 și altele (la discreție conform specificului aplicației)

3. UpdateActivity - practic e una și aceeași activitate de la Add, doar ca completata deja.

   Datele operaționale din interiorul aplicației vor fi stocate în fișier/e XML forma cărora rămâne la discreția 
personală. (cuvinte cheie, XML Serialization).

Logical/Operational Component

   Toate evenimentele și acțiunile de notificare/semnalizare (sonore/vizuale) intreprinse în Organiser


vor fi tratate într-un serviciu aparte, care logic funcțional va extrage datele din acel fișier XML.

Codul-sursa :

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.laboratorul_2">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Activities.UpdateEventActivity"></activity>
<activity android:name=".Activities.AddEventActivity" />
<activity android:name=".Activities.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />


</intent-filter>
</activity>
<receiver android:name=".Alarm.AlertReceiver"/>
</application>

</manifest>
Activitatile:
Codul-sursa pentru transmiterea notificatiei

public class NotificationHelper extends ContextWrapper {


public static final String channelID = "channelID";
public static final String channelName = "Channel Name";

private NotificationManager mManager;

public NotificationHelper(Context base) {


super(base);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
createChannel();
}
}

@TargetApi(Build.VERSION_CODES.O)
private void createChannel() {
NotificationChannel channel = new NotificationChannel(channelID, channelName,
NotificationManager.IMPORTANCE_HIGH);

getManager().createNotificationChannel(channel);
}

public NotificationManager getManager() {


if (mManager == null) {
mManager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
}

return mManager;
}

public NotificationCompat.Builder getChannelNotification(String title, String task)


{
return new NotificationCompat.Builder(getApplicationContext(), channelID)
.setContentTitle("Time: " + title)
.setContentText("Event: " + task)
.setSmallIcon(R.drawable.ic_android);
}
}

public class AlertReceiver extends BroadcastReceiver


{
@Override
public void onReceive(Context context, Intent intent)
{
NotificationHelper notificationHelper = new NotificationHelper(context);
NotificationCompat.Builder nb =
notificationHelper.getChannelNotification(intent.getStringExtra("time"),
intent.getStringExtra("task"));
notificationHelper.getManager().notify(1, nb.build());
}
}

S-ar putea să vă placă și