我们正在使用PHP和Symfony框架开发应用程序.理想情况下,系统可以在远程服务器上运行,因此可以在任何地方在线使用.但是,也必须有离线可用性.
为此,系统将在远程服务器和本地服务器上运行.默认情况下,客户端将访问本地服务器,并且仅在设施外部在线工作.
因此,我们需要实现数据库同步,以便在本地和远程数据库上进行更改,而无需任何类型的客户端交互.如果可能,它应该是在后台运行的守护进程,同步数据库.主数据库将是本地数据库,因此它将优先考虑任何冲突.
我们还没有决定要使用的数据库系统(我们正在使用Doctrine,因此任何受支持的数据库都会这样做),所以我们真的在寻找具有最适合我们方案的解决方案.
只要不需要客户端交互,解决方案可以是专用的应用程序,无论是否是商业应用程序.
我正在寻找一种方法来缓存我的Android上的html,css和图像只在wifi上.如果不在wifi上,则应用程序将从缓存中读取.我知道使用Base64编码可以在iPhone ASIHTTPRequest上解决这个问题.
那么,如何接收完整的html,将图像和css文件作为字符串,以便我可以将其存储在手机上并以离线模式显示?
编辑 - 已解决
HttpClient(src|href)s*=s*\"([^\"]+)\"Base64如果用户失去连接,我已经创建了一个管理脱机状态的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清单),并且由于个人原因我不能使用精灵......
谢谢你的帮助
我已经解析了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) 我正在为一家企业开发Windows应用商店应用.客户端应用程序连接到服务器,如果它具有正确的凭据并且属于正确的域,则只能登录到服务器.
但是,如果客户端应用程序没有可用于连接到服务器的连接,则用户必须使用Active Directory提供的缓存用户凭据,以便用户可以脱机工作.问题是Windows应用商店应用使用Azure Active Directory,因此我必须连接到互联网.
我希望能够使用位于普通桌面Windows应用程序的System.DirectoryServices命名空间中的DirectoryEntry和DirectorySearcher类,以下列方式搜索用户并验证凭据:
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
我正在开发一个Android应用程序.我需要在我的应用程序中解决下面提到的问题:
1)该应用程序可以在线和离线工作.该应用程序具有在应用程序内创建和保存NOTES的功能.此外,当应用程序获得Internet连接时,我需要将NOTES发送到后端服务器.我在每个NOTE中都有一个名为'DATECREATED'的字段(创建实际NOTE的日期时间)
问题: 如果用户在设备中错误地设置了DateTime,我的应用程序会将错误的DATETIME发送到服务器.我想知道如何解决这个问题?任何想法都会很明显.
我正在开发一个离线应用程序,它也有一组.php页面.目前我已将这些php文件放在.appcache清单文件中,并且工作正常.但问题是,即使我在线,当我尝试访问php页面时,它会加载缓存版本.我更喜欢的是这样的功能,
这是我的.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返回的最新任务列表.但目前它作为一个完整的静态页面工作.
编辑
正如我通过搜索SO和Google所理解的,实现此目的的一种方法是使用AJAX加载动态内容.但我想知道是否可以只使用清单文件本身.
背景:
我正在尝试使用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)我正在尝试为我们的iOS应用程序添加离线功能(简单地说,这是一个管理用户和项目的应用程序),它依赖于Firebase.这是使用Swift 3.0.我按照指南进行了以下操作:
在FIRApp.configure()之后立即将此添加到我的应用程序委托:
FIRDatabase.database().persistenceEnabled = true
在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) 在不连接互联网的情况下如何创建网络?
我有2个docker网络离线和在线,并且我需要为离线网络中的所有容器禁用Internet连接
我有像这样的docker-compose文件
some_offline_container:
build:
context: ./offline/first-container
networks:
- offline
networks:
online:
offline:
Run Code Online (Sandbox Code Playgroud)