FAU Android

FAU's local android experts!

Fall 2016 Update: Healthcare, Museum, and Platform Independent Apps

Posted by shankar December - 5 - 2016 - Monday Comments Off

Engineering undergraduates from computer engineering, computer science, and electrical engineering worked in teams during spring 2016 to develop healthcare apps that integrated one of the following with Android Apps: e-health shield based biosensors, augmented reality, or interface to WorldVista EMR. The apps can be found here: https://github.com/HealthCareApps . The teams also had student partners from nursing and digital multi-media. Dr. Teresa Sakraida, Associate Professor, Nursing, and Prof. Francis McAfee, Associate Professor, School of Communications and Multi-Media offered concurrent courses to their students and had their students collaborate with engineering students in developing these healthcare apps. During Summer 2016, the second group of high school students from Broward County worked in groups of 3 to realize their museum exhibit apps conceptualized during their 9 month internship at the Museum of Discovery and Science (MODS), Ft. Lauderdale, FL. MODS recruited top students in Broward county with a grant from the United Way. These apps can be found here: https://github.com/MODS16Apps . During Fall 2016, we moved to develop a flow that would unite app development for both Android and iPhone, which can also benefit other mobile operating systems. This is based on JavaScript for both client and server side, and allows browser-based launch of apps. Thus, it becomes platform independent. We used a very well-written book (“Building Cross-Platform Mobile and Web Apps for Engineers and Scientists” by Pawan Lingras) in this course. Our healthcare apps can be found here: https://github.com/FAUMobileWeb. During Spring 2017, a graduate course is being offered that integrates this platform independent app development with content search on the web for semantically marked up healthcare data, to make the apps more useful and relevant. There is a good framework based on UMLS (Unified Medical Language System) that will be integrated.

Summer 2015 Updates

Posted by shankar May - 9 - 2015 - Saturday Comments Off

We have started consolidating all the Apps at a Github site. Here is the  link: https://github.com/RShankar?tab=repositories . This became difficult to navigate. So, multiple theme-based Github sites are being developed. More info to be included soon.

Our paper on the use of the semantic web for  multidisciplinary app development  is scheduled for presentation at the 122nd Annual ASEE conference in Seattle, WA, in June 2015.  The paper is entitled: Searching the World Wide Web – Finding the Right Information the First Time .”  It is co-authored by K. Donate, a MSCS student, and by three professors involved in the collaboration: Dr. R. Shankar, Dr. D. Mitsova-Boneva, and Prof. Francis McAfee, respectively from engineering, urban planning, and digital arts. Ms. Donate developed a semantic web search tool based on the feedback from  students in arts, engineering, and urban planning, who collaborated to develop urban planning Apps during fall 2013. These apps are found here: https://bitbucket.org/shankarfau/profile/teams

Undergraduate students in fall ’14 developed apps on empowerment of middle school students to pursue STEM careers. These apps can be found at the above cited repository. This work on empowerment is being pursued by Sifat Islam, a PhD candidate in engineering;  Melissa Serrano, a MSCS student in engineering; and Iris Minor, a PhD candidate in education. Here is the link to their work: https://github.com/EmpowerMe .

Two three-week summer courses are planned for this summer for 11th and 12th grade students. The first one in June ’15 will have 10 groups of 3 students each focus on improving top empowerment apps from last fall in three specific areas: animation, visualization, and analytics. The second one in July ’15, funded by the Museum of Discovery and Science, Ft. Lauderdale, FL, will focus on citizen science apps that we developed an year ago. Top Apps from summer’14will be improved based on the experiences of 30 high school students who interned at the museum over the past one year. We expect the enhancements will be related to epistemology, museum experience, and curriculum linkages.

DIS/MS theses topics for summer and fall 2015: The list is provided here. If you are interested, please contact Dr. Shankar at shankar@fau.edu

Launch a Processing Android App from an Eclipse Android App: Method 2 – Using Broadcast Intents

Posted by Victor E. Gallego October - 26 - 2014 - Sunday Comments Off

To launch an app made using Processing from an app made using Eclipse, for this method we first need to export our processing application as shown in method 1.  From here we need to import it into our Eclipse environment.  Add a new java file for your broadcast receiver called “MyBroadcastReceiver.java”.  See below:

In the MyBroadcastReceiver.java file put the following code:

package processing.test.collect_accelerometer_data;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;


public class MyBroadcastReceiver extends BroadcastReceiver {
    public MyBroadcastReceiver() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {
		
		
        if (intent.getAction().equals("edu.fau.android.mybroadcast")) {
	        Intent i = new Intent(context, collect_accelerometer_data.class);
	        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
	        context.startActivity(i);
        }
    }
		
}

The name of the package and Activity to launch will vary, but for the most part this code can be used in any other application.  This code uses the broadcast receiver’s onReceive method to launch a specific Activity when it receives a broadcast with the action “edu.fau.android.mybroadcast”.  The broadcast receiver cannot be used in the application until it is registered in the AndroidManifest file. Within the application tags of the file place the following xml code:


<receiver android:name="MyBroadcastReceiver">
      	<intent-filter>
            <action android:name="edu.fau.android.mybroadcast" />
      	</intent-filter>    
 </receiver>

This code filters intents of a specific action and calls the appropriate BroadcastReceiver’s onReceive method.

The receiver part is now complete.  If you would like to send a broadcast to the receiver use the following code in a button click method or similar method:


public void launchApp(View v){
		
	Intent intent = new Intent();
	intent.setAction("edu.fau.android.mybroadcast");
	sendBroadcast(intent); 
				
}

Download the source code at the bottom of this post.

processing_exported_collect_acc_data
eclipse_app_launcher_method_2

To launch an app made using Processing from an app made using Eclipse, for this method we first need to identify the package name for our Processing app.  To do this, simply export your Processing app using the “Export Android Project” file menu item.

Once the project is exported, open the AndroidManifest file and copy down your package value.   In this example it will be:

“processing.test.collect_accelerometer_data”

Now in our Eclipse Android application we can place the following code in our button click method for our example application:


public void launchApp(View v){
		
    Intent LaunchIntent = getPackageManager()
    .getLaunchIntentForPackage("processing.test.collect_accelerometer_data");
    startActivity(LaunchIntent);
				
}

Here we use the package manager to get the launch intent of our processing app, then start a new activity with that launch intent.

 

Download the source code at the bottom of this post.

processing_collect_accelerometer_data

eclipse_app_launcher_method_1

Writing to NFC Tags

Posted by Victor E. Gallego October - 18 - 2014 - Saturday Comments Off

Use the TagWriter app from NXP to write data to NFC tags.  It can be found in the Google Play store for free here:

https://play.google.com/store/apps/details?id=com.nxp.nfc.tagwriter

 

 

To get started select the “Create, write and store” option.

Then, select the “New” option at the top.

 

Then, scroll down and select the “URI” option.

 

Here, we fill in the URI field.  For use with the Aquarium app for the MODS Ecoscapes we would enter something like the following:

mods://mods.fau.edu/ecoscapes/livingreef/

You can substitute “livingreef” in the URI string with any of the following:

 sharktank

lobstertank

poisontank

artificialreef

schooltank

blindtank

horseshoe
See the MODSApp’s MainMenu.java for the full list.
Once entered, select the “Next” button on the bottom of the screen.

Now the tag is ready to be written to, simply place the device on top of the tag.  It should write to the tag very quickly.  The NFC tag will now launch the appropriate screen in the Aquarium app.