private void showMainForm() mainForm = new Form("Facebook 240x320"); mainForm.append("Welcome, User!\n"); mainForm.append("Latest updates:\n\n"); feedList = new List("News Feed", List.IMPLICIT); for (int i = 0; i < authors.size(); i++) String item = authors.elementAt(i) + ":\n" + truncate((String)statuses.elementAt(i), 30) + "\n" + times.elementAt(i); feedList.append(item, null); exitCommand = new Command("Exit", Command.EXIT, 1); postCommand = new Command("Post", Command.SCREEN, 2); refreshCommand = new Command("Refresh", Command.SCREEN, 3); feedList.addCommand(exitCommand); feedList.addCommand(postCommand); feedList.addCommand(refreshCommand); feedList.setCommandListener(this); display.setCurrent(feedList);
public class FacebookMIDlet extends MIDlet implements CommandListener { private Display display; private Form mainForm; private List feedList; private TextBox statusBox; private Alert loadingAlert; facebook java jar 240x320
// FacebookMIDlet.java // A Facebook-style client for 240x320 Java ME phones // Compiles with WTK, runs on J2ME / MIDP 2.0, CLDC 1.1 import javax.microedition.midlet. ; import javax.microedition.lcdui. ; import java.util.*; feedList = new List("News Feed"
public void startApp() if (display == null) display = Display.getDisplay(this); showMainForm(); else showMainForm(); for (int i = 0
private Vector statuses; private Vector authors; private Vector times;
private void refreshFeed() // Simulate network refresh loadingAlert = new Alert("Loading", "Refreshing news feed...", null, AlertType.INFO); loadingAlert.setTimeout(1500); display.setCurrent(loadingAlert, feedList); // In real app, you'd fetch from network here // For demo, just rebuild the list feedList.deleteAll(); for (int i = 0; i < authors.size(); i++) String item = authors.elementAt(i) + ":\n" + truncate((String)statuses.elementAt(i), 30) + "\n" + times.elementAt(i); feedList.append(item, null);