Plotar gráficos a partir de txt

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!!

da uma olhada nesse tuto: persistência com midp

e qlqr coisa tamo ae. flw, t+

[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