Programming Tutorials

(追記) (追記ここまで)

Sample Java program shows how to Read a file over a network using J2ME midlet

By: Bob Wilson in J2ME Tutorials on 2007年08月23日 [フレーム]

Update: As J2ME is an old technology, it is now deprecated and not recommended to be used in new projects.

This Sample Java program shows how to Read a file over a network using J2ME midlet.

If you want to download a file from a web server into your phone using J2ME program then you can use this sample J2ME program to retrieve the file over the internet and show it on the midlet. Do not forget to change the String url value to your own web server url. There can be many uses for this application. I used this to read files from my remote desktop computer from my phone. But for doing that, you will need another desktop client that will read the local PC files and upload selected files to a central web server. Once the files are uploaded using desktop client then I used this J2ME client to provide remote access to these files through their phones.

/*--------------------------------------------------
* FileViewer.java
*
* Download and view a file over a network 
*-------------------------------------------------*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;
public class FileViewer extends MIDlet implements CommandListener
{
 private Display display;	 // Reference to Display object
 private TextBox tbViewer; // View file contents in a textbox
 private Command cmView; // Command to view file
 private Command cmExit; // Command to exit
 private String url = "http://www.m-indya.com/index.html"; 
 public FileViewer()
 { 
 display = Display.getDisplay(this);
 
 // Define commands
 cmView = new Command("View", Command.SCREEN, 2);
 cmExit = new Command("Exit", Command.EXIT, 1);
 tbViewer = new TextBox("Viewer", "", 250, TextField.ANY);
 tbViewer.addCommand(cmView);
 tbViewer.addCommand(cmExit);
 tbViewer.setCommandListener(this); 
 }
 public void startApp()
 {
 display.setCurrent(tbViewer);
 } 
 private void viewFile() throws IOException
 {
 HttpConnection http = null;
 InputStream iStrm = null;
 
 try
 {
 // Create the connection
 http = (HttpConnection) Connector.open(url);
 
 //----------------
 // Client Request
 //----------------
 // 1) Send request method
 http.setRequestMethod(HttpConnection.GET);
 
 // 2) Send header information (this header is optional)
 http.setRequestProperty("User-Agent", "Profile/MIDP-1.0 Configuration/CLDC-1.0");
 
 // 3) Send body/data - No data for this request
 
 //----------------
 // Server Response
 //----------------
 // 1) Get status Line
 System.out.println("Msg: " + http.getResponseMessage()); 
 System.out.println("Code: " + http.getResponseCode()); 
 
 // 2) Get header information 
 if (http.getResponseCode() == HttpConnection.HTTP_OK)
 {
 // 3) Get data (show the file contents)
 iStrm = http.openInputStream();
 int length = (int) http.getLength();
 if (length > 0)
 {
 byte serverData[] = new byte[length];
 iStrm.read(serverData);
 tbViewer.setString(new String(serverData));
 }
 }
 }
 finally
 {
 // Clean up
 if (iStrm != null)
 iStrm.close();
 if (http != null)
 http.close();
 }
 }
 public void pauseApp()
 { }
 public void destroyApp(boolean unconditional)
 { }
 public void commandAction(Command c, Displayable s)
 {
 if (c == cmView)
 {
 try
 {
 viewFile();
 }
 catch (Exception e)
 {
 System.out.println(e.toString());
 }
 }
 else if (c == cmExit)
 {
 destroyApp(false);
 notifyDestroyed();
 }	
 }
}



(追記) (追記ここまで)


Add Comment

JavaScript must be enabled for certain features to work
* Required information
1000

Comments

No comments yet. Be the first!
(追記) (追記ここまで)
(追記) (追記ここまで)

AltStyle によって変換されたページ (->オリジナル) /