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