[Resolvido]foreach duplo

oie galera…
tou começando a minha vida na programação java, e cada dia fico mais maravilhado com esta linguagem

estou tendo um problema
preciso usar um elemento de cada foreach juntos

assim url_pdfs[0] e name_pdf[0]

fiz assim mais esta demorando muito pra compilar

for ( String url_pdfs : file_url_pdf){ for (String name_pdf : name_file_pdf){ } }

queria saber se existe alguma solução assim
tentei deste modo mais não consigo.
se vcs tiverem outra maneira podem falar

[code] for ( String url_pdfs : file_url_pdf ; String name_pdf : name_file_pdf){

			}[/code]

Demorando pra compilar por causa de um foreach aninhado ? Nunca ouvi falar. Você tentou usar um for comum ? O que acontece ?

não consegui fazer com for comun partindo da lista…
não cheguei a este nivel ainda…

mais vou pesquisar agora…

valew rmendes08

[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]

putaz ta meio confuso ainda

tudo isso eu pego de uma lista que bem do bd.

[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…

Você sabe como acessar uma lista através de índice ?

não

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:

http://docs.oracle.com/javase/6/docs/api/java/util/List.html#get(int)

http://www.caelum.com.br/apostila-java-orientacao-objetos/collections-framework/

mais eu entendi sim…

ai tentei implementar com minha necessidade…

mais num foi

[quote=Flip_novidade]mais eu entendi sim…

ai tentei implementar com minha necessidade…

mais num foi[/quote]

  for(int i=0 ; condicao == i ; i++ )

// acho que é

  for(int i=0 ; condicao >= i ; i++ )

como eu disse … fiz o codigo rapidinho sem editor analise o codigo =p

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 ?

TB acho q ele nao ta conseguindo pq a lista dele deve ta vindo null ele nao deve estar conseguindo buscar valor nenhum.

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]