New Project
I think a larger project that would be fun is a dating/compatibility mobile application. People are always looking for new and exciting ways to find dates. Its like internet dating meets mobile...after all wouldn't it save all the hassle of asking the same beginning questions over and over again to different people in the same room. Lets just cut to the chase and talk to the one we're compatible with.I envision an application where a person enters their profile including information about themselves and their ideal mate. The application then uses bluetooth technology to scan the room for potential matches to their ideal mate....returning a percentage rating of the people you are most compatible with and their phone name. You can then send them via bluetooth your picture or additional information or an sms to meet up in that location if you're sooo bold, and if you both included that option; or for our shy folks they can send an anonymous message until they feel comfortable revealing their identity.
APIs:
Bluetooth
Mobile Media
Wireless Messaging
J2ME Web Services
Part 2
This is my simple idea from last week showing the sms smiley home page interface and alert after a selection is made:import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class TravelList
extends MIDlet
implements CommandListener{
private List mList;
private Command mExitCommand, mNextCommand;
public TravelList(){
String[] stringElements = {"Send New SMS", "Use Template", "Create New Smiley"};
Image[] imageElements = {loadImage("/new.PNG"), loadImage("/template.PNG"), loadImage("/smiley.PNG")};
mList = new List("SMS Smiley", List.IMPLICIT, stringElements, imageElements);
mNextCommand = new Command("Next", Command.SCREEN, 0);
mExitCommand = new Command("Exit", Command.EXIT, 0);
mList.addCommand(mNextCommand);
mList.addCommand(mExitCommand);
mList.setCommandListener(this);
}
public void startApp(){
Display.getDisplay(this).setCurrent(mList);
}
public void commandAction(Command c, Displayable s) {
if (c == mNextCommand || c == List.SELECT_COMMAND) {
int index = mList.getSelectedIndex();
Alert alert = new Alert("Your selection", "You chose " + mList.getString(index) + ".", null, AlertType.INFO);
Display.getDisplay(this).setCurrent(alert, mList);
}
else if (c == mExitCommand)
notifyDestroyed();
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
private Image loadImage(String name) {
Image image = null;
try {
image = Image.createImage(name);
}
catch (IOException ioe) {
System.out.println(ioe + "can't find image");
}
return image;
}
}
JAD file
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class TravelList
extends MIDlet
implements CommandListener{
private List mList;
private Command mExitCommand, mNextCommand;
public TravelList(){
String[] stringElements = {"Send New SMS", "Use Template", "Create New Smiley"};
Image[] imageElements = {loadImage("/new.PNG"), loadImage("/template.PNG"), loadImage("/smiley.PNG")};
mList = new List("SMS Smiley", List.IMPLICIT, stringElements, imageElements);
mNextCommand = new Command("Next", Command.SCREEN, 0);
mExitCommand = new Command("Exit", Command.EXIT, 0);
mList.addCommand(mNextCommand);
mList.addCommand(mExitCommand);
mList.setCommandListener(this);
}
public void startApp(){
Display.getDisplay(this).setCurrent(mList);
}
public void commandAction(Command c, Displayable s) {
if (c == mNextCommand || c == List.SELECT_COMMAND) {
int index = mList.getSelectedIndex();
Alert alert = new Alert("Your selection", "You chose " + mList.getString(index) + ".", null, AlertType.INFO);
Display.getDisplay(this).setCurrent(alert, mList);
}
else if (c == mExitCommand)
notifyDestroyed();
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
private Image loadImage(String name) {
Image image = null;
try {
image = Image.createImage(name);
}
catch (IOException ioe) {
System.out.println(ioe + "can't find image");
}
return image;
}
}
JAD file
Part 3
I used flashlite to extend my simple program above. Far from being done but its on its way.
See app here
See app here