This past semester I have conducted some research in two of my courses that were conducted with Android. The first is an investigation into the privilege escalation attack on Android where activities or components can access restricted components by proxy. The other project was an attempt to implement a Speeded-Up Robust Features (SURF) object recognition mechanism on Android without relying on the computations being done out in the cloud. In other words, the calculating interest point descriptors is done on the mobile device. Reports for both research projects can be found in experiment documents section for those who are interested.
Sooner or later there will come an instance where one is developing applications on Android and will have to provide some kind of mechanism for making their applications compatible with different hardware platforms. Reasons for using this class can vary from ensuring that the user interface looks proper across different resolutions, changing parameters within algorithms in order to optimize performance, etc. Fortunately, the Android engineers have provided developers the android.os.Build class which can be used to acquire this information. An example of its use is depicted below:
private String TAG = "SSLA";
//Determine the local device info for compatibility
Log.i(TAG, "Device information: \n" +
"Board: " + Build.BOARD + "\n" +
"Brand: " + Build.BRAND + "\n" +
"CPU: " + Build.CPU_ABI + "\n" +
"Device: " + Build.DEVICE + "\n" +
"Display: " + Build.DISPLAY + "\n" +
"Fingerprint: " + Build.FINGERPRINT + "\n" +
"Host: " + Build.HOST + "\n" +
"ID: " + Build.ID + "\n" +
"Manufacturer: " + Build.MANUFACTURER + "\n" +
"Model: " + Build.MODEL + "\n" +
"Product: " + Build.PRODUCT + "\n" +
"Tags: " + Build.TAGS + "\n" +
"Time: " + Build.TIME + "\n" +
"Type: " + Build.TYPE + "\n" +
"User: " + Build.USER);
//Example application of using the Build class.
if ((Build.MODEL.equals("T-Mobile G1"))
|| (Build.MODEL.equals("HTC Dream"))
|| (Build.MODEL.equals("Era G1")))//T-Mobile G1 or HTC Dream
slideRate = 6;
else if (Build.MODEL.equals("Nexus One"))//Google Nexus One
slideRate = 4;
else//Default sliding background rate.
slideRate = 4;
The giant log statement produces the following output on the DDMS Logcat:
We offered a 3-week course on Android Application development during 6/14/10 to 7/2/10 to 28 high school students, primarily from the Palm Beach and Broward school counties. A team of four faculty members (two each with background in engineering and arts/graphics), six engineering/business student mentors, and an administrator supported the intense effort. The students formed nine teams and presented their applications on 7/2 to a panel of eight judges (with background in engineering, business, and/or graphics). The students received scholarship amounts of $2,400 to $300 per group, depending upon their team rankings. One of these Applications will be posted on the Android market soon, while another six of them will be improved upon further before posting them. These Applications are available for licensing and further improvement. For photographs of the event, see FAU Facebook Group.
We plan to offer two Android courses in the fall’10 semester. The first one, entitled “Software-Hardware CoDesign” will have groups of 3 students who will develop marketable game/social applications on Android. The second course, entitled “Android Robotics” will focus on physical computing. In this latter course, the goal is to develop applications that can coordinate and control the activities of autonomous and concurrent robots.
Please contact me for more information. Thank you.
Press: Nurturing Young Minds
-Dr. Ravi Shankar.
Group 1: Zubir Husein, Ravik Samaroo, and Devon Smith
Group 2: Dhaval Khamar, Adityanarayanan Radhakrishnan, and Suneel Viralam
Group 3: Samantha Lebofsky, Dorian Rossi, Kevin Stepanek, and John Trimble
Group 4: Chase Perez, Matthew Rhon, and Steven Roth
Group 5: Joseph Ryan, Sergio Ruiz, and Noah Spenser
Group 6: Bryan Bravo, Darin Singh, and Gregory Tobar
Group 7: Michael Capone, Christina Dixon, and Cynthia Hodge-Thorne
Group 8: Rixon Fletcher, Albin Matthew, and Akilah Somersall
Group 9: Jett Anderson, Aaron Klier, and Samuel Nason
At the beginning of this week we kicked off our Engineering Scholar’s Program course, Mobile Applications for Google’s Android. This course is designed to provide ambitious, high-achieving high school students an opportunity to develop Android applications for dual-enrollment credit and scholarship awards. So far most of the students seem enthusiastic and excited as we encrouage them to methodically conceptualize a product and mentor them with the development process. This past week proved very busy especially since we asked students to also meet with us on their off-days of Tuesday and Thursday in order to help them flesh out the details of their conceptual development work.
On Monday we went over some standard introductory activites followed by lectures of concept development, project management basics by a business mentor, Skender Fani, a portfolio of available applications which the students can extend, had Professors McAfee and Silva demonstrate a “before and after” evolution of our PingPong example and ended with sessions where we helped them with the Eclipse integrated development environment (IDE) installations and how to use its basic operations. Efforts in concept development were furthered by having some of the students meet with Professors Shankar and Silva as well as our computer engineering/science mentors on the following day.
During Wednesday morning the students were able to show powerpoint presentations of their application storyboards which were a result of their conceptual development work. In the afternoon our FAU Android group demonstrated the basics of Android concepts and touched on some implementation examples followed by Professor McAfee’s demonstration of editing video with the use of Camtasia Studio and Professor Silva’s lecture of using some basic functions of Adobe Photoshop to edit or create artwork. Before adjourning for the day students were suggested to take advantage of Professor McAfee’s expertise in video editing on the following Thursday which many of the students did.
I have posted every available student video presentation for our Software-Hardware Codesign with Android course from the Spring 2010 semester. You can check them out at our student works page. Each of these applications were created by our students using software development tools provided by Android which are free to download to the public. In addition, video presentations were made and compiled together with the help of Marc Kozlin, our communications director in the College of Engineering Dean’s office and the Techsmith corporation for providing Florida Atlantic University access to Camtasia Studio.