Gerei um arquivo txt onde cada linha é um ponto. Como colocar esses dados em um vetor? Já tentei com utilizando o Scanner, mas não consegui.
Estou utilizando o MEChart.
Alguém tem alguma idéia?
valeu!
Gerei um arquivo txt onde cada linha é um ponto. Como colocar esses dados em um vetor? Já tentei com utilizando o Scanner, mas não consegui.
Estou utilizando o MEChart.
Alguém tem alguma idéia?
valeu!
em j2me ñ tema classe Scanner, leia o arquivo com classe InputStream mesmo, ou DataInputStream se vc achar mais fácil, coloque seu arquivo no diretorio ‘res’ e faç assim:
InputStream in = Class.getResourseAsStream("/arquivo.txt");
// ou
DataInputStream in = DataInputStream(Class.getResourseAsStream("/arquivo.txt"));
caso vc receba esse arquivo atravez de alguma conexão entao faça assim:
InputStream in = socket.openInputStream();
// ou
DataInputStream in = socket.openDataInputStream();
depois é só ler número por número e armazenando no vetor
Então…
Os txt está dentro de um diretório no smartphone.
Daí eu fiz assim
[code]import com.mechart.chart.;
import javax.microedition.midlet.;
import javax.microedition.lcdui.;
import java.io.;
public class UsoLineChart1 extends MIDlet{
private Display display;
private Form fmMain;
private LineChart lineChart;
public void startApp()
{
InputStream in = Class.getResourseAsStream("c:/dados.txt"); //aki ele dá um erro cannot find symbol
//???
display = Display.getDisplay(this);
fmMain = new Form("Gráfico");
ClCanvas cv = new ClCanvas();
double[] dados = new double[]{}; //quero inserir os dados aki
String[] tempo = new String[]{"01", "02", "03", "04", "05", "06"};
lineChart = new LineChart(cv.getWidth(), 110, dados, tempo, "Graph", 1, LineChart.MAROON, LineChart.WHITE, (double)2.1);
fmMain.append(lineChart);
display.setCurrent(fmMain);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
}
class ClCanvas extends Canvas {
protected void paint(Graphics graphics) {}
}[/code]
Qq tá faltando pra dar certo??
Valeu mais uma vez!
pra fuçar no sistema de arquivos do dispositivo vc vai precisar usar a api file connection, acho umpocuo chato mexer com ela, mas é a única forma de vc encontrar esse arquivo
mas acho q se vc gravou esse arquivo no celular, então, em algum momento ele esteve em ‘suas mãos’, então sugiro que vc o guarde em um lugar mais fácil de se recuperar, como na base rms por exemplo
inté
[quote=quikkoo]pra fuçar no sistema de arquivos do dispositivo vc vai precisar usar a api file connection, acho umpocuo chato mexer com ela, mas é a única forma de vc encontrar esse arquivo
mas acho q se vc gravou esse arquivo no celular, então, em algum momento ele esteve em ‘suas mãos’, então sugiro que vc o guarde em um lugar mais fácil de se recuperar, como na base rms por exemplo
inté[/quote]
Então… como eu crio um Record Store? Será q tem com eu receber dados via bluetooth e armazenar em um Record Store?
valeu!!
[quote=quikkoo]da uma olhada nesse tuto: persistência com midp
e qlqr coisa tamo ae. flw, t+[/quote]
Putz valeu,
tipow eu abrir a MidLet no emulador daki, mandei um executar e não acontece nada.
No janela de saída do NetBeans aparece isso aki:
-- RecordStore inexistente
-- open
java.lang.NullPointerException
at rms.TutorialRecordStore.add(TutorialRecordStore.java:73)
at rms.TutorialRecordStore.execute(TutorialRecordStore.java:14)
at rms.DisplayableRMS.commandAction(DisplayableRMS.java:33)
at javax.microedition.lcdui.Display$DisplayAccessor.commandAction(Display.java:2093)
at javax.microedition.lcdui.Display$DisplayManagerImpl.commandAction(Display.java:2929)
at com.sun.midp.lcdui.DefaultEventHandler.commandEvent(DefaultEventHandler.java:297)
at com.sun.midp.lcdui.AutomatedEventHandler.commandEvent(AutomatedEventHandler.java:667)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.handleVmEvent(DefaultEventHandler.java:711)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(DefaultEventHandler.java:608)
Qq tá pegando? hehehehe
brigadão!!
acho q é isso:
public class TutorialRecordStore {
// o registro é iniciado como null
private RecordStore rs = null;
public void open() {
try {
// aqui vc tenta deletar um registro existente, mas rs é igual a null
rs.deleteRecordStore(RS_NAME);
rs = RecordStore.openRecordStore(RS_NAME, true);
...
}
mude pra isso:
public void open() {
try {
// já q é uma função estática vc ñ precisa do objeto
RecordStore.deleteRecordStore(RS_NAME);
rs = RecordStore.openRecordStore(RS_NAME, true);
...
}
acho q isso deve resolver
e qlqr coisa vc pode depurar seu programa pra saber exatamente onde esta sendo jogada essa exeção
flw, t*
[quote=quikkoo]acho q é isso:
public class TutorialRecordStore {
// o registro é iniciado como null
private RecordStore rs = null;
public void open() {
try {
// aqui vc tenta deletar um registro existente, mas rs é igual a null
rs.deleteRecordStore(RS_NAME);
rs = RecordStore.openRecordStore(RS_NAME, true);
...
}
mude pra isso:
public void open() {
try {
// já q é uma função estática vc ñ precisa do objeto
RecordStore.deleteRecordStore(RS_NAME);
rs = RecordStore.openRecordStore(RS_NAME, true);
...
}
acho q isso deve resolver
e qlqr coisa vc pode depurar seu programa pra saber exatamente onde esta sendo jogada essa exeção
flw, t*[/quote]
Problema resolvido!!
Agora eu vo dá uma bela duma estudada nesse tuto pra ver se eu manjo o lance!!! Depois vai ser tacar o bluetooth por cima disso tudo…
Mas vamu um osso de cada vez!!
Brigadão
Então, surgiu uma dúvida…
ByteArrayOutputStream baos = new ByteArrayOutputStream();//?? pq tem esse cara aki?
DataOutputStream dos = new DataOutputStream(baos);// só esse não bastava?
dos.writeUTF(nome);
dos.flush();//??
byte[] data = baos.toByteArray();
int id = rs.addRecord(data, 0, data.length);
baos.close();
dos.close();
Tipow… eu quero guardar a string né? Pq eu precisei de um byte array?
Valeu de novo
os registros são guardados no registro como bytes, a classe DataOutputStream ñ tem uma função que retorna os bytes, a ByteArrayOutputStream tem e vc poderia usar somente ela, mas as suas funções de escrita escreve apenas bytes, e é chato ficar transformando tudo q é tipo de dados em bytes, então a classe DataOutputStream encapsula um objeto OutputStream (na qual ByteArrayOutputStream é uma classe derivada) e escreve os dados nesse objeto pra vc
eu tb acho q tem classe d+ nessa história, mas fazer oq, java foi projetado assim…
Ahhh… saquei…
Agora eu preciso é descolar um jeito de passar os dados para dentro do RMS… ao invés de colocá-los diretamente no código fonte.
to quebrando a cabeça aki…
Vc não tem nenhum exemplo de bluetooth igual a esse de rms q vc me arrumou?
Tá osso aki
Valeu
olha esse tópico: bluetooth com j2me
java net > bluetooth resources
tem essa apostila tb: j2me bluetooth programimng
Blz… Vo dá uma estudada!
Valeu