小编Mau*_*ima的帖子

Android 模拟器“允许 USB 调试”对话框在显示后立即关闭

我正在尝试在带有 PlayServices 的 Pixel 模拟设备中使用 Android R 进行调试,但“允许 USB 调试”对话框在显示后立即关闭,因此我无法单击“允许”以 AS 连接到 AVD。我转到 Android 中的开发人员选项以关闭并再次打开 USB 调试,但对话框在显示后立即关闭。我尝试了 kill/star ADB 并卸载所有 AS/user configs/etc 并重新安装,但没有解决。有人有线索吗?

android android-virtual-device android-studio avd-manager android-11

9
推荐指数
4
解决办法
1208
查看次数

如何在 Delphi 上最小化 Android 应用程序?

我试过:

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
  Shift: TShiftState);
begin
if Key = vkHardwareBack then begin
Key := 0;
Form1.WindowState := TWindowState.wsMinimized; // Also tried Application.MainForm
end;
end;
Run Code Online (Sandbox Code Playgroud)

但是,当您第一次点击时,屏幕会变黑,当您第二次点击时,应用程序将关闭。如何避免这种情况?

delphi android firemonkey delphi-10.1-berlin

2
推荐指数
1
解决办法
1047
查看次数

如何测量两个坐标之间的距离,可能的钙含量较少?

我正在尝试使用尽可能少的CPU来做出测量,所以我使用一个常量乘法器得到一个米的值,如下所示:

lat1,long1 =坐标1

lat2,long2 =坐标2

DistV := abs(lat1-lat2);                  // Get a positive vertical value
DistH := abs(lon1-long2);                 // Get a positive horizontal value
DistGPS := sqrt(sqr(DistV) + sqr(DistH)); // Get a diagonal value
DistMeters := DistGPS*(111120*0.946);     // 111120*0.946 = Constant multiplicator to meters
Run Code Online (Sandbox Code Playgroud)

但是,计算出的值将被添加到先前的度量中,因此必须准确.有谁知道更好的方法吗?

delphi math gps coordinates

1
推荐指数
1
解决办法
1295
查看次数

如何使用TArc制作Google加载微调器?

我正在考虑在一个对象中添加加载动画和进度弧(比如加载记录时的WhatsApp),所以我认为最好使用TArc和TFloatAnimation,因为我可以控制笔画的StartAngle和EndAngle.我试图让谷歌加载微调器逻辑,但我很困惑,看起来有一个FloatAnimation具有控制其中一个角度的"线性"插值属性,另一个看起来具有指数或正弦插值的开始/结束非常快,我看不到它,有人已经尝试重现它吗?谢谢.

来自网络的图片: 在此输入图像描述

delphi android android-animation delphi-10.1-berlin c++builder-10.1-berlin

1
推荐指数
1
解决办法
1046
查看次数

正确进行线程 FTP 下载 (Indy/Android)

我已经制作了一个 IdFTP 从我的 FTP 服务器下载文件,但是当我尝试将其设为线程时,它卡在 Android 操作系统中的“正在解析主机名...”中。

没有线程(工作正常):

uses ..., IdFTPCommon;

var
  RecordDownload: TMemoryStream;

uses System.IOUtils;

procedure TForm1.Button1Click(Sender: TObject);
begin
  IdFTP1.Host := 'motoristaajudante.ddns.net';
  IdFTP1.Port := 2121;
  IdFTP1.DataPortMin := 50100;
  IdFTP1.DataPortMax := 51100;
  IdFTP1.Username := 'anonymous';
  IdFTP1.TransferType := IdFTPCommon.TIdFTPTransferType.ftBinary;
  IdFTP1.Passive := True;
  try
    IdFTP1.Connect();
    IdFTP1.Get('00001.m4a',TPath.GetDocumentsPath + PathDelim + '00001.m4a',True,False);
  except
    IdFTP1.Disconnect;
  end;
end;

procedure TForm1.IdFTP1AfterGet(ASender: TObject; AStream: TStream);
begin
  IdFTP1.Disconnect;
end;

procedure TForm1.IdFTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);
begin
  if FileExists(TPath.GetDocumentsPath + PathDelim + '00001.m4a') then
  begin
      ShowMessage('Downloaded!');
  end;
end;
Run Code Online (Sandbox Code Playgroud)

我按照这个解决方案编写的线程代码:

uses …
Run Code Online (Sandbox Code Playgroud)

delphi ftp android indy delphi-10.1-berlin

1
推荐指数
1
解决办法
2858
查看次数

如何使用 Indy HTTP Get 命令正确终止线程?

GET我的应用程序对事件发出命令FormShow,有时用户可能会在Back线程启动但尚未完成后按下并关闭表单,从而导致诸如Thread Error: Invalid argument (22)或 之类的错误Thread Error: No such process (3)。

procedure TForm58.FormShow(Sender: TObject);
begin
    if Assigned(LListThread) then LListThread := nil;
    LListThread := TLoadListThread.Create;
    LListThread.OnTerminate := LoadListThreadTerminated;
    LListThread.Start;
end;

constructor TLoadListThread.Create;
begin
  inherited Create(True);
  FreeOnTerminate := True;
end;

procedure TLoadListThread.Execute;
begin
    if Form58.IdHTTP1.Connected then Form58.IdHTTP1.Disconnect;
    st := TStringList.Create;
    try
        ms := TMemoryStream.Create;
        Synchronize(
        procedure
        begin
            Form58.Label1.Text := 'Loading...';
        end);
        try
            Form58.IdHTTP1.Get(urlserver,ms);
            ms.Position := 0;
            st.LoadFromStream(ms, TEncoding.UTF8);
        finally
            ms.Free;
        end;
        // Do …
Run Code Online (Sandbox Code Playgroud)

delphi multithreading android indy indy10

1
推荐指数
1
解决办法
560
查看次数