(1)弄一个服务器,放个配置文件上去
我用的xampp ,在htdocs的目录里面放了/delphi/json/ver.txt
内容如下
{
"URL": "http://qqe2.com",
"Description": "hello json of delphi",
"Version": 123
}
(2)在xe8创建一个工程
在form1上添加 button1,memo1
(3)代码如下
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes,
System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.ScrollBox,
FMX.Memo, FMX.Controls.Presentation, FMX.StdCtrls,
// add
System.IOUtils, System.JSON, System.Net.HttpClient ;
type TForm1 = class(TForm)Button1: TButton;
Memo1:
TMemo;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function CheckVer: Boolean;
end;
var
Form1: TForm1;
FCheckURL, FServerVersion, FDescription, FInstallFileUrl: string;
implementation
{$R *.fmx}
{$R *.LgXhdpiPh.fmx ANDROID}
procedure TForm1.Button1Click(Sender: TObject);
begin
if CheckVer then
begin
Memo1.lines.add(FServerVersion);
Memo1.lines.add(FDescription);
Memo1.lines.add(FInstallFileUrl);
end;
end;
function TForm1.CheckVer: Boolean;
var
LocalVersion: string;
hc: THTTPClient;
ss: TStringStream;
jo: TJsonObject;
begin
hc := THTTPClient.Create;
ss := TStringStream.Create;
try
hc.Get(FCheckURL, ss);
jo := TJsonObject.ParseJSONValue(ss.DataString) as TJsonObject;
try
FServerVersion := jo.GetValue('Version').Value;
FDescription := jo.GetValue('Description').Value;
FInstallFileUrl := jo.GetValue('URL').Value;
finally
jo.Free;
end;
finally
hc.Free;
ss.Free;
end;
result := true;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FCheckURL := 'http://localhost/delphi/json/ver.txt';
end;
end.
(4)运行结果如下
(5)修改服务器地址,为了安卓调试
我是挂了一部手机,因此,服务器地址就不能写localhost了,必须改为开发机的真实IP
我的ip是 192.168.1.127 ,你可以通过cmd命令行模式执行 ipconfig查看,或者其他什么方法自己熟练就行
修改代码里面服务器上配置文件的地址,
FCheckURL := 'http://192.168.1.127/delphi/json/ver.txt';
(6)手机运行
调整视图为手机
运行结果手机截图,
如果你的手机半天不显示,最后异常了,看下你的开发机防火墙是不是开着,关了就好了。