| 
			
				|  | ActiveDelphi .: O site do programador Delphi! :.
 
 |  
 
	
		| Exibir mensagem anterior :: Exibir próxima mensagem |  
		| Autor | Mensagem |  
		| SegundoMeireles Novato
 
  
 
 Registrado: Quarta-Feira, 6 de Fevereiro de 2019
 Mensagens: 15
 
 
 | 
			
				|  Enviada: Qua Fev 06, 2019 10:38 am    Assunto: Delphi XE8, Sqlite e Nuvem. Atualização de Banco de dados |   |  
				| 
 |  
				| Olá pessoal, gostaria de saber o por quê esse código roda no celular LG (Android 5.0.2) e não roda em outros modelos (J7, Moto G...) 
 Instalo normalmente e atualizo ao clicar no botão, via google drive.
 
 O erro está na localização ou no IdHTTP.Get?
 
 Código:
 var
 caminho_d: string;
 conexao: boolean;
 MyFile: TFileStream;
 begin
 try
 idHttp1.ProxyParams.BasicAuthentication  := True;
 idHttp1.Request.BasicAuthentication      := True;
 idHttp1.ReadTimeout := 1000;
 IdHTTP1.Get('http://www.google.com.br');
 conexao := true;
 except
 IdHTTP1.Disconnect;
 Label11.text := 'Sem conexão!';
 conexao := false;
 end;
 if conexao = true then
 begin
 //verifica se ja existe para apagar e criar novamente
 if FileExists(TPath.GetHomePath + PathDelim + 'database.db') then
 begin
 TFile.Delete(TPath.GetHomePath + PathDelim + 'database.db');
 MyFile := TFileStream.Create(TPath.GetHomePath + PathDelim + 'database.db', fmCreate); // local no celular e nome do arquivo com a extensão, onde vai salvar.
 // definir o link
 caminho_d:= 'https://drive.google.com/uc?authuser=0&id=1bzdHsDWJ_XPy_Nn_ljhQRFujyuCPqqIB&export=download'; // aqui defini um caminho padrão pro download , pode ser trocado por um edit, etc
 try
 IdHTTP1.Get(caminho_d, MyFile); // fazendo o download do arquivo e salva no celular
 finally
 MyFile.Free;
 end;
 end;
 end;
 end;
 |  |  
		| Voltar ao Topo |  |  
		|  |  
		| edvacco Novato
 
  
  
 Registrado: Terça-Feira, 12 de Fevereiro de 2019
 Mensagens: 2
 
 
 | 
			
				|  Enviada: Ter Fev 12, 2019 11:33 am    Assunto: Re: Delphi XE8, Sqlite e Nuvem. Atualização de Banco de dados |   |  
				| 
 |  
				|  	  | SegundoMeireles escreveu: |  	  | Olá pessoal, gostaria de saber o por quê esse código roda no celular LG (Android 5.0.2) e não roda em outros modelos (J7, Moto G...) 
 Instalo normalmente e atualizo ao clicar no botão, via google drive.
 
 O erro está na localização ou no IdHTTP.Get?
 
 Código:
 var
 caminho_d: string;
 conexao: boolean;
 MyFile: TFileStream;
 begin
 try
 idHttp1.ProxyParams.BasicAuthentication  := True;
 idHttp1.Request.BasicAuthentication      := True;
 idHttp1.ReadTimeout := 1000;
 IdHTTP1.Get('http://www.google.com.br');
 conexao := true;
 except
 IdHTTP1.Disconnect;
 Label11.text := 'Sem conexão!';
 conexao := false;
 end;
 if conexao = true then
 begin
 //verifica se ja existe para apagar e criar novamente
 if FileExists(TPath.GetHomePath + PathDelim + 'database.db') then
 begin
 TFile.Delete(TPath.GetHomePath + PathDelim + 'database.db');
 MyFile := TFileStream.Create(TPath.GetHomePath + PathDelim + 'database.db', fmCreate); // local no celular e nome do arquivo com a extensão, onde vai salvar.
 // definir o link
 caminho_d:= 'https://drive.google.com/uc?authuser=0&id=1bzdHsDWJ_XPy_Nn_ljhQRFujyuCPqqIB&export=download'; // aqui defini um caminho padrão pro download , pode ser trocado por um edit, etc
 try
 IdHTTP1.Get(caminho_d, MyFile); // fazendo o download do arquivo e salva no celular
 finally
 MyFile.Free;
 end;
 end;
 end;
 end;
 | 
 
 tentou outro local
 
 caminho_d:= 'https://drive.google.com/uc?authuser=0&id=1bzdHsDWJ_XPy_Nn_ljhQRFujyuCPqqIB&export=download'; // --> Sem https ?
 _________________
 #EdiAcco
 https://twitter.com/AcooEdi
 https://github.com/edvacco
 |  |  
		| Voltar ao Topo |  |  
		|  |  
		| SegundoMeireles Novato
 
  
 
 Registrado: Quarta-Feira, 6 de Fevereiro de 2019
 Mensagens: 15
 
 
 | 
			
				|  Enviada: Qui Fev 14, 2019 9:22 am    Assunto: Re: Delphi XE8, Sqlite e Nuvem. Atualização de Banco de dados |   |  
				| 
 |  
				| Funcionando normalmente. Coloquei assim para atualizar app completo, mas antes, deleto o banco, senão ficaria da mesma forma.
 Mas ficou com outro problema: os componentes FGX não funcionam paralelamente no IdHTTP, mesmo sendo usados no Work do componente. Não sei onde estou errando. Uso o Delphi 10.2 (Tokio)
 
 Comandos:
 
 var
 Caminho_D : String;
 MyFile    : TFileStream;
 aFile  : Jfile;
 Intent : JIntent;
 begin
 {Verifica se o arquivo já existe na pasta de downloads. Apaga caso exista e cria novamente}
 if FileExists(GetSharedDownloadsDir + '/Projeto.apk') then
 DeleteFile(GetSharedDownloadsDir+'/Projeto.apk');
 
 {Difinição do link de download}
 {Nesse momento, você deverá informar o link completo para o download do arquivo}
 Caminho_D:= 'https://drive.google.com/uc?authuser=0&id=1UjPgm4DWjCEUwLThs_pqvTGHVoz9XVE0&export=download';
 
 {Criação a instância do tipo TFileStream}
 {Aqui informamos o local (diretório no mobile) onde o aplicativo será baixado}
 MyFile := TFileStream.Create(GetSharedDownloadsDir + '/Projeto.apk', fmCreate);
 try
 {Download do arquivo}
 IdHTTP1.Get(Caminho_D, MyFile);
 finally
 MyFile.Free;
 end;
 TFile.Delete(TPath.GetHomePath + PathDelim + 'db.db');
 aFile  := TJfile.JavaClass.Init(stringtojstring(GetSharedDownloadsDir), StringToJString('Projeto.apk'));
 Intent := TJIntent.Create;
 Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
 Intent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
 Intent.setDataAndType(TJnet_Uri.JavaClass.fromFile(aFile),StringToJString('application/vnd.android.package-archive'));
 
 SharedActivityContext.startActivity(Intent);
 end;
 |  |  
		| Voltar ao Topo |  |  
		|  |  
		|  |  
  
	| 
 
 | Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido
 Editar Mensagens: Proibido.
 Excluir Mensagens: Proibido.
 Votar em Enquetes: Proibido.
 
 |  |