İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır
Zafer Teker
tekzaf@yahoo.com

Cep Telefonları İçin Basit Bir Haber Programı

Bu program serverda bulunan bir Properties dosyasındaki haberi alıp ticker'da göstermektedir. Program sürekli server'a bağlanmakta ve haberi almaktadır. Eğer haber değişik bir haberse ticker değiştirilmektedir.

Haberin bulunduğu properties dosyası aşağıdaki gibidir.

last=İran'da 7.6 büyüklüğünde deprem oldu

Properties dosyasındaki haberi bulup veren news.jsp

Göster Gizle Kopar Satır Gizle Satır Göster
<%@page language="java" import="java.io.*,java.util.*"%>
<%
  File file=new File("D:\\jakarta-tomcat-4.0.3\\webapps\\examples\\last.properties");
  Properties p=new Properties();
               p.load(new FileInputStream(file));  
  String value=(String)p.getProperty("last");
  out.print(value);  
%>

NewsMessenger class'ı

Göster Gizle Kopar Satır Gizle Satır Göster
  1 import javax.microedition.midlet.*;
  2 import javax.microedition.lcdui.*;
  3 import javax.microedition.io.*;
  4 import java.util.*;
  5 import java.io.*;
  6 public class NewsMessenger extends MIDlet{
  7   public static final String URL="http://localhost:8080/examples/news.jsp";
  8   private String lastNews="";
  9   private Ticker ticker;
 10   protected void startApp(){
 11     TimerTask task=new TimerTask(){
 12       public void run(){
 13         refresh();
 14       }
 15     };
 16     Timer timer=new Timer();
 17     timer.schedule(task,new Date(),1000);
 18     Form form=new Form("");
 19     ticker=new Ticker("");
 20     form.setTicker(ticker);
 21     Display.getDisplay(this).setCurrent(form);
 22   }
 23   protected void pauseApp(){}
 24   protected void destroyApp(boolean boolean0){}
 25   private void refresh(){
 26     try {
 27       HttpConnection connection =(HttpConnection)Connector.open(URL);
 28       InputStream is=connection.openInputStream();
 29       StringBuffer buffer=new StringBuffer();
 30       int c;
 31       while((c=is.read())!=-1){
 32         buffer.append((char)c);
 33       }
 34       is.close();
 35       connection.close();
 36       showNews(buffer);
 37     }
 38     catch (IOException ex) {
 39       ex.printStackTrace();
 40     }
 41   }
 42   private void showNews(StringBuffer buffer){
 43     String news=buffer.toString();
 44     news=news.trim();
 45     if(!news.equals(lastNews)){
 46       lastNews=news;
 47       ticker.setString(news);
 48     }
 49   }
 50 }

startApp içinde bir Timer yaratılmıştır. Bu timer ile refresh method'u 1000 ms'de bir çağrılacaktır. refresh methodu

http://localhost:8080/examples/news.jsp

adresine bağlanacak ve haberi alacaktır. Eğer haber bir önceki haber ile aynı değilse ticker'da gösterilecektir. Ticker startApp method'u içinde eklenmiştir.

Dosya Listesi

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır