Skip to Content

使用 C++ Builder 撰寫 Android 程式

使用 C++ Builder 撰寫 Android 程式

安裝 C++ Builder Android

本篇參考此頁的說明

http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Android_Mobile_Application_Development

在安裝 C++ Builder 時,或是在已安裝好的系統上,要安裝 Android 的相關資料。

 

安裝 Android SDK 及 USB Driver

在 開始->程式集 中可以找到 Android Tools ,執行它。

可以用這個工具安裝 Android SDK。

以及安裝 USB Driver。

ps. 我忘了我有沒有在此安裝 SDK,我只記得在編譯 Android 程式時,系統有提醒我缺了某些東西,問我要不要下載安裝,我同意之後,就自動安裝了。

 

更新裝置的驅動程式

在裝置管理員找到自己的裝置,按滑鼠右鍵,選擇「更新驅動程式軟體」。

驅動程式通常在這裡

C:\Users\Public\Documents\Embarcadero\Studio\19.0\CatalogRepository\AndroidSDK-<Version>\extras\google\usb_driver

 

啟用開發者模式

在手機的設定中,找到「關於」頁面,在「版本號碼」的欄位連續按 7 次,就會啟用開發者模式,在設定中會出現「開發人員選項」。

進入「開發人員選項」,開啟「 USB 偵錯」。

如此一來,就可以用 USB 連接電腦與手機,開發的程式就可以直接在手機上執行了。

 

開發程式

依一般方式開發,如下圖,上方可以選擇模擬手機的畫面,右邊的 Target Platforms 選擇 Android,Target 應該可以看到自己的手機裝置。

 

注意事項

在基本的測試之後,我是直接拿過去寫的全文檢索來做簡單的測試,不過一開始無法成功,甚至在除錯也不太順利,有時還沒執行到發生錯誤的地方,就跳出錯誤訊息了。

我後來是先把大部份程式都註解起來,逐漸把程式編譯與執行,如此才慢慢查出是哪些程式無法過關。

後來就知道是因為在 Windows 與 Mac OS 的程式中,字串是以 1 為基底的。而 Android 及 iOS 等移動設備的程式中,字串是以 0 為基底的,所以相關的地方都要找出來修改。

因為這全文檢索是過去寫的程式,有不少地方都用到和字串基底相關的函式。未來應儘量不要直接使用相關的功能,最好是採用疊代器 (iterator) 來處理,就不會有這些問題了。

當然還有一些要注意的事項,可以參考此網頁說明。

http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Migrating_C%2B%2B_Code_to_Mobile_from_Desktop

 

成果

花了二天的時間,經過安裝、設定、編譯、除錯,終於讓全文檢索程式跑出正確的結果了。

這應該算是我第一個稍為正式一點的 Android 程式了,成就解鎖完成。 :)

這程式我也編譯出 Windows 版,讓它在 Win10 執行,可以看到結果是相同的,不過手機查詢所花費的時間大概是 PC 的 10 倍。這點可不太妙,若不是手機太差,就是需要調校才行了。

回應

發表新回應

這個欄位的內容會保密,不會公開顯示。
  • 自動將網址與電子郵件地址轉變為連結。
  • 自動斷行和分段。
  • 可使用的 HTML 標籤:<a> <address> <b> <blockquote> <br> <caption> <center> <cite> <code> <dd> <del> <div> <dl> <dt> <em> <h1> <h2> <h3> <h4> <h5> <h6> <hr> <i> <img> <ins> <li> <ol> <p> <pre> <span> <strike> <strong> <sub> <sup> <table> <tbody> <td> <th> <tr> <u> <ul>
    Allowed Style properties: background, background-attachment, background-color, background-image, background-position, background-repeat, border, border-bottom, border-bottom-color, border-bottom-style, border-bottom-width, border-collapse, border-color, border-left, border-left-color, border-left-style, border-left-width, border-right, border-right-color, border-right-style, border-right-width, border-spacing, border-style, border-top, border-top-color, border-top-style, border-top-width, border-width, bottom, caption-side, clip, color, direction, empty-cells, font, font-family, font-size, font-size-adjust, font-stretch, font-style, font-variant, font-weight, height, left, letter-spacing, line-height, list-style, list-style-image, list-style-position, list-style-type, margin, margin-bottom, margin-left, margin-right, margin-top, max-height, max-width, min-height, min-width, overflow, padding, padding-bottom, padding-left, padding-right, padding-top, right, table-layout, text-align, text-decoration, text-indent, text-transform, top, unicode-bidi, vertical-align, white-space, width, word-spacing, z-index

更多關於格式選項的資訊

CAPTCHA
驗證碼只有阿拉伯數字, 這是躲廣告用的, 麻煩你輸入了.
Image CAPTCHA
Enter the characters shown in the image.


story | about seo