Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
PROGRAMA ANDROID - Escrever valor de array em ficheiro
22-05-2018, 11:42
Mensagem: #1
iPhone PROGRAMA ANDROID - Escrever valor de array em ficheiro
Bom dia.
Estou a desenvolver um software para android, cujo obtem valores de um ficheiro texto para um array e exibe no Layout. Esses valores, sao constantes, apenas será alterado o endereço de memoria no array, cujo será inserior "Leitura Atual"
Assim, a minha duvida é, queria gravar em texto, o valor introduzido no layout. A ideia seria gravar em texto o array utilizado, mas nao estou a conseguir. Gostava que me ajudassem. Segue abaixo o codigo.:
Código:
package pt.penafielverde.serpeagu.aguas3;


import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.FileOutputStream;
import android.content.Context;
import java.io.OutputStream;
import java.io.FileWriter;
import java.io.FileReader;
//import pt.penafielverde.serpeagu.aguas3.GravacaoActivity;

import static java.lang.String.valueOf;


public class Leituras extends AppCompatActivity {
//define variaveis a trabalhar dentro do OnCreate
TextView valor_roteiro;
TextView valor_instalacao;
TextView valor_numero_contador;
TextView nome_consumidor;
TextView morada_inst;
TextView tipo_leitura_1;
TextView leitura_anterior_valor;
TextView data_leitura;
Number leitura_atual;
TextView sucesso;


//declara variaveis
Button reg_seg;
Button reg_ant;
Button ok;
String lstrNomeArq;
File arq;
String dados[][];
int index = 0;


//carrega valores para a memória da aplicação
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_leituras);
//Carregar todas as Variáveis do Layout
valor_roteiro = findViewById(R.id.valor_roteiro);
valor_instalacao = findViewById(R.id.valor_instalacao);
valor_numero_contador = findViewById(R.id.valor_n_cont);
data_leitura = findViewById(R.id.data_leitura);
nome_consumidor = findViewById(R.id.nome_consumidor);
morada_inst = findViewById(R.id.morada_inst);
tipo_leitura_1 = findViewById(R.id.tipo_leitura_1);
leitura_anterior_valor = findViewById(R.id.leitura_anterior_valor);
sucesso = findViewById(R.id.sucesso);
String text = "";

//conecta ao ficheiro de dados
try {
InputStream is = getAssets().open("bd");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
text = new String(buffer);
} catch (IOException e) {
e.printStackTrace();
}

//String[] fields=lines[0].split("\\|");

//Log.d("consola",lines[0]);
//

//Carrega Valores do texto

final String[] lines = text.split("\n");
final int n = lines[0].split("\\|").length;
final String[][] data = new String[lines.length][n];

for (int i = 0; i < lines.length; i++) {
String[] fields = lines.split("\\|");
for (int j = 0; j < fields.length; j++) {
data[j] = fields[j];
}
}

//Log.d("consola2","W"+data[0][0]);


//Move o Registo para Anterior e Seguinte
reg_seg = findViewById(R.id.reg_seg);
reg_ant = findViewById(R.id.reg_ant);
ok = findViewById(R.id.ok);
//Move ecra para o Registo Seguinte
reg_seg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (index == lines.length - 1) {
return;
}
valor_roteiro.setText(data[index][0]);
valor_instalacao.setText(data[index][1]);
valor_numero_contador.setText(data[index][2]);
nome_consumidor.setText(data[index][3]);
morada_inst.setText(data[index][4]);
leitura_anterior_valor.setText(data[index][5]);
tipo_leitura_1.setText(data[index][8]);
data_leitura.setText(data[index][9]);

index++;
}
});
//Move registo para o Anterior
reg_ant.setOnClickListener(new View.OnClickListener() {
@Override

public void onClick(View v) {
if (index <= 0) {
return;
}
valor_roteiro.setText(data[index][0]);
valor_instalacao.setText(data[index][1]);
valor_numero_contador.setText(data[index][2]);
nome_consumidor.setText(data[index][3]);
morada_inst.setText(data[index][4]);
leitura_anterior_valor.setText(data[index][5]);
tipo_leitura_1.setText(data[index][8]);
data_leitura.setText(data[index][9]);
index--;
}
});

//GRAVA PARA FICHEIRO TEXTO VALORES EM MEMORIA ARRAY
ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

}
});
}
}
Aquando o clique em "OK", pretendo guardar em ficheiro texto o array utilizado para exibir e guardar valores.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 2 Visitante(s)