标签: offline

SQL数据库同步

我们正在使用PHP和Symfony框架开发应用程序.理想情况下,系统可以在远程服务器上运行,因此可以在任何地方在线使用.但是,也必须有离线可用性.

为此,系统将在远程服务器和本地服务器上运行.默认情况下,客户端将访问本地服务器,并且仅在设施外部在线工作.

因此,我们需要实现数据库同步,以便在本地和远程数据库上进行更改,而无需任何类型的客户端交互.如果可能,它应该是在后台运行的守护进程,同步数据库.主数据库将是本地数据库,因此它将优先考虑任何冲突.

我们还没有决定要使用的数据库系统(我们正在使用Doctrine,因此任何受支持的数据库都会这样做),所以我们真的在寻找具有最适合我们方案的解决方案.

只要不需要客户端交互,解决方案可以是专用的应用程序,无论是否是商业应用程序.

php database offline data-synchronization

5
推荐指数
1
解决办法
3160
查看次数

Android:如何接收完整的html,图像和css文件为字符串?

我正在寻找一种方法来缓存我的Android上的html,css和图像只在wifi上.如果不在wifi上,则应用程序将从缓存中读取.我知道使用Base64编码可以在iPhone ASIHTTPRequest上解决这个问题.

那么,如何接收完整的html,将图像和css文件作为字符串,以便我可以将其存储在手机上并以离线模式显示?

编辑 - 已解决

  1. 获取html使用 HttpClient
  2. 匹配所有src和href标签 (src|href)s*=s*\"([^\"]+)\"
  3. 从服务器获取文件并将其转换为 Base64
  4. 用html中转换的Base64字符串替换filename标记
  5. 将新的html字符串插入到可供使用的Sqlite数据库中:)

android caching offline image

5
推荐指数
1
解决办法
1060
查看次数

加载图像以显示它们脱机

如果用户失去连接,我已经创建了一个管理脱机状态的Web应用程序.为此,我向用户显示信息/错误/ ...消息以通知离线状态.

我的问题是警告消息中的某些图标或图像没有显示,因为当用户已经丢失连接时它们被加载...图像在CSS中而不是在html中:

.warning
{
background: #FFE680 url(../images/ico_warning.png) no-repeat 10px center / 18px;
}
Run Code Online (Sandbox Code Playgroud)

如何在页面构造中预加载图像/图标以脱机使用它们?

注意:我不能使用HTML5离线功能(清单)因为我的目标用户在IE9上(不支持html5清单),并且由于个人原因我不能使用精灵......

谢谢你的帮助

html javascript css offline

5
推荐指数
1
解决办法
994
查看次数

如何缓存Json数据以便脱机使用?

我已经解析了JSON数据listview,现在我想让它可以离线使用.有没有办法在手机上保存JSON数据,以便在手机离线时可以看到数据?

有人知道一个例子吗?

