Función de carpeta de datos de la aplicación Drive Kit con 3 lineas de código

5666 ワード

【前例】
CombuRD es una aplicación de República Dominicana que Consulta precios de compustible en República Dominicana. Las aplicaciones pueden Environment notificaciones de precios de precios de可燃性カード セマナ, mostrar una lista de estaciones de servicio cercanas, registrar el historial de precios de可燃性 y el historial de consumo de compustible, y almacenar datos de aplicaciones en el espacio en la nube, proorcionando servicios de infomación de alta calidad para propietarios de automóviles que son conscientes de los costos.

【問題点】
実際には、HMS Drive Kit を使用して、クライアントのクライアントにアプリケーションを提供しています. Sin embargo, el desarrolladors almacena directamente los datos de la aplicación en Huawei Drive, lo que trae los siguientes problemas:
  • Cuando los clientes usan Huawei Drive, se muestran los archivos de respaldo con nombres largos, lo que afecta la experiencia del usuario y es facil de eliminar por error, lo que afecta el rendimiento de la aplicación..
    2) lo que provoca perdidas de privacidad y riesgos para la seguridad de los datos..
    【解決策】
    実際には、HMS ドライブ キットは実際のアプリケーション (4.0.0.301 以降の SDK のバージョン) で動作します. Esta función tieene dos ventajas, ¡y solo requiere tres líneas de código para actualizar según la versión anterior!
  • La carpeta de datos de la aplicación es una carpeta oculta que los clientes no pueden ver.
    2) Del mismo modo, la carpeta de datos de la aplicación solo es visible para la aplicación que la crea, lo que reduce en gran medida los riesgos de fuga de privacidad.

  • [Pasos de actualización]
    ドライブ キットの基礎を実装する前に、ソロで必要な変更を加える必要があります.
  • Solicitar el alcance de la carpeta de datos de la aplicación.
    En versiones anteriores, el inicio de sesión generalmente se realiza de la siguiente manera:

  • private void driveLogin() {
    ......
    List<Scope> scopeList = new ArrayList<>();
    HuaweiIdAuthParams authParams = new   HuaweiIdAuthParamsHelper(HuaweiIdAuthParams.DEFAULT_AUTH_REQUEST_PARAM)
    .setAccessToken().setScopeList(scopeList).setIdToken().createParams();
    ......
    }
    

    Agregar una línea de código para solicitar el alcance de la carpeta de datos de la aplicación está bien.

    private   void driveLogin() {
    ......
    List<Scope> scopeList = new   ArrayList<>();
    scopeList.add(new Scope(DriveScopes.SCOPE_DRIVE_APPDATA));
    HuaweiIdAuthParams authParams = new   HuaweiIdAuthParamsHelper(HuaweiIdAuthParams.DEFAULT_AUTH_REQUEST_PARAM)
    .setAccessToken().setScopeList(scopeList).setIdToken().createParams();
    ......
    }
    


  • Huawei Drive の Carga アーカイブ.
    En la versión anterior, el archivo se carga de la siguiente manera:

  • private   void uploadFiles() {
    new Thread(new Runnable() {
    @Override
    public void run() {
    ……
    File content = new   File().setFileName(file.getName())
    .setMimeType(mimeType(file))
    .setParentFolder(Collections.singletonList(directoryCreated.getId()));
    ……}
    }
    


    Al ejecutar File. solicitud de creación, especica el directorio principal del archivo como directorio raíz de los datos de la aplicación "applicationData". setParentFolder () のパラメータを単独で変更する必要があります.

    private   void uploadFiles() {
    new Thread(new Runnable() {
    @Override
    public void run() {
    ……
    File content = new   File().setFileName(file.getName())
    .setMimeType(mimeType(file))
    .setParentFolder(Collections.singletonList(directoryCreated.getId()));
    .setParentFolder(Collections.singletonList("applicationData"));
    ……}
    }
    


  • Huawei Drive のアーカイブのアーカイブ.
    En versiones anteriores, la búsqueda de archivos recorrerá todo el Huawei Drive:

  • private   void queryFiles() {
    new Thread(new Runnable() {
    @Override
    public void run() {
    ......
    fileList = request.setQueryParam(queryFile)
    .setPageSize(10).setOrderBy("fileName")
    .setFields("category,nextCursor,files/id,files/fileName,files/size")
    .execute();}
    }
    


    個別に必要なバスカー アーカイブは、アプリケーション用のカーペットとして使用されており、コードのコレクションとして使用されています: "setContainers ("applicationData ")"

    private   void queryFiles() {
    new Thread(new Runnable() {
    @Override
    public void run() {
    ......
    fileList =   request.setQueryParam(queryFile)
    .setPageSize(10).setOrderBy("fileName")
    .setFields("category,nextCursor,files/id,files/fileName,files/size")
    .setContainers("applicationData")
    .execute();}
    }
    


    Esta sección solo describe como actualizar rápidamente la versión de una versión anterior a una nueva versión que adida la función de carpeta de datos de la aplicación. Para obtener más detalles、consulta la guía de desarrollo y la demostración en el archivo adjunto.

    [カルガ デ トラバホ イ エフェクト]
    Según la guía de desarrollo, para implementationr esta funcionalidad requerimos solo un dia y la carga de trabajo es muy pequeña.
    Después del desarrollo, el espacio en la nube del usuario es más ordenado y se mejora la experiencia del usuario. Además, se eliminan los riesgos de seguridad y los riesgos de fuga de privacidad, y los CP quedan satisfechos.
    Este artículo fue posible gracias a nuestros colegas Qiuyu y Tenhaitao.

    Les compartimos la liga al articulo オリジナル
    https://forums.developer.huawei.com/forumPortal/en/topicview?tid=0201351415323380185&fid=0101187876626530001