Buhle Bongco Supervisor : Prof Venter Co-Supervisor: Prof Tucker 1. 2. 3. 4. 5. 6. 7. 8. 9. Recap Implementation Progress Challenges Future work Tools Project Plan Demo Q&A • The aim of the project is to help improve medicine compliance of Deaf people. • This application serves as an add on feature on SignSupport where the pharmacist has the option to set a date and time for the patient to consumer their medication with the instructions. Term3 Term4 • Stand alone video “reminder” • Used App Inventor. • Unable to notify the deaf patient when it’s the right time and instruct at the same time • Integrated the reminder onto Sign Support. • Used Android. • Notifies the deaf patient when it is the right time and it comes with a set of instructions to follow • Allow the pharmacist freedom to change and add more or other instructions. • Getting the notification to still notify even when the phone is off. • Aligning the application to run using the time and date of Google calendar. Google calendar does not allow for videos, only text and audio based. • Get the application aligned with Google calendar • Get the application to notify even if it is off • Getting the notification to also produce a flashing light • Getting the notification to repeat again if the deaf patient did not open notification the first time around • Eclipse Juno for developers • Java Development Kit (JDK) and Java Runtime Environment (JRE) • Android Developer Tools (ADT) Android Virtual Device (AVD) Android Real Device(ARD- Samsung S2 in my case) Android SDK Week1 Usability testing Performance testing Acceptance test Multi-user testing Install/uninst all test Alpha testing Beta testing Week2 Week3 Week4 Week5 Week6 • The pharmacist logs-in on SignSupport • Checks the patient details if they are correct • Dispenses medication and the instructions the patient should follow. • The Pharmacist then sets the exact time and date the patient should take the medication. • At the appropriate time the deaf user receives a notification with the instructions to follow Question & Answers • public class DateAndTimeSelector extends Activity{ • DatePicker pickerDate;// This is the date picker used to select the date for our notification • TimePicker pickerTime;// This is the time picker used to select the time for our notification • Button buttonSetAlarm;// The set button once clicked sets the time and date so that a notification is called up • TextView info;// Variable for displaying pieces of information • ImageButton next;// Button for moving to the next page. • final static int RQS_1 = 1; • /** Called when the activity is first created. */ • @Override • protected void onCreate(Bundle savedInstanceState) { • super.onCreate(savedInstanceState); • setContentView(R.layout.activity_main);// this will pull the xml file named activity • next =(ImageButton)findViewById(R.id.imageButton1);//imageButton1 id is pulled and will be accessible when the next button is pressed. • info = (TextView)findViewById(R.id.info);//text is stored as id info and accessible through the name info • pickerDate = (DatePicker)findViewById(R.id.pickerdate);// id pickerdate • pickerTime = (TimePicker)findViewById(R.id.pickertime);// id pickertime • /** The button next is pressed it goes to a method that performs an action when pressed */ • next.setOnClickListener(new View.OnClickListener(){ • public void onClick(View v) { • //myVib.vibrate(100); • goNext(); // method goNext() is called • } • }); • public class AlarmReceiver2 extends BroadcastReceiver { • private static final int MY_NOTIFICATION_ID2 =2; • Notification myNotification2; • NotificationManager notificationManager2; • @Override • • public void onReceive(Context context, Intent intent) { Toast.makeText(context, "Alarm received!", Toast.LENGTH_LONG).show(); • • Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); vibrator.vibrate(5000); • • • • • • • • • • • • • • • • Intent myIntent = new Intent(context, RefresherViewInstructions.class); PendingIntent pendingIntent = PendingIntent.getActivity( context, 0, myIntent, Intent.FLAG_ACTIVITY_NEW_TASK); myNotification2 = new NotificationCompat.Builder(context) .setContentTitle("Notification2!") .setContentText("Follow this instructions to take the correct medication") .setTicker("Notification!") .setWhen(System.currentTimeMillis()) .setContentIntent(pendingIntent) .setDefaults(Notification.DEFAULT_SOUND) .setAutoCancel(true) .setSmallIcon(R.drawable.ic_launcher) .build(); • • notificationManager2 = • (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); • notificationManager2.notify(MY_NOTIFICATION_ID2, myNotification2); • • } • • • • • • • • https://github.com/benbahrenburg/benCoding.AlarmManager http://www.appsrox.com/android/tutorials/remindme/3/#8 http://blog.blundell-apps.com/notification-for-a-user-chosen-time/ http://stackoverflow.com/questions/3226495/android-exit-applicationcode http://stackoverflow.com/questions/6898770/android-multiple-alarms-wpending-intents-how-to-determine-which-intent-is-b http://gitorious.org/0xdroid/packages_apps_alarmclock/source/185d179 74729a98cf48a71ab9f16adaab9d1e1e0:src/com/android/alarmclock/Al armClock.java http://android-er.blogspot.com/2012/05/to-schedule-repeating-alarmcall.html www.cs.uwc.ac.za/~mmotlhabi