编辑现在工作:

 public class MainActivity extends ListActivity {


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        new TheTask().execute();
    }

    class TheTask extends AsyncTask<Void, Void, JSONArray> {
        InputStream is = null;
        String result = "";
        JSONArray jArray = null;

        ProgressDialog pd;

        @Override
        protected void onPostExecute(JSONArray result) {
            super.onPostExecute(result);
            pd.dismiss();
            ArrayList<String> list= new ArrayList<String>();
            try {
                for(int i=0;i<result.length();i++) {

                    JSONObject jb = result.getJSONObject(i) ;
                    String name = jb.getString("name")+" "+jb.getString("Art");
                    list.add(name);
                }
            } catch(Exception e) {
                e.printStackTrace();
            }
            setListAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, …
Run Code Online (Sandbox Code Playgroud)

java android json offline

5
推荐指数
1
解决办法
2万
查看次数

如何在我的Windows应用商店客户端脱机时使用缓存的活动目录

我正在为一家企业开发Windows应用商店应用.客户端应用程序连接到服务器,如果它具有正确的凭据并且属于正确的域,则只能登录到服务器.

但是,如果客户端应用程序没有可用于连接到服务器的连接,则用户必须使用Active Directory提供的缓存用户凭据,以便用户可以脱机工作.问题是Windows应用商店应用使用Azure Active Directory,因此我必须连接到互联网.

我希望能够使用位于普通桌面Windows应用程序的System.DirectoryServices命名空间中的DirectoryEntryDirectorySearcher类,以下列方式搜索用户并验证凭据:

DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://" + domain, username, password, AuthenticationTypes.Secure);
DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry);
directorySearcher.FindOne();
Run Code Online (Sandbox Code Playgroud)

c# offline active-directory windows-runtime windows-store-apps

5
推荐指数
1
解决办法
716
查看次数

在离线模式下获取设备的实际日期时间

我正在开发一个Android应用程序.我需要在我的应用程序中解决下面提到的问题:

1)该应用程序可以在线和离线工作.该应用程序具有在应用程序内创建和保存NOTES的功能.此外,当应用程序获得Internet连接时,我需要将NOTES发送到后端服务器.我在每个NOTE中都有一个名为'DATECREATED'的字段(创建实际NOTE的日期时间)

问题: 如果用户在设备中错误地设置了DateTime,我的应用程序会将错误的DATETIME发送到服务器.我想知道如何解决这个问题?任何想法都会很明显.

datetime android offline

5
推荐指数
1
解决办法
1026
查看次数

在HTML5 appcache中缓存php页面

我正在开发一个离线应用程序,它也有一组.php页面.目前我已将这些php文件放在.appcache清单文件中,并且工作正常.但问题是,即使我在线,当我尝试访问php页面时,它会加载缓存版本.我更喜欢的是这样的功能,

  • 如果在线 - 连接到服务器并加载最新信息,并用新信息覆盖缓存的信息.
  • 如果离线 - 显示上次更新的静态html页面.

这是我的.appcache清单文件内容

CACHE MANIFEST
#2
taskmanager.php
public/css/bootstrap.css.map
public/css/bootstrap.min.css
public/css/bootstrap-theme.css.map
public/css/bootstrap-theme.min.css
public/css/main.css
public/css/task-manager.css
public/js/app.js
public/js/taskmanager.js
public/js/offlink.js
public/js/jquery-2.1.4.js
public/js/bootstrap.min.js

NETWORK:
*
http://*
Run Code Online (Sandbox Code Playgroud)

taskmanager.php所做的是从数据库中读取任务并显示它.当我像上面一样缓存它时,它将始终显示第一次加载时的任务列表.即使我在线,它也不会调用数据库并获取新条目.而是从缓存加载.所以,我的解决方案是将它放在FALLBACK部分中,如第一个答案所述.即使我把taskmanager.php文件放在FALLBACK部分下面,如下所示,

FALLBACK
taskmanager.php static_taskmanager.php
Run Code Online (Sandbox Code Playgroud)

现在,如果我有互联网连接,taskmanager.php将运行并将显示最新任务.但是我想以这样的方式创建static_taskmanager,它将与那些最新的任务集同步.这意味着,当用户离线时,static_taskmanager.php将显示当用户在线时taskmanager.php返回的最新任务列表.但目前它作为一个完整的静态页面工作.

  1. 是否有可能做到这一点?
  2. 我该如何解决这个问题?

编辑

正如我通过搜索SO和Google所理解的,实现此目的的一种方法是使用AJAX加载动态内容.但我想知道是否可以只使用清单文件本身.

php html5 offline cache-manifest html5-appcache

5
推荐指数
1
解决办法
1467
查看次数

如何加密pouchdb数据库

背景:

我正在尝试使用crypto-pouch库加密pouchdb数据库.我查看了https://github.com/calvinmetcalf/crypto-pouch上显示的示例 但它似乎对我没有任何作用.

我的代码:

