我想创建一个应用程序,我将把数据上传到服务器。感觉我正在将数据上传到服务器,因此当上传数据连接的用户在移动连接时不会保持不变时,没有必要丢失。所以我想要的是如果连接丢失了应该在后台运行的东西,一旦连接可用,它将始终搜索连接,它开始将数据发送到服务器。 任何人都可以告诉我如何做到这一点。有没有办法找到无线和移动互联网信号的强度。 任何想法都表示赞赏。 提前致谢。
答案 0 :(得分:0)
使用setInterval方法,将network connection状态函数(使用phonegap api)包装在其中。因此它将触发特定的时间间隔。建立连接后,将数据上传到服务器
答案 1 :(得分:0)
首先让我回答你的第一个问题:后台处理。事实上,有多种方法可以实现这一目标。第一个是真正的后台进程,即像Linux守护进程。只需查找相关的各种文章。另一个是从GUI线程启动一个线程。这是一个简单的例子:
public void onStartButtonClick(View view) {
Log.i("onStartButtonClick", "clicked");
mProgress = 0;
new Thread() {
@Override
public void run() {
Log.i("thread-" + Thread.currentThread().getId(), "run() method just started");
while (mProgress < 100) {
try {
Thread.sleep(mSleepTime);
mProgress++;
Log.i("thread-" + Thread.currentThread().getId(), "progress is " + mProgress);
mHandler.post(mUpdateGUI);
} catch (InterruptedException e) {
// e.printStackTrace();
}
}
}
}.start();
请注意,这是一个过于简化的例子。 mHandler.post()已添加为回调原始GUI线程的选项(不允许直接从线程调用GUI)。这需要您班级中的一些额外代码:
// Need handler for callbacks to the UI thread
final Handler mHandler = new Handler();
// Create runnable for posting
final Runnable mUpdateGUI = new Runnable() {
public void run() {
updateProgress();
}
};
允许在GUI上调用updateProgress方法。例如:
private void updateProgress() {
mProgressBar.setProgress(mProgress);
}
希望这可以帮助您朝着正确的方向前进。祝你好运。