ECE497 Project: Twitter Java Application
Team members: David Zitnik
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.
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
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:
Compiling .java files in directory
javac -cp <directory where you saved the twitter4j library>/twitter4j-2.2.5/lib/twitter4j-core-2.2.5.jar <filename>.java
Or compiling all .java files at once
javac -cp <directory where you saved the twitter4j library>/twitter4j-2.2.5/lib/twitter4j-core-2.2.5.jar *.java
Running the application
java -cp <directory where you saved the twitter4j library>/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.
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)
Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.