在用Phonegap开发时,需要进行前后台数据交互,在网上找资料,很多东西让人一头雾水,最后借鉴了下面的博客:

http://blog.sina.com.cn/s/blog_681929ae010177qt.html

才实现了一个简单数据交互

1:定义名称为FilePlugin的 Class文件继承自Plugin;需要实现execute方法

package qj;

import org.json.JSONArray;

import android.webkit.WebSettings.PluginState;

import com.phonegap.api.Plugin;
import com.phonegap.api.PluginResult; public class FilePlugin extends Plugin{//继承 @Override
public PluginResult execute(String action, JSONArray args, String callbackId)
{
PluginResult pr=new PluginResult(PluginResult.Status.OK, "进入");
String ls=action;
String lss=args.toString(); try {
ls = java.net.URLDecoder.decode(ls,"UTF-8");
lss = new String(lss.getBytes("iso-8859-1"),"utf-8");
lss = java.net.URLDecoder.decode(lss,"UTF-8"); if (action.equals("createFile")) {
String filePath = "文件路径!";
pr=new PluginResult(PluginResult.Status.OK,filePath); }
if(action.equals("read")){
pr=new PluginResult(PluginResult.Status.OK, "文件读取"); }
} catch (Exception e) {
return new PluginResult(PluginResult.Status.ERROR,e.getMessage());
}
return pr; } }

2:定义名称为file的js文件,用以实现方法并且注册成为Phonegap的插件。

var FilePlugin = function(){};
FilePlugin.prototype.write = function(fileName, content, successCallback, failureCallback){
return PhoneGap.exec(successCallback, failureCallback, "FilePlugin", "write", [fileName, content]);
}; FilePlugin.prototype.overWrite = function(srcName, destName,successCallback, failureCallback){
return PhoneGap.exec(successCallback, failureCallback, "FilePlugin", "orverwrite", [srcName, destName]);
}; FilePlugin.prototype.read = function(filePath,successCallback, failureCallback){
return PhoneGap.exec(successCallback, failureCallback, "FilePlugin", "read", [filePath]);
}; //注册插件
PhoneGap.addConstructor(function(){
PhoneGap.addPlugin("file", new FilePlugin());
});

3:管理Class文件与Js文件

在xml中的plugins.xml中配置

name="类名称"

value="命名空间"

<plugin name="FilePlugin" value="qj.FilePlugin"/>

4:页面调用

<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="UTF-8" src="phonegap-1.0.0.js"></script>
<script type="text/javascript" charset="UTF-8" src="file.js"></script>
<script type="text/javascript" charset="UTF-8"> function read(){
window.plugins.file.read("file.txt", success, failure);
var arg= encodeURI(encodeURI("中文"));
arg= "中文";
//FilePlugin.prototype.read(arg, success, failure);
}
function success(r){
alert("success:"+r);
};
function failure(e){
alert("failure:"+e);
};
</script> <button onclick="read()">read Some</button>

