ECE497 Project: Twitter Java Application

Team members: David Zitnik

Executive Summary
For my final project I would like to develop and compile Java code on the BeagleBoard to create an application for Twitter that allows a user to sign in from the Beagle and post tweets using the Java Twitter API called Twitter4J.

Currently I have a graphical interface built using the Java Swing library. The user can log in to his or her twitter account using twitters external authentication and then will be able to see their profile picture, screen name, and current status. This status can be updated as well as users can be searched for to have their profile pictures and status displayed below.

Installation Instructions
Install the Java Development Kit on the beagle

opkg install openjdk-6-jdk

Download the Twitter4j Library from:

http://twitter4j.org/en/index.html

Extract the zip file into a directory of your choice

Git Location:

https://github.com/Zitnikdj/BeagleTweet

User Instructions
I compile and run my code on the beagle using the Open JDK6 and using the commands assuming the file Main.java has my main method in it and .java files are using the Twitter4j library:

Compiling .java files in directory

javac -cp /twitter4j-2.2.5/lib/twitter4j-core-2.2.5.jar .java

Or compiling all .java files at once

javac -cp /twitter4j-2.2.5/lib/twitter4j-core-2.2.5.jar *.java

Running the application

java -cp /twitter4j-2.2.5/lib/twitter4j-core-2.2.5.jar:. Main

Theory of Operation
The application is built using a basic Java Swing interface for the GUI but behind it is a server communication with the twitter authentication servers to log in a user using their OAuthentication keys. The application then uses server requests to pull down information and pictures to display them in the GUI from the Twitter4j library.

Work Breakdown
Developed Graphical Interface using Java Swing library

Learned how to compile Java code on the command line on the BeagleBoard

Learned how to do basic interfacing with the Twitter Java API (Twitter4j)

Conclusions
The project was more of a learning experience then originally thought of by learning a new API for Java. If given more time I would have liked to get more features and to somehow bypass the external authentication through twitters website.