1

https を介して JSON DataSource をロードすると失敗するようです。BlackBerry 10 デバイスのブラウザーで URL を読み込むと機能しますが、Qml でその URL を使用しようとすると失敗します。

これは私の DataSource オブジェクトがどのように見えるかです:

DataSource {
    id: dsTitles
    source: ""
    type: DataSourceType.Json
    onDataLoaded: {
        if (Common.hasError(updateError, data, "Failed to load data. Please check your connection and try again.")) {
            console.log("Data contains error");
            navigationPane.pop();
            return;
        }
        loadedTitles = true;
        Code.loadDropDown(data, ddTitle, "title", "titleId")
        Code.hideLoadIndicator();
        if (updateProfile && ddTitle.selectedValue == null) {
            Code.setDropDownOptionByValue(ddTitle, profile.userTitleId);
        }
    }
    onError: {
        console.log("Failed to load titles: " + errorMessage);
    }

この問題の例として、任意の https JSON Web サービスを使用できます。

4

3 に答える 3

0

データ ソースで https を使用して、最終的にこれを解決しました。を明示的に宣言することにより、remote : true.

これにより、安全な JSON ソースが読み込まれない問題が解決されたようです。

于 2015-07-19T09:46:11.893 に答える
-2

ソースに http 値を使用することはできません。JSON ファイルを実際にダウンロードしてからデータソースに渡す必要があります。

blackberry による「Weatherguesser」サンプル アプリは、オンライン ソースからデータを取得して qml に渡す方法を示しています。

オンラインでjsonファイルから気象データをダウンロードするweathermodel.cppファイルを具体的に見てください。

簡単に言うと、NetworkAccessManager が必要で、URL を渡してダウンロードする必要があります。結果は、C++ で管理するか、qml に直接渡すことができます。

于 2013-01-18T10:58:07.610 に答える