Advertisement
ipsBruno

(Java) BRSMobile TV!

Nov 25th, 2012
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.58 KB | None | 0 0
  1.  /*
  2.  *  Copyright (c) 2012 [iPs]TeaM
  3.  *  Bruno da Silva (email@brunodasilva.com)
  4.  *  Código fonte do aplicativo BRS Mobile TV
  5.  *
  6.  * www.brunodasilva.com
  7.  * www.ips-team.forumeiros.com
  8. */    
  9.  
  10. import javax.microedition.media.*;
  11. import javax.microedition.midlet.*;
  12. import javax.microedition.lcdui.*;
  13. import javax.microedition.io.*;
  14. import java.util.*;
  15. import java.io.*;
  16.  
  17. public class HelloMIDlet extends MIDlet  implements CommandListener
  18. {
  19.  
  20.     private StringItem messageItem;
  21.     private StringItem errorItem;
  22.     private Command  playCommand;
  23.     private Command exitCommand ;
  24.     private Display display;
  25.     private Player player;
  26.     private List form;
  27.     private Timer timer;
  28.     private TestTimerTask task;
  29.  
  30.     private Form mainForm;
  31.     private Image telaInicial;
  32.  
  33.     //  Função para dar split na string e extrair informações
  34.     private String[] split(String splitStr, String delimiter) {
  35.      StringBuffer token = new StringBuffer();
  36.      Vector tokens = new Vector();
  37.      // split
  38.      char[] chars = splitStr.toCharArray();
  39.      for (int i=0; i < chars.length; i++) {
  40.          if (delimiter.indexOf(chars[i]) != -1) {
  41.              // we bumbed into a delimiter
  42.              if (token.length() > 0) {
  43.                  tokens.addElement(token.toString());
  44.                  token.setLength(0);
  45.              }
  46.          } else {
  47.              token.append(chars[i]);
  48.          }
  49.      }
  50.      // don't forget the "tail"...
  51.      if (token.length() > 0) {
  52.          tokens.addElement(token.toString());
  53.      }
  54.      // convert the vector into an array
  55.      String[] splitArray = new String[tokens.size()];
  56.      for (int i=0; i < splitArray.length; i++) {
  57.          splitArray[i] = (String)tokens.elementAt(i);
  58.      }
  59.      return splitArray;
  60.  }
  61.  
  62. //  Criar novas variáveis e strings para conexão
  63.  
  64.     StringBuffer inhalt = new StringBuffer();
  65.  
  66.     boolean carregado = false;
  67.     HttpConnection c = null;
  68.     InputStream is = null;
  69.     StringBuffer sb = new StringBuffer();
  70.  
  71.     String[] options = new String[100];
  72.     String[] canaisLink = new String[100];
  73.  
  74. //  Públicas nativas de qualquer aplicativo
  75.  
  76.     public void pauseApp() {
  77.     }
  78.  
  79.     public void destroyApp(boolean unconditional) {
  80.         notifyDestroyed();
  81.     }
  82.  
  83.     public void startApp() {
  84.         display.setCurrent(mainForm);
  85.     }
  86.  
  87. //  Efetuar conexão e listar canais ao iniciar java
  88.  
  89.     public HelloMIDlet() {
  90.  
  91.         display = Display.getDisplay(this);
  92.        
  93.         mainForm = new Form("[BRS] Mobile TV");
  94.         form = new List("Listagem", Choice.IMPLICIT);
  95.  
  96.         try {
  97.             telaInicial  =  Image.createImage("/tela.png");
  98.         }
  99.         catch(Exception e){
  100.         }
  101.        
  102.         Item mItem = new ImageItem(null, telaInicial, 0, null);
  103.         mainForm.append(telaInicial);
  104.         display.setCurrent(mainForm);
  105.                        
  106.        
  107.         playCommand = new Command("Carregar Canais", Command.ITEM, 1);
  108.         exitCommand = new Command("Sair", Command.EXIT, 1);
  109.  
  110.         mainForm.addCommand(playCommand);
  111.         mainForm.addCommand(exitCommand);
  112.         mainForm.setCommandListener(this);
  113.     }
  114.     public void commandAction(Command comm, Displayable disp) {
  115.         if (comm == List.SELECT_COMMAND) {
  116.             try  {
  117.                 platformRequest(canaisLink[form.getSelectedIndex()]);
  118.             }
  119.             catch (Exception ex) {}
  120.         }
  121.         if (comm == playCommand) {
  122.            
  123.             Canvas canvas = new LineCanvas();
  124.             display.setCurrent(canvas);
  125.            
  126.             timer = new Timer();
  127.             task = new TestTimerTask();
  128.             timer.schedule(task, 100);
  129.  
  130.         }
  131.         if (comm == exitCommand) {
  132.             destroyApp(true);
  133.             notifyDestroyed();
  134.         }
  135.     }
  136.     private class TestTimerTask extends TimerTask {
  137.         public final void run() {
  138.             if(carregado == true) {                                  
  139.                 try  {
  140.                     platformRequest(canaisLink[form.getSelectedIndex()]);
  141.                 }
  142.                 catch (Exception ex) {}
  143.             }
  144.             else {                
  145.                 int canais = 0;                  
  146.                 int chr = 0;
  147.                
  148.                 options[0] = "";
  149.                
  150.                 try {
  151.                     carregado = true;
  152.  
  153.                     c = (HttpConnection)Connector.open("http://pastebin.com/raw.php?i=LB9j8cTY");
  154.                     is = c.openInputStream();                          
  155.                    
  156.                     while((chr = is.read()) != -1) {
  157.                         if((char)chr == '\n') {
  158.                             String[] str = split(options[canais],"|");
  159.                             form.insert(canais, str[0], Image.createImage("/ff.png"));
  160.                             canaisLink[canais] = str[1];                            
  161.                             canais++;
  162.                             options[canais] = "";
  163.                         }
  164.                         else {
  165.                             options[canais] += ((char)chr);  
  166.                         }
  167.                     }
  168.                 }
  169.                 catch (IOException x) {
  170.                     x.printStackTrace();
  171.                 }
  172.                 finally {
  173.                     try {                  
  174.                         playCommand = new Command("Assistir", Command.ITEM, 1);
  175.  
  176.                         form.addCommand(playCommand);
  177.                         form.addCommand(exitCommand);
  178.  
  179.                         form.setCommandListener(HelloMIDlet.this);
  180.  
  181.                         is.close();
  182.                         c.close();                    
  183.                        
  184.                         display.setCurrent(form);
  185.                        
  186.                     }
  187.                     catch (IOException x) {
  188.                         x.printStackTrace();
  189.                     }
  190.                 }
  191.             }
  192.         }
  193.     }
  194.     private class LineCanvas extends Canvas {
  195.         public void paint(Graphics g) {            
  196.             int width = getWidth();
  197.             int height = getHeight();
  198.             try {
  199.                 Image image = Image.createImage("/carreg.gif");
  200.                 g.drawImage(image, width/2, height/2, Graphics.VCENTER | Graphics.HCENTER);
  201.             }
  202.             catch (IOException ex) {
  203.                 g.setColor(0xffffff);
  204.                 g.drawString("ERRO Inesperado ao carregar. Tentando corrigir", 0, 0, Graphics.TOP | Graphics.LEFT);
  205.                 return;
  206.             }
  207.         }
  208.     }
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement