chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙Ability Kit(程序框架服務(wù))【應(yīng)用上下文Context】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-06 09:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

應(yīng)用上下文Context

概述

[Context]是應(yīng)用中對象的上下文,其提供了應(yīng)用的一些基礎(chǔ)信息,例如resourceManager(資源管理)、applicationInfo(當(dāng)前應(yīng)用信息)、dir(應(yīng)用文件路徑)、area(文件分區(qū))等,以及應(yīng)用的一些基本方法,例如createBundleContext()、getApplicationContext()等。UIAbility組件和各種ExtensionAbility派生類組件都有各自不同的Context類。分別有基類Context、ApplicationContext、AbilityStageContext、UIAbilityContext、ExtensionContext、ServiceExtensionContext等Context。

  • 各類Context的繼承關(guān)系
    ![context-inheritance]
  • 各類Context的持有關(guān)系
    ![context-holding]
  • 各類Context的獲取方式
    • 獲取[UIAbilityContext]。每個UIAbility中都包含了一個Context屬性,提供操作應(yīng)用組件、獲取應(yīng)用組件的配置信息等能力。

      import UIAbility from '@ohos.app.ability.UIAbility';
      import type AbilityConstant from '@ohos.app.ability.AbilityConstant';
      import type Want from '@ohos.app.ability.Want';
      export default class EntryAbility extends UIAbility {
        onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
          let uiAbilityContext = this.context;
          //...
        }
      }
      

      說明:
      開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
      頁面中獲取UIAbility實例的上下文信息請參見[獲取UIAbility的上下文信息]。

    • 獲取特定場景[ExtensionContext]。以ServiceExtensionContext為例,表示后臺服務(wù)的上下文環(huán)境,繼承自ExtensionContext,提供后臺服務(wù)相關(guān)的接口能力。

      import ServiceExtensionAbility from '@ohos.app.ability.ServiceExtensionAbility';
      import type Want from '@ohos.app.ability.Want';
      export default class ServiceExtAbility extends ServiceExtensionAbility {
        onCreate(want: Want) {
          let serviceExtensionContext = this.context;
          //...
        }
      }
      
    • 獲取[AbilityStageContext]。Module級別的Context,和基類Context相比,額外提供HapModuleInfo、Configuration等信息。

      import AbilityStage from '@ohos.app.ability.AbilityStage';
      export default class MyAbilityStage extends AbilityStage {
        onCreate(): void {
          let abilityStageContext = this.context;
          //...
        }
      }
      
    • 獲取[ApplicationContext]。應(yīng)用級別的Context。ApplicationContext在基類Context的基礎(chǔ)上提供了訂閱應(yīng)用內(nèi)應(yīng)用組件的生命周期的變化、訂閱系統(tǒng)內(nèi)存變化和訂閱應(yīng)用內(nèi)系統(tǒng)環(huán)境的變化的能力,在UIAbility、ExtensionAbility、AbilityStage中均可以獲取。

      import UIAbility from '@ohos.app.ability.UIAbility';
      import type AbilityConstant from '@ohos.app.ability.AbilityConstant';
      import type Want from '@ohos.app.ability.Want';
      export default class EntryAbility extends UIAbility {
        onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
          let applicationContext = this.context.getApplicationContext();
          //...
        }
      }
      

Context的典型使用場景

本章節(jié)通過如下典型場景來介紹Context的用法:

  • [獲取應(yīng)用文件路徑]
  • [獲取和修改加密分區(qū)]
  • [獲取本應(yīng)用中其他module的context]
  • [訂閱進程內(nèi)UIAbility生命周期變化]

獲取應(yīng)用文件路徑

[基類Context]提供了獲取應(yīng)用文件路徑的能力,ApplicationContext、AbilityStageContext、UIAbilityContext和ExtensionContext均繼承該能力。應(yīng)用文件路徑屬于應(yīng)用沙箱路徑,具體請參見[應(yīng)用沙箱目錄]。

上述各類Context獲取的應(yīng)用文件路徑有所不同。

  • 通過ApplicationContext獲取應(yīng)用級別的應(yīng)用文件路徑,此路徑是應(yīng)用全局信息推薦的存放路徑,這些文件會跟隨應(yīng)用的卸載而刪除。

    屬性路徑
    bundleCodeDir<路徑前綴>/el1/bundle
    cacheDir<路徑前綴>/<加密等級>/base/cache
    filesDir<路徑前綴>/<加密等級>/base/files
    preferencesDir<路徑前綴>/<加密等級>/base/preferences
    tempDir<路徑前綴>/<加密等級>/base/temp
    databaseDir<路徑前綴>/<加密等級>/database
    distributedFilesDir<路徑前綴>/el2/distributedFiles
    cloudFileDir12+<路徑前綴>/el2/hmdfs/cloud/data

    示例代碼如下所示。

    import common from '@ohos.app.ability.common';
    import hilog from '@ohos.hilog';
    import promptAction from '@ohos.promptAction';
    
    const TAG: string = '[Page_Context]';
    const DOMAIN_NUMBER: number = 0xFF00;
    @Entry
    @Component
    struct Page_Context {
      private context = getContext(this) as common.UIAbilityContext;
    
      build() {
        Column() {
          //...
          List({ initialIndex: 0 }) {
            ListItem() {
              Row() {
                //...
              }
              .onClick(() = > {
                let applicationContext = this.context.getApplicationContext();
                let cacheDir = applicationContext.cacheDir;
                let tempDir = applicationContext.tempDir;
                let filesDir = applicationContext.filesDir;
                let databaseDir = applicationContext.databaseDir;
                let bundleCodeDir = applicationContext.bundleCodeDir;
                let distributedFilesDir = applicationContext.distributedFilesDir;
                let preferencesDir = applicationContext.preferencesDir;
                // 獲取應(yīng)用文件路徑
                let filePath = tempDir + 'test.txt';
                hilog.info(DOMAIN_NUMBER, TAG, `filePath: ${filePath}`);
                if (filePath !== null) {
                  promptAction.showToast({
                    message: filePath
                  });
                }
              })
            }
            //...
          }
          //...
        }
        //...
      }
    }
    
  • 通過AbilityStageContext、UIAbilityContext、ExtensionContext獲取HAP級別的應(yīng)用文件路徑。此路徑是HAP相關(guān)信息推薦的存放路徑,這些文件會跟隨HAP的卸載而刪除,但不會影響應(yīng)用級別路徑的文件,除非該應(yīng)用的HAP已全部卸載。

    屬性路徑
    bundleCodeDir<路徑前綴>/el1/bundle
    cacheDir<路徑前綴>/<加密等級>/base/haps//cache
    filesDir<路徑前綴>/<加密等級>/base/haps//files
    preferencesDir<路徑前綴>/<加密等級>/base/haps//preferences
    tempDir<路徑前綴>/<加密等級>/base/haps//temp
    databaseDir<路徑前綴>/<加密等級>/database/ ****
    distributedFilesDir<路徑前綴>/el2/distributedFiles/ ****
    cloudFileDir12+<路徑前綴>/el2/hmdfs/cloud/data/ ****

    示例代碼如下所示。

    import common from '@ohos.app.ability.common';
    import hilog from '@ohos.hilog';
    import promptAction from '@ohos.promptAction';
    
    const TAG: string = '[Page_Context]';
    const DOMAIN_NUMBER: number = 0xFF00;
    @Entry
    @Component
    struct Page_Context {
      private context = getContext(this) as common.UIAbilityContext;
    
      build() {
        Column() {
          //...
          List({ initialIndex: 0 }) {
            ListItem() {
              Row() {
                //...
              }
              .onClick(() = > {
                let cacheDir = this.context.cacheDir;
                let tempDir = this.context.tempDir;
                let filesDir = this.context.filesDir;
                let databaseDir = this.context.databaseDir;
                let bundleCodeDir = this.context.bundleCodeDir;
                let distributedFilesDir = this.context.distributedFilesDir;
                let preferencesDir = this.context.preferencesDir;
                // 獲取應(yīng)用文件路徑
                let filePath = tempDir + 'test.txt';
                hilog.info(DOMAIN_NUMBER, TAG, `filePath: ${filePath}`);
                if (filePath !== null) {
                  promptAction.showToast({
                    message: filePath
                  });
                }
              })
            }
            //...
          }
          //...
        }
        //...
      }
    }
    

獲取和修改加密分區(qū)

應(yīng)用文件加密是一種保護數(shù)據(jù)安全的方法,可以使得文件在未經(jīng)授權(quán)訪問的情況下得到保護。在不同的場景下,應(yīng)用需要不同程度的文件保護。

在實際應(yīng)用中,開發(fā)者需要根據(jù)不同場景的需求選擇合適的加密分區(qū),從而保護應(yīng)用數(shù)據(jù)的安全。通過合理使用不同級別的加密分區(qū),可以有效提高應(yīng)用數(shù)據(jù)的安全性。關(guān)于不同分區(qū)的權(quán)限說明,詳見[ContextConstant]的AreaMode。

  • EL1:對于私有文件,如鬧鈴、壁紙等,應(yīng)用可以將這些文件放到設(shè)備級加密分區(qū)(EL1)中,以保證在用戶輸入密碼前就可以被訪問。
  • EL2:對于更敏感的文件,如個人隱私信息等,應(yīng)用可以將這些文件放到更高級別的加密分區(qū)(EL2)中,以保證更高的安全性。
  • EL3:對于應(yīng)用中的記錄步數(shù)、文件下載、音樂播放,需要在鎖屏?xí)r讀寫和創(chuàng)建新文件,放在(EL3)的加密分區(qū)比較合適。
  • EL4:對于用戶安全信息相關(guān)的文件,鎖屏?xí)r不需要讀寫文件、也不能創(chuàng)建文件,放在(EL4)的加密分區(qū)更合適。

要實現(xiàn)獲取和設(shè)置當(dāng)前加密分區(qū),可以通過讀寫[Context]的area屬性來實現(xiàn)。

import UIAbility from '@ohos.app.ability.UIAbility';
import contextConstant from '@ohos.app.ability.contextConstant';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import Want from '@ohos.app.ability.Want';

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
    // 存儲普通信息前,切換到EL1設(shè)備級加密
    this.context.area = contextConstant.AreaMode.EL1; // 切換area
    // 存儲普通信息

    // 存儲敏感信息前,切換到EL2用戶級加密
    this.context.area = contextConstant.AreaMode.EL2; // 切換area
    // 存儲敏感信息

    // 存儲敏感信息前,切換到EL3用戶級加密
    this.context.area = contextConstant.AreaMode.EL3; // 切換area
    // 存儲敏感信息

    // 存儲敏感信息前,切換到EL4用戶級加密
    this.context.area = contextConstant.AreaMode.EL4; // 切換area
    // 存儲敏感信息
  }
}
import contextConstant from '@ohos.app.ability.contextConstant';
import common from '@ohos.app.ability.common';
import promptAction from '@ohos.promptAction';

@Entry
@Component
struct Page_Context {
  private context = getContext(this) as common.UIAbilityContext;

