[quote=Flip_novidade]oie galera…
tou começando a minha vida na programação java, e cada dia fico mais maravilhado com esta linguagem
…
[/quote]
ficou meio confuso essa sua explicacao… mais
que tal um for normal ?
String teste;
int condicao;
if(url_pdfs.size > name_file_pdf.size) // pegar o maior valor para percorrer todos os valores
condicao = url_pdfs.size;
else
condicao =name_file_pdf.size;
for(i=0: condicao == i : i++){
if(i <= url_pdfs.size)//para nao dar erro no codigo(tentar acessar um elemento que nao existe)
teste += url_pdfs.get(i);
if(i <= name_file_pdf.size)//para nao dar erro no codigo(tentar acessar um elemento que nao existe)
teste += name_file_pdf.get(i);
}
[color=red]Obs: fiz o codigo de cabeça sem editor, se der algum erro nada que aquele ctrl+espaço nao ajude. [/color]
[code]
private List file_url_pdf;
private List name_file_pdf
DataBaseAdapter dbadapterrr = new DataBaseAdapter();
file_url_pdf = dbadapterrr.getListaPdf(getApplicationContext(), idmes); // pega o endereço do pdf
DataBaseAdapter dbadapterrrr = new DataBaseAdapter();
name_file_pdf = dbadapterrrr.getListaNomePdf(getApplicationContext(), idmes);[/code]
tipo no mesmo tempo que tenho que pegar a url 1 tenho que pegar o nome 1…
tentei adaptar o codigo do nosso amigo…
mais da erro.
[code]
String testepdf = null;
String testeurl = null;
int condicao;
if(file_url_pdf.size() > name_file_pdf.size()){ // pegar o maior valor para percorrer todos os valores
condicao = file_url_pdf.size();
}else{
condicao =name_file_pdf.size();
for(int i=0 ; condicao == i ; i++ ){
if(i <= file_url_pdf.size()){//para nao dar erro no codigo(tentar acessar um elemento que nao existe)
testepdf += file_url_pdf.get(i);
}if(i <= name_file_pdf.size()){//para nao dar erro no codigo(tentar acessar um elemento que nao existe)
testeurl += name_file_pdf.get(i);
}
URL url = new URL(testepdf);
URLConnection conection = url.openConnection();
conection.connect();
int lenghtOfFile = conection.getContentLength();
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream(Environment.getExternalStoragePublicDirectory("/APP/"+testeurl));
byte[] data = new byte[8192];
//byte[] data = new byte[1024];
while ((count = input.read(data)) != -1) {
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
}
}[/code]
Com o perdão do termo, não seja porco! Não copie e cole código pra ver no que vai dar … Isso é gambiarra. Entenda o que você está fazendo antes de mais nada:
Bom, mas pelo que eu to vendo , o seu problema é mais com lógica do que com o uso da lista em si. Pelo que eu entendi do seu códio, você tem que fazer o download de um arquivo pdf e salvar em alguma armazenagem local, é isso ?
galera muito obrigado pelas dicas…
ainda não tinha trabalhado com lista em minha vida…
Guguuu parabens pela sua logica um dia vou ficar assim
sgue o codigo como ficou
obs: isso é android, onde baixo uns arquivos da web e uso dentro do palicativo
[code] String testepdf = “”;
String testeurl = “”;
int condicao;
if(file_url_pdf.size() == name_file_pdf.size()){ // pegar o maior valor para percorrer todos os valores
condicao = file_url_pdf.size();//
condicao = condicao - 1; // aqui estava o erro, a condição tinha um registro amais
for(int i=0 ; condicao >= i ; i++ ){
if(i <= file_url_pdf.size()){//para nao dar erro no codigo(tentar acessar um elemento que nao existe)
testepdf = file_url_pdf.get(i);
}if(i <= name_file_pdf.size()){//para nao dar erro no codigo(tentar acessar um elemento que nao existe)
testeurl = name_file_pdf.get(i);
}
URL url = new URL(testepdf);
URLConnection conection = url.openConnection();
conection.connect();
int lenghtOfFile = conection.getContentLength();
//InputStream input = new BufferedInputStream(url.openStream(), 8192);
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream(Environment.getExternalStoragePublicDirectory("/APP/"+testeurl));
byte[] data = new byte[8192];
//byte[] data = new byte[1024];
while ((count = input.read(data)) != -1) {
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
}
}[/code]