<!DOCTYPE html>
<html ng-app="pouchdbApp">
 <head>
   <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
   <script src="pouchdbDemo.js"></script>
   <script src="http://cdn.jsdelivr.net/pouchdb/5.2.1/pouchdb.min.js"></script>
   <!-- <script src="crypto-pouch-master/bundle.js"></script> -->
   <script src="http://wzrd.in/standalone/crypto-pouch"></script>

   <script>
       var db = new PouchDB('kittens2');

       var password = "mypassword";

      db.crypto(password).then(function (publicKey) {
            console.log("publicKey");
   	    console.log(publicKey);
       });
   
       /* db.removeCrypto();  */

       var doc = {
		  "_id": "mittens",
		  "name": "Mittens",
		  "occupation": "kitten",
		  "age": 3,
		  "hobbies": [
		    "playing with balls of yarn",
		    "chasing laser pointers",
		    "lookin' hella cute"
 		   ]
		};
      
      db.put(doc);

      db.get('mittens').then(function (doc) {
         console.log(doc);
      });

   </script>

 </head>
 <body>

 </body>

</html> …
Run Code Online (Sandbox Code Playgroud)

javascript encryption offline browser-cache pouchdb

5
推荐指数
1
解决办法
2517
查看次数

使用Firebase离线时观察员挂起

我正在尝试为我们的iOS应用程序添加离线功能(简单地说,这是一个管理用户和项目的应用程序),它依赖于Firebase.这是使用Swift 3.0.我按照指南进行了以下操作:

  1. 在FIRApp.configure()之后立即将此添加到我的应用程序委托:

    FIRDatabase.database().persistenceEnabled = true

  2. 在users/userKey和所有所述用户的项目/ projectKey节点上调用keepSynced(true).

该应用程序在线(显然)工作正常,并保持同样良好的离线工作,即使我在断开互联网时重新启动它.当我在离线时创建新项目时出现问题.我使用以下内容创建一个新项目:

let projectKey = FIRDatabase.database().reference(withPath: "projects").childByAutoId().key
let logsKey = FIRDatabase.database().reference(withPath: "projects").child(projectKey).child("logs").childByAutoId().key
FIRDatabase.database().reference().updateChildValues([
    "projects/\(projectKey)/key1" : value1,
    "projects/\(projectKey)/key2" : [
        "subkey1" : subvalue1,
        "subkey2" : subvalue2
    ],
    "projects/\(projectKey)/key3/\(logKey)" : [
        "subkey3" : subvalue3,
        "subkey4" : subvalue4
    ]
]) { error, ref in
    if error != nil {
        print("Error")
        return
    }
}
Run Code Online (Sandbox Code Playgroud)

在项目创建之后,如果我尝试在"projects/projectKey/key1"或"projects/projectKey/key2"上调用observeSingleEvent,一切都很好.但是,在"projects/projectKey/key3/logKey"上调用相同的函数永远不会触发阻塞/回调 - 只有在连接回来时才会调用它.

我已启用FIRDatabase日志记录(确认发生本地写入)以查找提示但似乎无法找出问题.

有什么我想念的吗?

注意:使用最新的Firebase iOS SDK(3.5.2).

编辑:如果我扩展深层链接似乎工作正常:

let projectKey = FIRDatabase.database().reference(withPath: "projects").childByAutoId().key
let logsKey = FIRDatabase.database().reference(withPath: "projects").child(projectKey).child("logs").childByAutoId().key
FIRDatabase.database().reference().updateChildValues([
    "projects/\(projectKey)" : [ …
Run Code Online (Sandbox Code Playgroud)

offline ios firebase firebase-realtime-database

5
推荐指数
0
解决办法
467
查看次数

Docker离线网络

在不连接互联网的情况下如何创建网络?

我有2个docker网络离线和在线,并且我需要为离线网络中的所有容器禁用Internet连接

在此处输入图片说明

我有像这样的docker-compose文件

some_offline_container:
    build:
      context: ./offline/first-container
    networks:
      - offline
 networks:
    online:
    offline:
Run Code Online (Sandbox Code Playgroud)

networking offline docker

5
推荐指数
1
解决办法
336
查看次数