Very Important:
java -cp JadeLeap.jar jade.Boot -gui –nomtp
domingo, 16 de dezembro de 2007
segunda-feira, 21 de maio de 2007
Vídeo em JME
Mais uma vez, perdi um tempo enorme para fazer um coisa simples pq não acho documentação clara.
Dicas:
1. Esse código funciona:
VideoControl vc;
try {
HttpConnection conn = (HttpConnection)Connector.open("http://www.inovani.no/Videos/adrian_32aKbps_80vKBps.mpg");
Player player = Manager.createPlayer(conn.openInputStream(),"video/mpeg");
player.addPlayerListener(this);
player.realize();
VideoControl video = (VideoControl) player.getControl("VideoControl");
Item videoItem = (Item)video.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE, null);
helloForm.append(videoItem);
player.start();
vc = (VideoControl) player.getControl("VideoControl");
} catch(Exception e) {
helloStringItem.setText(e.getMessage());
}
2. Se vc tem dúvidas sobre quais são os formatos que seu emulador/dispositivo suporta execute o seguinte código:
String types[] = Manager.getSupportedContentTypes(null);
for (int i=0; i
System.out.println(types[i]);
String protocols[] = Manager.getSupportedProtocols(types[i]);
for (int j=0; j
System.out.println(protocols[j]);
}
}
3. Utilize os emuladores da SonyEricson, os outros não funcionam direito para vídeo.
http://developer.sonyericsson.com/getDocument.do?docId=65255
Um abraço!
Dicas:
1. Esse código funciona:
VideoControl vc;
try {
HttpConnection conn = (HttpConnection)Connector.open("http://www.inovani.no/Videos/adrian_32aKbps_80vKBps.mpg");
Player player = Manager.createPlayer(conn.openInputStream(),"video/mpeg");
player.addPlayerListener(this);
player.realize();
VideoControl video = (VideoControl) player.getControl("VideoControl");
Item videoItem = (Item)video.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE, null);
helloForm.append(videoItem);
player.start();
vc = (VideoControl) player.getControl("VideoControl");
} catch(Exception e) {
helloStringItem.setText(e.getMessage());
}
2. Se vc tem dúvidas sobre quais são os formatos que seu emulador/dispositivo suporta execute o seguinte código:
String types[] = Manager.getSupportedContentTypes(null);
for (int i=0; i
System.out.println(types[i]);
String protocols[] = Manager.getSupportedProtocols(types[i]);
for (int j=0; j
System.out.println(protocols[j]);
}
}
http://developer.sonyericsson.com/getDocument.do?docId=65255
Um abraço!
terça-feira, 15 de maio de 2007
Entity Manager no Netbeans
Há algum tempo tentei utilizar o Hibernate no Netbeans seguindo esse tutorial da própria Netbeans:
http://www.netbeans.org/kb/articles/hibernate-javaee.html
Porém, estava incompleto, por isso eu não estava conseguindo repeti-lo. O tutorial que segue funciona:
http://blec.lec.ufrgs.br/page/lounge?entry=hibernate_persistence_no_netbeans_5
Outra dica é, esse tutorial não funciona com a última versão do Entity Manager do Hibernate, apenas com a versão 3.2.1.
Um Abraço!
http://www.netbeans.org/kb/articles/hibernate-javaee.html
Porém, estava incompleto, por isso eu não estava conseguindo repeti-lo. O tutorial que segue funciona:
http://blec.lec.ufrgs.br/page/lounge?entry=hibernate_persistence_no_netbeans_5
Outra dica é, esse tutorial não funciona com a última versão do Entity Manager do Hibernate, apenas com a versão 3.2.1.
Um Abraço!
Jade - Agentes
Olá, mais um post útil apenas para mim! hahahaha...espero estar enganado.
Tive muitos problema para utilizar o Jade, não gostei da documentação deles. Principalmente, pois: é pouco objetiva e possui uma introdução que trata de assuntos relacionados à teoria de agentes, o que para quem deseja utilizar Jade, não deve ser novidade.
Bem, de qq forma algumas dicas práticas para utilizar o Jade em aplicações externas são:
1. Se estiver criando um projeto Web, todos os .jar do Jade devem ser copiados no lib do servidor.
2. Para utilizar o Jade é necessário inicia-lo, para isso digite no diretório lib do servidor: java –jar jade.jar -notmp.
3. Crie uma classe para gerenciamento dos Agentes da sua aplicação (Sugestão):
public class AgentsManager{
public String start() {
Runtime rt = Runtime.instance();
rt.setCloseVM(true);
ProfileImpl containerProfile = new ProfileImpl("127.0.0.1",1099,");
ContainerController cc = rt.createAgentContainer(containerProfile);
//Cria um Agente e um Controlador
AgentSearch searchAgent = new AgentSearch(musica,artista);
AgentController search = cc.acceptNewAgent("searchAgent",searchAgent);
search.start();
}
}
4. Leia todos os tipos de comportamentos disponíveis na documentação, na minha opinião são muito importantes para o desempenho da aplicação.
5. Essa monografia é muito boa:
jade.tilab.com/papers/2003/monografia.pdf
Um Abraço!
Tive muitos problema para utilizar o Jade, não gostei da documentação deles. Principalmente, pois: é pouco objetiva e possui uma introdução que trata de assuntos relacionados à teoria de agentes, o que para quem deseja utilizar Jade, não deve ser novidade.
Bem, de qq forma algumas dicas práticas para utilizar o Jade em aplicações externas são:
1. Se estiver criando um projeto Web, todos os .jar do Jade devem ser copiados no lib do servidor.
2. Para utilizar o Jade é necessário inicia-lo, para isso digite no diretório lib do servidor: java –jar jade.jar -notmp.
3. Crie uma classe para gerenciamento dos Agentes da sua aplicação (Sugestão):
public class AgentsManager{
public String start() {
Runtime rt = Runtime.instance();
rt.setCloseVM(true);
ProfileImpl containerProfile = new ProfileImpl("127.0.0.1",1099,");
ContainerController cc = rt.createAgentContainer(containerProfile);
//Cria um Agente e um Controlador
AgentSearch searchAgent = new AgentSearch(musica,artista);
AgentController search = cc.acceptNewAgent("searchAgent",searchAgent);
search.start();
}
}
4. Leia todos os tipos de comportamentos disponíveis na documentação, na minha opinião são muito importantes para o desempenho da aplicação.
5. Essa monografia é muito boa:
jade.tilab.com/papers/2003/monografia.pdf
Um Abraço!
sexta-feira, 11 de maio de 2007
Áudio em celulares com Java ME
Depois de muito bater cabeça, entendi porque o seguinte código, encontrado em muitos fóruns, não funcionava:
try {
HttpConnection conn = (HttpConnection)Connector.open("http://www.dc.ufscar.br/~luiz_santana/1.wav");
Player player = Manager.createPlayer(conn.openInputStream(),"audio/X-wav");
player.addPlayerListener(this);
player.realize();
player.start();
} catch (Exception e) {
stringItem1.setText(e.getMessage());
e.printStackTrace();
System.out.print(e.getMessage());
}
}
O problema é que o CLDC não suporta qualquer tipo de arquivo WAV. Apenas arquivos do tipo PCM, 8 bits, mono, com a frequencia de 16000 hz. Para transformar seus arquivos use o programa Ease Audio Converter (
http://superdownloads.uol.com.br/download/115/ease-audio-converter/).
Um abraço!
try {
HttpConnection conn = (HttpConnection)Connector.open("http://www.dc.ufscar.br/~luiz_santana/1.wav");
Player player = Manager.createPlayer(conn.openInputStream(),"audio/X-wav");
player.addPlayerListener(this);
player.realize();
player.start();
} catch (Exception e) {
stringItem1.setText(e.getMessage());
e.printStackTrace();
System.out.print(e.getMessage());
}
}
O problema é que o CLDC não suporta qualquer tipo de arquivo WAV. Apenas arquivos do tipo PCM, 8 bits, mono, com a frequencia de 16000 hz. Para transformar seus arquivos use o programa Ease Audio Converter (
http://superdownloads.uol.com.br/download/115/ease-audio-converter/).
Um abraço!
Traduzir Linguagens de Marcação
Não sei se alguem mais precisa disso, mas eu vivo precisando.
Primeiro é necessário baixar os seguintes arquivos:
Xerces - http://xml.apache.org/dist/xerces-j/
JTidy - http://jtidy.sourceforge.net/
public static String html2xhtml(String URL) {
try {
URL HTMLurl = new URL(URL);
InputStream HTMLis = HTMLurl.openStream();
if ( HTMLis != null ) {
Tidy converter = new Tidy();
converter.setTidyMark(false);
converter.setXmlOut(true);
converter.setXmlPi(true);
converter.setXmlPIs(true);
converter.setNumEntities(true);
converter.setDocType("omit");
Document doc = converter.parseDOM(HTMLis, null);
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("c:/teste.xhtml"));
XMLSerializer ser = new XMLSerializer(out, new OutputFormat("xml", "UTF-8", true));
ser.serialize(doc.getDocumentElement());
}
return null;
} catch ( Exception e ) {
return e.getMessage();
}
}
public static void main(String[] args) {
try {
html2xhtml("http://www.uol.com.br");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
Primeiro é necessário baixar os seguintes arquivos:
Xerces - http://xml.apache.org/dist/xerces-j/
JTidy - http://jtidy.sourceforge.net/
public static String html2xhtml(String URL) {
try {
URL HTMLurl = new URL(URL);
InputStream HTMLis = HTMLurl.openStream();
if ( HTMLis != null ) {
Tidy converter = new Tidy();
converter.setTidyMark(false);
converter.setXmlOut(true);
converter.setXmlPi(true);
converter.setXmlPIs(true);
converter.setNumEntities(true);
converter.setDocType("omit");
Document doc = converter.parseDOM(HTMLis, null);
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("c:/teste.xhtml"));
XMLSerializer ser = new XMLSerializer(out, new OutputFormat("xml", "UTF-8", true));
ser.serialize(doc.getDocumentElement());
}
return null;
} catch ( Exception e ) {
return e.getMessage();
}
}
public static void main(String[] args) {
try {
html2xhtml("http://www.uol.com.br");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
Marcadores:
JTidy,
Linguagem de Marcação,
Netbeans
Bibliotecas do Hibernate
Algo que eu sempre esqueço, os jars necessários para o Hibernate:
hibernate3.jar
lib/antlr-2.7.6.jar
lib/asm-attrs.jar
lib/asm.jar
lib/c3p0-0.9.0.jar
lib/cglib-2.1.3.jar
lib/commons-collections-2.1.1.jar
lib/commons-logging-1.0.4.jar
lib/concurrent-1.3.2.jar
lib/dom4j-1.6.1.jar
lib/ehcache-1.2.3.jar
lib/log4j-1.2.11.jar
hibernate3.jar
lib/antlr-2.7.6.jar
lib/asm-attrs.jar
lib/asm.jar
lib/c3p0-0.9.0.jar
lib/cglib-2.1.3.jar
lib/commons-collections-2.1.1.jar
lib/commons-logging-1.0.4.jar
lib/concurrent-1.3.2.jar
lib/dom4j-1.6.1.jar
lib/ehcache-1.2.3.jar
lib/log4j-1.2.11.jar
Assinar:
Postagens (Atom)