نشر البيانات المحلية غير المتصلة باستخدام التطبيق

يوجد دورتي سير عمل رئيسيتين يمكنك استخدامهما لنشر البيانات غير المتصلة. يتمثل أحد الخيارات في نسخ البيانات إلى موقع معروف في الجهاز واستخدام إصدار عمل AppStudio لتحديد موقع التخزين. فيما يتمثل الخيار الآخر في تجميع البيانات كمصدر Qt ضمن التطبيق ونسخ البيانات إلى موقع معروف بمجرد تثبيت التطبيق في الجهاز. يوضح هذا الموضوع خطوات دورات سير العمل.

نشر البيانات يدويًا ضمن التطبيق

لنشر البيانات إلى جهازك يدويًا، اتبع هذه الخطوات:

  1. أنشئ TPKs وقواعد البيانات الجغرافية ومحددي المواقع دون اتصال ومجموعة بيانات الشبكة غير المتصلة في ArcGIS Pro.
  2. عند إسناد هذه الملفات بكود QML، ارجع إلى الموقع ذي الصلة حيث سيتم تخزين بياناتك.
    import ArcGIS.AppFramework 1.0
    
    property string localTPK: AppFramework.userHomePath + "/ArcGIS/Runtime/data/Topographic.tpk"
  3. قبل إنشاء التطبيق، في أداة الإعدادات القابلة للوصول في اللوحة الجانبية، اختر لتمكين التخزين الخارجي من على علامة تبويب الإمكانات.
  4. باستخدام تطبيق مستكشف الملفات، انسخ البيانات إلى موقع البيانات المحدد.

    تتشابه كل الأنظمة التشغيلية، إلا أن مواقع البيانات تختلف اختلافًا بسيطًا كما يلي:

    • Android: Android/data/<your_app>/files/ArcGIS/Runtime/Data.
    • iOS: <your_app>/Documents/ArcGIS/Runtime/Data.
    • macOS: ~/ArcGIS/Runtime/Data.
    • Windows: %userprofile%\ArcGIS\Runtime\Data.
    • Ubuntu: $HOME/ArcGIS/Runtime/Data.

  5. بضمان تخزين البيانات في تلك المواقع واستخدام وظيفة AppFramework.userHomeFolder، يمكنك التأكد من قدرة التطبيق على قراءة وكتابة البيانات في أي نظام تشغيلي منشور.

    ملاحظة:‏

    إذا كنت تستخدم جهاز iOS، فستحتاج إلى استخدام تطبيق استعراض ملفات iOS. في macOS الإصدار 10.15 Catalina أو أحدث، يمكنك استخدام أداة البحث كمستعرض ملفات. في الإصدارات الأقدم من macOS أو في Windows، يمكنك استخدام iTunes أو تطبيق استعراض ملفات آخر.

تجميع البيانات كمصدر Qt.

على الرغم من أن Qt يدعم القراءة من مصادر مضمنة، فإن أساس وقت التشغيل الرئيسي من Esri يدعمها؛ نظرًا لاعتماده على C I/O القياسي، وهو ما لا يدعم موارد Qt. ويُقصَد بذلك أنه يمكنك تجميع البيانات غير المتصلة باستخدام التطبيق للنشر، ولكن يجب عليك نسخ البيانات من المورد المضمن إلى موقع فعلي على الجهاز. يحتوي إطار عمل AppStudio على وظيفة copyFile التي تنسخ الملفات من ملف المورد المضمن إلى موقع فعلي.

لتجميع البيانات باستخدام التطبيق، قم بما يلي:

  1. أضف وظيفة JavaScript إلى التطبيق الذي يستخدم وظيفة copyFile ويُرجع المسار إلى البيانات الناتجة.
  2. قم بتعيين خاصية مسار المكون لتكوين مساوية لوظيفة JavaScript التي تنفذ النسخ.

    عند إطلاق التطبيق، فإنه ينفذ وظيفة copyFile ويتم تحميل المكون الذي يستخدم البيانات المحلية.

  3. قبل إنشاء التطبيق، في اللوحة الجانبية، انتقل إلى علامة تبويب الإعدادات > الإمكانات، وقم بتمكين التخزين الخارجي.

يوضح الكود التالي نسخ البيانات من المورد المضمن إلى موقع حقيقي. يجب عليك إضافة ملف المصدر (في هذا النموذج، Topographic.tpk) إلى مشروعك، في بيانات مجلد فرعي محددة، في نموذج الكود من أجل العمل.

import QtQuick 2.7
import QtQuick.Controls 2.1
import ArcGIS.AppFramework 1.0
import Esri.ArcGISRuntime 100.8

App {
    id: app
    width: 640 * AppFramework.displayScaleFactor
    height: 480 * AppFramework.displayScaleFactor

    property string fileName: "Topographic.tpk"
    property FileFolder sourceFolder: app.folder.folder("Data")
    property FileFolder destFolder: AppFramework.userHomeFolder.folder("ArcGIS/Runtime/Data")
    property string destPath: destFolder.filePath(fileName)
    property url destUrl: destFolder.fileUrl(fileName)

    function copyLocalData() {
        destFolder.makeFolder();
        sourceFolder.copyFile(fileName, destPath);
        return destUrl;
    }

    MapView {
        anchors.fill: parent

        Map {
            Basemap {
                ArcGISTiledLayer {
                    url: copyLocalData()
                }
            }
        }
    }
}

الموقع الناتج لهذه المثال لكل نظام أساسي هو نفسه المدرج في جزء نشر البيانات باستخدام التطبيق يدويًا أعلاه. يعمل سير العمل بأفضل شكل مع الملفات الأصغر (مثل قواعد البيانات الجغرافية الصغيرة أو TPKs)، ولأسباب تتعلق بالأداء، لا يوصى به في مجموعات البيانات الكبيرة.