Delphi APP 開發入門(十)REST Client 開發

閲讀次數:3116 發表時間:2014/08/27

Delphi APP 開發入門(九)拍照與分享 << 前情

Delphi在XE5開始就提供了REST Client的元件,讓開發REST Client應用的開發者能在最短的時間開發出相關的應用,今天就利用臺北市政府資料開放平台中的資料來做一個簡單的範例「台北住宿通」。

首先,我們先到臺北市政府資料開放平台來找尋我們想要的資料。找到了臺北市旅館資料庫後,我們把新版資料介接後的網址(http://data.taipei.gov.tw/opendata/apply/query/NDQxOEM2MDAtRDdGNS00NkQ2LUJCMUYtMURBMjlEQUI5MUU5?$format=json) 複製下來。
接著回到Delphi,開啟新專案,我們將REST Client的幾個元件佈置上去,分別是TRESTClient、TRESTRequest、TRESTResponse與TRESTResponseDataSetAdapter。

另外為了要讓資料顯示出來,我們在畫面上新增ClientDataSet以及ListView,最後佈置畫面如下。

接下來我們要設定RESTClient及RESTReponseDataSetAdapter的屬性。

RESTClient的BASEURL貼上臺北市旅館資料庫的連結網址。

RESTResponseDataSetAdapter的屬性

DataSet: ClientDataSet1

Reponse: RESTResponse1

設定完成後,在RESTRequest1按右鍵,點選Execute後,如果成功取回資料會出現OK訊息。

開啟Tools→REST Debugger工具,將URLs貼上連結後,按下Send Request。

接著點選下面的body,來看看取得的json有那些資料,往下拉之後可以看到sTitle為旅館名稱。

接下來開啟View→LiveBindings Designer

將ClientDataset中的sTitle拖拉到ListView的Item.text。就完成了!

寫到這裡看起來完成了!不過只顯示旅館名稱有點掉漆,Listview可以多顯示點東西嗎?答案是可以的!但要先安裝沒有預設安裝的元件。

在 C:\Users\Public\Documents\Embarcadero\Studio\14.0\Samples\Object Pascal\Mobile Samples\User Interface\ListView 藏有二個元件,我們先將程式存檔後,依序打開二個 .dpk的元件後,按右鍵Install安裝。

另外,別忘了在Tools→Options→Library中的Library Path加上路徑。

安裝完後,我們再開啟程式。點選ListView,開啟ItemApperarance的ItemAppearance屬性,我們看到出現了一個MultiDetailItem,點選它。

接著開啟LiveBinding Designer功能,看到多了幾個Detail,在這邊我們就把cat2(分類)、sAddr(地址)、memo_tel(電話)連結到明細裡。

這樣看起來就更專業了!接著大家可以發揮創意,結合之前教過的Google Map功能讓它顯示出來囉!

GitHub 程式下載 https://github.com/superlevin/XE6RestClientDemo

Delphi APP 開發入門(十)REST Client 開發的更多相关文章

  1. Delphi APP 開發入門(五)GPS 定位功能

    Delphi APP 開發入門(五)GPS 定位功能 分享: Share on facebookShare on twitterShare on google_plusone_share   閲讀次數 ...

  2. Delphi APP 開發入門(九)拍照與分享

    Delphi APP 開發入門(九)拍照與分享 分享: Share on facebookShare on twitterShare on google_plusone_share   閲讀次數:30 ...

  3. Delphi APP 開發入門(八)SQLite資料庫

    Delphi APP 開發入門(八)SQLite資料庫 分享: Share on facebookShare on twitterShare on google_plusone_share   閲讀次 ...

  4. Delphi APP 開發入門(七)通知與雲端推播

    Delphi APP 開發入門(七)通知與雲端推播 分享: Share on facebookShare on twitterShare on google_plusone_share   閲讀次數: ...

  5. Delphi APP 開發入門(四)簡易手電筒

    Delphi APP 開發入門(四)簡易手電筒 分享: Share on facebookShare on twitterShare on google_plusone_share   閲讀次數:32 ...

  6. Delphi APP 開發入門(六)Object Pascal 語法初探

    Delphi APP 開發入門(六)Object Pascal 語法初探 分享: Share on facebookShare on twitterShare on google_plusone_sh ...

  7. Delphi APP 開發入門(三)簡易計算機

    Delphi APP 開發入門(三)簡易計算機 分享: Share on facebookShare on twitterShare on google_plusone_share   閲讀次數:68 ...

  8. Delphi APP 開發入門(二)Android/iOS設定,Hello World

    Delphi APP 開發入門(二)Android/iOS設定,Hello World 分享: Share on facebookShare on twitterShare on google_plu ...

  9. Delphi APP 開發入門(一)重生的 Delphi

    Delphi APP 開發入門(一)重生的 Delphi 分享: Share on facebookShare on twitterShare on google_plusone_share   閲讀 ...

随机推荐

  1. 选择LoadRunner Protocol的两大定律

    选择LoadRunner Protocol的两大定律 确定性能测试脚本录制时使用的协议类型经常是一个容易引起误会的问题.很多刚刚接触到性能测试的同行常常会想当然地根据开发语言等来决定协议的选取,导致录 ...

  2. 利用LoadRunner判断HTTP服务器的返回状态

    利用LoadRunner判断HTTP服务器的返回状态第一种方法:是利用LR的内置函数web_get_int_property.举例:#include "web_api.h"Acti ...

  3. Asp.net - Razor - 将Model中变量的值赋值给Javascript变量

    <script type="text/javascript"> @{var _userID = Model.UserId.HasValue ? Model.UserId ...

  4. 指针*pbuffer和getchar 读取字符串

    在C语言入门教材里看到这一段代码,没看懂是什么意思.char buffer[10];char *pbuffer = buffer;while( (*pbuffer++ = getchar() )!= ...

  5. Sqlite - constraint failed[0x1555]: UNIQUE constraint failed

    执行插入操作时,出现异常constraint failed[0x1555]: UNIQUE constraint failed 意思是:sqlite 唯一约束失败 定位于某个表字段上,该字段是表的主键 ...

  6. WPF Expander控件(扩展面板)

    这算是我比较喜欢的一个控件,以前在Winform中也常用类似的.它包装了一块内容,通过单击一个小箭头按钮可以显示或隐藏所包含的内容.在线帮助以及Web页面经常使用这种技术,因为既可以包含大量内容,而又 ...

  7. Linux命令之乐--find

    find是命令行工具箱中最棒的命令之一. 列出当前目录及其子目录中的文件和文件夹. [root@LAMP WebRoot]# find . -print../index.jsp./upload.jsp ...

  8. IOS内购支付服务器验证模式

    IOS 内购支付两种模式: 内置模式 服务器模式 内置模式的流程: app从app store 获取产品信息 用户选择需要购买的产品 app发送支付请求到app store app store 处理支 ...

  9. VC 常用资源

    vckbase:www.vckbase.com emule:http://sourceforge.net/projects/emule/files/eMule/ firefox developer:h ...

  10. [iOS微博项目 - 3.5] - 封装业务

    github: https://github.com/hellovoidworld/HVWWeibo   A.封装微博业务 1.需求 把微博相关业务(读取.写微博) 界面控制器不需要知道微博操作细节( ...