Android快應用開發(二)

這節我們介紹項目的目錄結構

當然大部分是華爲官網的文檔,編輯時間爲(2019-8-12)

如果時間過太久了可以去閱讀官方文檔,但是這個差別應該不是很大,閱讀的時候必須要配合真實項目來看才能加深理解,不然看了關了電腦就忘了。

一、應用包含:描述項目配置信息的manifest文件,放置項目公共資源腳本的app.ux,多個描述頁面/自定義組件的ux文件,典型示例如下:

首先說說配置文件,

配置文件編寫格式是json格式,裏面有一堆的鍵值對,其中包含Android經常用的包名啊,版本啊,權限啊,路由啊(以前的Activity),Icon啊等玩意。有點像以前沒有用上gradle時候的配置文件

其次Common目錄下爲公用的資源文件和組件文件,每個頁面目錄下存放各自頁面私有的資源文件和組件文件,如:圖片,CSS,JS等。

page就是試圖了,比如Hello頁面我們就把他放到hello.ux中,hello中包含的子頁面,資源也都在這個目錄下。

二、文件存儲

 

在應用平臺中是按分區來存儲文件的,目前支持以下分區:

● Cache:一般用於存儲緩存文件,比如通過fetch接口下載的文件會存儲在該分區中,該分區中的文件可能因存儲空間不夠被系統刪除。
● Files:一般用於存儲比較小的永久文件,該分區中的文件由應用自己管理,例如LOG日誌什麼的。
● Mass:一般用於存儲比較大的文件,但該分區並不保證一直可用。快應用中心會在SD卡上分配一個存儲目錄作爲Mass分區的實際存儲路徑,手機上其他應用對此存儲路徑具有讀取權限,比如音樂,視頻,電子書等等文件。
● Temp:表示從外部映射過來的臨時文件,出於安全性考慮,臨時文件是隻讀的,並且只能通過調用特定的API獲取,比如media.pickVideo方法。另外臨時文件的訪問是臨時的,應用重啓後無法訪問到臨時文件,需要通過特定API重新獲取。

另外應用資源也作爲一個特殊的只讀分區進行處理。

 

三,URI 統一資源標識符

 

URI用於標識應用資源和文件,組件和接口通過URI來訪問應用資源和文件。

資源類型 URI 是否只讀 示例 說明
應用資源 /path /Common/header.png -
Cache internal://cache/path/ internal://cache/fetch-123456.png -
Files internal://files/path internal://files/image/demo.png -
Mass internal://mass/path internal://mass/video/demo.mp4 -
Temp internal://tmp/path internal://tmp/xxxxx/demo.png(文件名稱) 由系統動態生成

URI允許的字符正則表達式是[^\\s\"':|*?<>\\\\]+(不包含引號),URI中不能出現..,URI支持目錄結構,目錄由斜線'/'分隔。

internal URI表示的是應用私有文件,即在指定internal URI時,無需指定應用標識,同一個internal URI對於不同的應用會指向不同的文件。

 

四,資源使用規則

應用資源路徑分爲絕對路徑和相對路徑,以"/"開頭的路徑表示絕對路徑,比如 /Common/a.png,不以"/"開頭的路徑是相對路徑,比如 a.png 和 ../Common/a.png 等。

應用資源文件分爲代碼文件和資源文件,代碼文件是指 .js/.css/.ux 等包含代碼的文件,其他文件則是資源文件,這類文件一般只當作數據來使用,比如圖片、視頻等。

1、在代碼文件中,導入其他代碼文件時,使用相對路徑,比如:../Common/component.ux。
2、在代碼文件中,引用資源文件(如:圖片、視頻等)時,一般情況下使用相對路徑,比如: ./abc.png。
3、當代碼文件需要被導入時,如果導入文件與被導入文件在同一個目錄,被導入文件引用資源文件時可以使用相對路徑,但如果不在同一目錄,必須使用絕對路徑,因爲被導入文件編譯時會被複制到導入文件中,編譯後目錄會發生變化。

比如 a.css 文件被 b.ux 導入,如果 a.css 與 b.ux 在同一個目錄,a.css 引用資源文件時可以寫相對路徑:abc.png;如果不在同一個目錄,必須寫絕對路徑:/Common/abc.png。

再比如當a.ux文件被b.ux文件導入時,如果 a.ux 與 b.ux 在同一個目錄,a.ux 引用資源文件時可以寫相對路徑:a.png;如果不在同一個目錄,a.ux 引用資源必須寫絕對路徑:/Common/abc.png。

在CSS中,與前端開發一致,使用url(PATH)的方式訪問資源文件,如:url(/Common/abc.png)

 

另外,

配置文件具體屬性:https://developer.huawei.com/consumer/cn/service/hms/catalog/fastapp.html?page=fastapp_fastapp_devguide_manifest

UX文件使用示例:https://developer.huawei.com/consumer/cn/service/hms/catalog/fastapp.html?page=fastapp_fastapp_devguide_ux

template模板使用:https://developer.huawei.com/consumer/cn/service/hms/catalog/fastapp.html?page=fastapp_fastapp_devguide_template

style樣式使用:https://developer.huawei.com/consumer/cn/service/hms/catalog/fastapp.html?page=fastapp_fastapp_devguide_style

script腳本使用:https://developer.huawei.com/consumer/cn/service/hms/catalog/fastapp.html?page=fastapp_fastapp_devguide_script

上面這些示例的使用詳情會隨着版本迭代更新很快,所以建議去讀源文檔。這幾篇文章只是設計到一些很基本的使用方法,可以大概略過,有個整體的認識和理解。

 

下一節我們各自使用一下這些文檔中的示例,真正用代碼體驗一下整體流程,再看看能學到的東西有哪些並做個總結,總結完再具體去了解各個組件。

歐了,下班

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章