1

オフラインで操作できる Web アプリのソリューションを見つけようとしています。

これらはすべて localStorage をサポートしているため、iOS と Android と Blackberry OS 6.0 以降で問題ありません。OS 0.6未満の特定のBlackberryを取得して、openDatabaseを使用して情報をローカルに保存できますが、次のデータをオフラインで保存できるようにする方法をまだ見つけられていません-

・ブラックベリーカーブ8900

・ブラックベリーカーブ

・ブラックベリーボールド 9700

どのようにしてそれを行うかは気にせず、これらの BB 用に特別にまったく異なるセットアップを使用できることを嬉しく思います。

基本的に必要なのは、データを任意の形式で保存することだけです。キー - 値またはより堅牢な sqllite または simlar を使用する必要はありません。私はただ困惑しています!

これまでのところ、デバイスがローカルストレージを受け入れるかどうかを単純に検出するために持っているものがあります-

<!DOCTYPE html> 
<html>  
  <head>
    <title>Local Storage Test</title>
    <script src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("jquery", "1.4.1");
    </script>
    <script type="text/javascript">

    function testSupport()
    {
        if (localStorage)
            document.getElementById('content').innerHTML = '<h2 class=\"yes\"><img src=\"http://jealousdesigns.com/webapps/test/tick.png\" /> Yep! This one works (with localStorage)!</h2>';


        if (openDatabase)
            document.getElementById('content').innerHTML = document.getElementById('content').innerHTML + '<h2 class=\"yes\"><img src=\"http://jealousdesigns.com/webapps/test/tick.png\" /> Yep! This one works (with database)!</h2>';
    }        

    </script>
    <style type="text/css">
        body{
            font-size: 20px;
            background: #eee;
            color: #666;
        }
        h2{
            border-radius: 10px;
            -webkit-border-radius: 10px;
            -moz-border-radius: 10px;
            width: 100%;
            background: white;
            text-align: center;
            padding: 20px 0;
        }
        .yes{
            border: 1px solid green;
        }
        .no{
            border: 1px solid red;
        }
    </style>
  </head>
  <body>
    <div id="content">
        <h2 class="no"><img src="http://jealousdesigns.com/webapps/test/x.png" /> Boo. This one doesn't work</h2>
    </div>
    <script>
        testSupport();
    </script>   
  </body>
</html> 

これで実際に行うことは、localStorage と openDatabase をテストし、確認メッセージを表示することだけです。

OS が 6.0 未満の blackberry デバイスに関するアドバイスをいただければ幸いです。

ありがとうございました!

4

2 に答える 2

3

OS6 未満のデバイスには HTML5 のネイティブ サポートがないことはわかっています。また、あなたが言ったことから、OS6未満のデバイスでこれが機能していることも知っています。そのことから、ネイティブAPIにアクセスしているソフトウェアレイヤーを使用していると推測できます。

このフレームワークを webworks + javascript ツールキットに交換してみてください。 http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/Supporting-Gears-using-HTML5-in-BlackBerry-WebWorks-applications/ta-p/557280

localstore api がないため、これは既に使用しているものではないと思います。RIM によって提供されていることを考えると、優れたクロスデバイス サポートを持つ必要があるデータベース API があります。

この問題が一部の OS5 携帯電話で発生していて、他の携帯電話では発生していないと思うのはなぜですか?

eMMC メモリを搭載したデバイスのみが、内部メモリに SQLite データベースを保存できます。これには 9700 が含まれていません。そのため、SDCard が存在する場合は、いつでもそれを使用するオプションがあります。

BB ストレージの概要

これは OS5 のストレージ概要ドキュメントへのリンクであり、私が見た中で最高の紹介です。

http://www.blackberry.com/developers/docs/5.0.0api/data_storage-summary.html

オプション:

  • ファイルとフォルダ
  • SQLite
  • 永続ストレージ
  • ランタイム ストレージ
  • MIDP RMS ストレージ (レコード ストア)

eMMC メモリ リファレンス = Mark Sohm、BlackBerry 開発アドバイザー http://supportforums.blackberry.com/t5/Java-Development/Sqlite-reading-database-from-device-storage-compatibility-list/td-p/764303/highlight/真/ページ/2

内部メモリのタイプの説明もここにあります: http://www.blackberry.com/developers/docs/5.0.0api/data_storage-summary.html#DS_FileSystem

于 2011-09-06T15:25:35.300 に答える
1

こんにちは、古いブラウザのサポートを追加する 2 つのアルゴリズムを見つけました。これは、window オブジェクトでプロパティ localStorage を定義し、ブラウザのキャッシュを使用します。

https://developer.mozilla.org/en/DOM/Storage#localStorage

確認します

于 2012-02-08T19:51:43.053 に答える