  build() {
    Column() {
      //...
      List({ initialIndex: 0 }) {
        //...
        ListItem() {
          Row() {
            //...
          }
          .onClick(() = > {
            // 存儲普通信息前,切換到EL1設(shè)備級加密
            if (this.context.area === contextConstant.AreaMode.EL2) { // 獲取area
              this.context.area = contextConstant.AreaMode.EL1; // 修改area
              promptAction.showToast({
                message: $r('app.string.SwitchToEL1')
              });
            }
            // 存儲普通信息
          })
        }
        //...
        ListItem() {
          Row() {
            //...
          }
          .onClick(() = > {
            // 存儲敏感信息前,切換到EL2用戶級加密
            if (this.context.area === contextConstant.AreaMode.EL1) { // 獲取area
              this.context.area = contextConstant.AreaMode.EL2; // 修改area
              promptAction.showToast({
                message: $r('app.string.SwitchToEL2')
              });
            }
            // 存儲敏感信息
          })
        }
        //...
      }
      //...
    }
    //...
  }
}

獲取本應(yīng)用中其他Module的Context

調(diào)用createModuleContext(moduleName:string)方法,獲取本應(yīng)用中其他Module的Context。獲取到其他Module的Context之后,即可獲取到相應(yīng)Module的資源信息。

import promptAction from '@ohos.promptAction';
import common from '@ohos.app.ability.common';

let storageEventCall = new LocalStorage();

@Entry(storageEventCall)
@Component
struct Page_Context {
  private context = getContext(this) as common.UIAbilityContext;

  build() {
    Column() {
      //...
      List({ initialIndex: 0 }) {
        ListItem() {
          Row() {
            //...
          }
          .onClick(() = > {
            let moduleName2: string = 'entry';
            let moduleContext: Context = this.context.createModuleContext(moduleName2);
            if (moduleContext !== null) {
              promptAction.showToast({
                message: ('成功獲取Context')
              });
            }
          })
        }
        //...
      }
      //...
    }
    //...
  }
}

訂閱進程內(nèi)UIAbility生命周期變化

在應(yīng)用內(nèi)的DFX統(tǒng)計場景中,如需要統(tǒng)計對應(yīng)頁面停留時間和訪問頻率等信息,可以使用訂閱進程內(nèi)UIAbility生命周期變化功能。

通過[ApplicationContext]提供的能力,可以訂閱進程內(nèi)UIAbility生命周期變化。當(dāng)進程內(nèi)的UIAbility生命周期變化時,如創(chuàng)建、可見/不可見、獲焦/失焦、銷毀等,會觸發(fā)相應(yīng)的回調(diào)函數(shù)。每次注冊回調(diào)函數(shù)時,都會返回一個監(jiān)聽生命周期的ID,此ID會自增+1。當(dāng)超過監(jiān)聽上限數(shù)量2^63-1時,會返回-1。以[UIAbilityContext]中的使用為例進行說明。
鴻蒙文檔.png

`HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

import type AbilityConstant from '@ohos.app.ability.AbilityConstant';
import type AbilityLifecycleCallback from '@ohos.app.ability.AbilityLifecycleCallback';
import hilog from '@ohos.hilog';
import UIAbility from '@ohos.app.ability.UIAbility';
import type Want from '@ohos.app.ability.Want';
import type window from '@ohos.window';

const TAG: string = '[LifecycleAbility]';
const DOMAIN_NUMBER: number = 0xFF00;

export default class LifecycleAbility extends UIAbility {
  // 定義生命周期ID
  lifecycleId: number = -1;

  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    // 定義生命周期回調(diào)對象
    let abilityLifecycleCallback: AbilityLifecycleCallback = {
      // 當(dāng)UIAbility創(chuàng)建時被調(diào)用
      onAbilityCreate(uiAbility) {
        hilog.info(DOMAIN_NUMBER, TAG, `onAbilityCreate uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
      },
      // 當(dāng)窗口創(chuàng)建時被調(diào)用
      onWindowStageCreate(uiAbility, windowStage: window.WindowStage) {
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageCreate uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageCreate windowStage: ${JSON.stringify(windowStage)}`);
      },
      // 當(dāng)窗口處于活動狀態(tài)時被調(diào)用
      onWindowStageActive(uiAbility, windowStage: window.WindowStage) {
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageActive uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageActive windowStage: ${JSON.stringify(windowStage)}`);
      },
      // 當(dāng)窗口處于非活動狀態(tài)時被調(diào)用
      onWindowStageInactive(uiAbility, windowStage: window.WindowStage) {
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageInactive uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageInactive windowStage: ${JSON.stringify(windowStage)}`);
      },
      // 當(dāng)窗口被銷毀時被調(diào)用
      onWindowStageDestroy(uiAbility, windowStage: window.WindowStage) {
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageDestroy uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageDestroy windowStage: ${JSON.stringify(windowStage)}`);
      },
      // 當(dāng)UIAbility被銷毀時被調(diào)用
      onAbilityDestroy(uiAbility) {
        hilog.info(DOMAIN_NUMBER, TAG, `onAbilityDestroy uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
      },
      // 當(dāng)UIAbility從后臺轉(zhuǎn)到前臺時觸發(fā)回調(diào)
      onAbilityForeground(uiAbility) {
        hilog.info(DOMAIN_NUMBER, TAG, `onAbilityForeground uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
      },
      // 當(dāng)UIAbility從前臺轉(zhuǎn)到后臺時觸發(fā)回調(diào)
      onAbilityBackground(uiAbility) {
        hilog.info(DOMAIN_NUMBER, TAG, `onAbilityBackground uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
      },
      // 當(dāng)UIAbility遷移時被調(diào)用
      onAbilityContinue(uiAbility) {
        hilog.info(DOMAIN_NUMBER, TAG, `onAbilityContinue uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
      }
    };
    // 獲取應(yīng)用上下文
    let applicationContext = this.context.getApplicationContext();
    // 注冊應(yīng)用內(nèi)生命周期回調(diào)
    this.lifecycleId = applicationContext.on('abilityLifecycle', abilityLifecycleCallback);
    hilog.info(DOMAIN_NUMBER, TAG, `register callback number: ${this.lifecycleId}`);
  }

  //...

  onDestroy() : void {
    // 獲取應(yīng)用上下文
    let applicationContext = this.context.getApplicationContext();
    // 取消應(yīng)用內(nèi)生命周期回調(diào)
    applicationContext.off('abilityLifecycle', this.lifecycleId);
  }
};

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 框架
    +關(guān)注

    關(guān)注

    0

    文章

    404

    瀏覽量

    18207
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2737

    瀏覽量

    45015
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    鴻蒙開發(fā)接口Ability框架:【@ohos.application.Ability (Ability)】

    Ability模塊提供對Ability生命周期、上下文環(huán)境等調(diào)用管理的能力,包括Ability創(chuàng)建、銷毀、轉(zhuǎn)儲客戶端信息等。
    的頭像 發(fā)表于 04-30 17:42 ?3103次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【@ohos.application.<b class='flag-5'>Ability</b> (<b class='flag-5'>Ability</b>)】

    鴻蒙開發(fā)接口Ability框架:【 (Context模塊)】

    Context模塊提供了ability或application的上下文的能力,包括允許訪問特定于應(yīng)用程序的資源、請求和驗證權(quán)限等。
    的頭像 發(fā)表于 05-13 16:04 ?1457次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【 (<b class='flag-5'>Context</b>模塊)】

    鴻蒙開發(fā)接口Ability框架:【(AbilityContext)】

    AbilityContext是Ability上下文環(huán)境,繼承自Context
    的頭像 發(fā)表于 05-13 09:26 ?1711次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【(AbilityContext)】

    鴻蒙開發(fā)接口Ability框架:【Context

    Context模塊提供開發(fā)者運行代碼的上下文環(huán)境的能力,包括查詢和設(shè)置應(yīng)用信息、ResourceManager等信息。
    的頭像 發(fā)表于 05-21 17:33 ?1508次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【<b class='flag-5'>Context</b>】

    關(guān)于進程上下文、中斷上下文及原子上下文的一些概念理解

    不同運行狀態(tài),才有了上下文的概念。用戶空間的應(yīng)用程序,如果想請求系統(tǒng)服務(wù),比如操作某個物理設(shè)備,映射設(shè)備的地址到用戶空間,必須通過系統(tǒng)調(diào)用來實現(xiàn)。(系統(tǒng)調(diào)用是操作系統(tǒng)提供給用戶空間的接口函數(shù))。 通過系統(tǒng)
    發(fā)表于 09-06 09:58

    進程上下文與中斷上下文的理解

    的切換1.進程上下文主要是異常處理程序和內(nèi)核線程。內(nèi)核之所以進入進程上下文是因為進程自身的一些工作需要在內(nèi)核中做。例如,系統(tǒng)調(diào)用是為當(dāng)前進程服務(wù)的,異常通常是處理進程導(dǎo)致的錯誤狀態(tài)等。
    發(fā)表于 12-11 19:45

    進程上下文/中斷上下文及原子上下文的概念

    為什么會有上下文這種概念進程上下文/中斷上下文及原子上下文的概念
    發(fā)表于 01-13 07:17

    HarmonyOS/OpenHarmony(Stage模型)卡片開發(fā)應(yīng)用上下文Context概述

    概述 Context是應(yīng)用中對象的上下文,其提供了應(yīng)用的一些基礎(chǔ)信息,例如resourceManager(資源管理)、applicationInfo(當(dāng)前應(yīng)用信息)、dir(應(yīng)用開發(fā)路徑)、area
    發(fā)表于 08-24 16:30

    基于Pocket PC的上下文菜單實現(xiàn)

    介紹了基于 Pocket PC 中的點按操作概念, 論述了在Pocket PC 中上下文菜單的實現(xiàn)原理及方法, 并給出了基于MFC 下的Windows CE 應(yīng)用程序實現(xiàn)上下文菜單的步驟和代碼實例。
    發(fā)表于 07-25 18:26 ?17次下載

    基于上下文相似度的分解推薦算法

    針對移動服務(wù)推薦中用戶上下文環(huán)境復(fù)雜多變和數(shù)據(jù)稀疏性問題,提出一種基于移動用戶上下文相似度的張量分解推薦算法-UCS-TF。該算法組合用戶間的多維上下文相似度和
    發(fā)表于 11-27 17:42 ?0次下載

    Web服務(wù)上下文的訪問控制策略模型

    Web服務(wù)環(huán)境中,交互實體通常位于不同安全域,具有不可預(yù)見性。Web服務(wù)應(yīng)該基于其他與領(lǐng)域無關(guān)的信息而非身份來實施訪問控制,以實現(xiàn)對跨域未知用戶的訪問授權(quán)。為此,提出了適應(yīng)于Web服務(wù)的基于
    發(fā)表于 01-05 16:32 ?0次下載

    鴻蒙開發(fā)接口Ability框架:【AbilityStageContext】

    AbilityStageContext是AbilityStage的上下文環(huán)境,繼承自[Context]。
    的頭像 發(fā)表于 05-15 15:51 ?977次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【AbilityStageContext】

    鴻蒙開發(fā)接口Ability框架:【Context

    Context模塊提供開發(fā)者運行代碼的上下文環(huán)境的能力,包括查詢和設(shè)置應(yīng)用信息、ResourceManager等信息。
    的頭像 發(fā)表于 05-15 15:29 ?1110次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【<b class='flag-5'>Context</b>】

    鴻蒙開發(fā)接口Ability框架:【ExtensionContext】

    ExtensionContext是Extension的上下文環(huán)境,繼承自Context。
    的頭像 發(fā)表于 05-15 17:34 ?716次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【ExtensionContext】

    鴻蒙Ability Kit程序框架服務(wù))【UIAbility組件基本用法】

    UIAbility組件的基本用法包括:指定UIAbility的啟動頁面以及獲取UIAbility的上下文[UIAbilityContext]。
    的頭像 發(fā)表于 06-06 11:02 ?1298次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【UIAbility組件基本用法】