Phonegap开发的前后台数据交互的更多相关文章

  1. Django学习笔记(8)——前后台数据交互实战(AJAX)

    这里将自己这段时间学习的关于前后台数据交互的笔记写在这里,这里包含了Django传输数据给JS,AJAX的相关问题,跨域问题,如何解决AJAX的跨域问题等等.比较凌乱,请看到这篇博客的盆友见谅,如果我 ...

  2. Spring MVC 前后台数据交互

    本文是转载文章,感觉比较好,如有侵权,请联系本人,我将及时删除. 原文网址地址:<Spring MVC 前后台数据交互> 1.服务端数据到客户端 (1)返回页面,Controller中方法 ...

  3. 用PHP和Ajax进行前后台数据交互——以用户登录为例

    很多网站中都有用户登录系统,要完成用户的注册和登陆,就一定要用到前后台的数据交互.在这里以简单的用户注册和登陆为例介绍一下前后台交互的大致流程. 首先,我们来做一个简单的登陆界面. 这里为了方便我使用 ...

  4. vue仓库、组件间通信、前后台数据交互、前端储存数据大汇总

    目录 路由重定向 仓库介绍 vuex插件:可以完成任意组件间信息交互(移动端) 前端存储数据大汇总 前后台交互方式(重点) 前后台数据交互 axios插件:完成前后台ajax交互的 同源策略 - 前后 ...

  5. 基于ssh框架的highcharts前后台数据交互实例

    Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站和非商业用途使用.HighCh ...

  6. easy-table-vue+VueJs、SpringBoot+Mybatis实现MVVM模型前后台数据交互

    该项目分为前端展示部分和后台服务部分. 前端部分 使用的技术是:NodeJs.Webpack.VueJs 使用的组件库是:IVIEW.easy-table-vue 使用的开发工具是:WebStorm ...

  7. Asp.net--Ajax前后台数据交互

    转自:http://www.cnblogs.com/guolebin7/archive/2011/02/22/1961737.html 代码由前后台两部分组成: 前台:(新建一个Default.asp ...

  8. 玩转Web之Json(二)----jquery easy ui + Ajax +Json+SQL实现前后台数据交互

    最近在学Json,在网上也找过一些资料,觉得有点乱,在这里,我以easy ui的登录界面为例来说一下怎样用Json实现前后台的数据交互 使用Json,首先需要导入一些jar包,这些资源可以在网上下载到 ...

  9. vue前后台数据交互vue-resource文档

    地址:https://segmentfault.com/a/1190000007087934 Vue可以构建一个完全不依赖后端服务的应用,同时也可以与服务端进行数据交互来同步界面的动态更新. Vue通 ...

随机推荐

  1. 使用ServerSocket创建TCP服务器端

    在两个通信实体没有建立虚拟链路之前,必须有一个通信实体先做出“主动姿态”,主动接受来自其他通信实体的连接请求. Java中能接受其它通信实体连接请求的类是ServerSocket,ServerSock ...

  2. winform按钮和子按钮

    实现目标: 一.两组按钮1和2,其中按钮2有两个子按钮, (1)当选按钮1时,按钮2和其子按钮不选中: (2)选中按钮2或其子按钮3和4时,1不选中 (3)选中按钮2时,默认选中其子按钮3 (4)选中 ...

  3. Oracle连接的若干错误

    用PL/SQL连接Oracle时会抛若干错误,如下: 1.ora-12154:TNS:无法解析指定的连接标识符 答:plsql在%Oracle_Home%\Network\Admin或者c:\inst ...

  4. 蓝桥杯 algo——6 安慰奶牛 (最小生成树)

    问题描述 Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路.道路被用来连接N个牧场,牧场被连续地编号为1到N.每一个牧场都是一个奶牛的家.FJ计 划除去P条道路中尽可能多的道路 ...

  5. C++封装、继承、多态

    C++封装继承多态总结 面向对象的三个基本特征 面向对象的三个基本特征是:封装.继承.多态.其中,封装可以隐藏实现细节,使得代码模块化:继承可以扩展已存在的代码模块(类):它们的目的都是为了--代码重 ...

  6. android 通知栏 notifcation

    http://blog.csdn.net/guolin_blog/article/details/50945228  郭神的博客 final NotificationManager manager = ...

  7. [网络技术][转]PPTP协议解析

    PPTP协议大体上可以分为两部分:控制层连接和隧道,下面简要介绍两部分的功能.如果要详细了解PPTP协议请阅读RFC文档. 一. Control Connection Protol 控制层连接是基于T ...

  8. AFNetworking3.0概述

    最近一直在研究iOS网络开发,对NSURLSession套件进行了深入研究,作为iOS开发者,熟悉苹果的原生技术,可以在不需要第三方框架的情况下进行网络开发,也更有利于从底层了解iOS网络请求的原理, ...

  9. fdisk分区

    查看文件系统: # df -hFilesystem Size Used Avail Use% Mounted on/dev/sda1 20G 1.1G 18G 6% /tmpfs 1.9G 0 1.9 ...

  10. 微软TechEd2013大会将在北京、上海召开!

    微软TechEd2013大会将在北京.上海召开 大家期盼已久的微软TechEd2013大会终于到来了! 我公司依旧是微软公司指定票商 ,继续为您提供最最优质的售前咨询.最最完善的售后服务! 微软Tec ...