10. 鈦極OS應用管理中心

鈦極OS應用管理中心

TiJOS通過應用管理中心爲用戶提供了應用管理功能,包括應用安裝,刪除,運行等等,用戶可根據實際應用的需要通過不同方式,進行應用的OTA升級,TiJOS提供的應用管理功能具有安裝升級失敗自動回滾特性,保證用戶應用不會被損壞。

 

TiJOS自帶的終端可以滿足大部分應用管理需求,應用管理中心一般用於用戶實現自定義的OTA功能, 如通過無線WIFI、NB-IoT、藍牙GPRS等等方式進行遠程應用安裝升級,也可以通過UART、USB等等方式進行有線應用安裝升級。

 

鈦極OS(TiJOS)系統的強大之處是支持多應用,應用程序之間可以相互調用,同時支持帶參數啓動;用戶可以將具備不同功能的應用都下載到設備中,根據需要啓動不同應用程序。

 

應用管理的Java包

tijos.framework.appcenter

包含類如下:

類名 說明
TiAPP TiJOS 應用類
TiAPPManager 應用管理類


TiAPP

應用,主要方法如下:

方法 說明
int getId( ) 獲取應用ID
String getName( ) 獲取應用名稱
void execute(boolean immediate, String args) 執行應用 immediate : true立即執行 false 退出當前應用後執行 args: 應用參數
void delete( ) 刪除自身,在程序退出時會實際刪除應用
void enableAutorun( ) 將應用設置爲上電自動運行

 

TiAPPManager

應用管理器,主要方法如下:

方法 說明
TiAPPManager getInstance( ) 獲取TiAppManager實例
OutputStream create(int size) 創建新的APP並獲取輸出流操作實例
TiAPP activate(int type) 激活當前應用 type: TiAPP.APP_GENERIC TiAPP.APP_SHELL
void format( ) 格式化應用存儲區,除Shell外所有的應用都將被刪除
TiAPP getRunningAPP( ) 獲取當前正在運行的應用對象,也就是調用此API的應用
int getTotalSize( ) 獲取應用存儲區總空間
int getFreeSize( ) 獲取應用存儲區剩餘空間

 

應用類型

鈦極OS(TiJOS)系統支持兩種類型的應用程序,分別爲:普通程序(generic)和殼程序(shell),兩種類型應用程序的區別爲操作權限的不同,分別如下:

  • generic類型應用程序無權限調用格式化應用存儲區方法,也無權限刪除其他的應用程序,只能刪除自身。
  • shell類型應用程序可刪除所有類型應用程序。
  • generic類型應用程序只能創建安裝類型爲generic的應用程序,shell應用程序則能創建安裝所有類型應用程序。
  • shell類型應用程序可設置某應用程序爲自動運行屬性,generic類型應用程序無權限操作。


上電自動運行

具有自動運行屬性的應用程序在系統啓動時自動啓動,任何類型的應用程序都可以設置爲自動運行屬性,系統默認的自動運行程序爲ID=0的應用程序(shell),該應用程序爲鈦極OS(TiJOS)系統預裝的終端程序,用戶無權刪除,用戶可通過終端程序(連接PC端設備管理器)下載應用程序、更改系統配置等。

  當用戶應用開發測試完成後,可以設置爲上電自動運行作爲正式產品

 

應用安裝

 應用一般通過TiDevManager來進行安裝、刪除和運行,當用戶需要開發OTA功能時,即需要通過TiAPPManager來實現相應的應用安裝功能。

  調用過程如下所示:

  1. ...
  2. ...
  3. int appFileId = 0; //tapk文件ID自動分配
  4. int appFileSize = ...; //tapk文件大小
  5. TiAPPManager appManager = TiAPPManager.getInstance(); //獲取TiAppManager實例
  6. OutputStream stream = appManager.create(appFileId, appFileSize);    //創建文件並獲取流操作實例
  7. ...
  8. stream.write(transBuffer, 0, transLength);      //流寫入文件
  9. ...
  10. stream.close();
  11. TiAPP app =appManager.activate(TiAPP.APP_GENERIC); //應用激活,generic類型
  12. app.enableAutorun(); //使能自動運行
  13.  
  14. //如果需要可刪除當前的舊應用
  15. TiAPP oldApp = appManager.getRunningAPP(); //獲取當前運行的應用
  16. oldApp.delete(); //刪除自身以釋放空間
  17.  
  18. System.exit(0); //此處可調用系統退出,新應用在啓動時自動運行,從而完成OTA的過程
  19. ...
  20. ...

複製代碼


應用刪除

用戶應用只能刪除自己,通過 TiAPPManager中的getRunningAPP 可獲得當前應用實例, 通過TiApp.delete即可刪除自身, 執行刪除操作時請謹慎。

 

  1. TiAPP oldApp = appManager.getRunningAPP(); //獲取當前運行的應用
  2. oldApp.delete(); //刪除自身以釋放空間

複製代碼


應用運行

TiAPP對象中execute用於執行指定應用,一般用於OTA過程中應用更新過程。 需要上電運行指定應用時, 通過設備管理器安裝設置即可,無需在應用中處理。

 

更多詳細介紹請見鈦雲物聯官網:www.tijos.net

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