Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Phonegap本地插件与sqlite数据库通信

Phonegap本地插件与sqlite数据库通信
EN

Stack Overflow用户
提问于 2012-09-12 21:13:57
回答 2查看 2.5K关注 0票数 0

我为将数据存储到SQLITE数据库编写了java插件,但是这个连接url显示了错误。

是否需要任何权限?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.tricedesigns;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.apache.cordova.CordovaWebViewClient;
import org.apache.cordova.api.Plugin;
import org.apache.cordova.api.PluginResult;
import org.json.JSONArray;
import org.json.JSONException;
import org.sqlite.SQLite;

import com.sun.java.swing.plaf.windows.resources.windows;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteStatement;
import android.util.Log;
import android.view.Window;



public class HelloPlugin extends Plugin { 

 public static final String NATIVE_ACTION_STRING="nativeAction"; 
  public static final String SUCCESS_PARAMETER="laxman"; 
  SQLiteDatabase myDb = null;
  @Override
  public PluginResult execute(String action, JSONArray data, String callbackId) { 
         Log.d("HelloPlugin", "Hello, this is a native function called from PhoneGap/Cordova!"); 
 //only perform the action if it is the one that should be invoked 
  if (NATIVE_ACTION_STRING.equals(action)) { 
   String resultType = null; 
   try { 
    resultType = data.getString(0); 
    Connection connection = null;  
      ResultSet resultSet = null;  
       Statement statement = null;  

         try {  

            Class.forName("org.sqlite.JDBC");  
               //   webView.loadUrl("jdbc:sqlite:tempdb.db");
               connection = DriverManager  
                             .getConnection("jdbc:sqlite:tempdb.db");  



                      statement = connection.createStatement();  
                         System.out.println("dddddddddddddddddddddd");
                         resultSet = statement  
                                 .executeQuery("SELECT name FROM temp");  
                         while (resultSet.next()) {  
                             System.out.println(" NAME:"  
                                     + resultSet.getString("name"));  
                         }  
                     } catch (Exception e) {  
                         e.printStackTrace();  
                     } finally {  
                         try {  
                             resultSet.close();  
                             statement.close();  
                             connection.close();  
                         } catch (Exception e) {  
                             e.printStackTrace();  
                         }  
                     }  

                     System.out.println("result typeeeeeeeee"+data.getString(0));
               } 
               catch (Exception ex) { 
                     Log.d("HelloPlugin", ex.toString()); 
               } 
               if (resultType.equals(SUCCESS_PARAMETER)) { 
                     try {
                        return new PluginResult(PluginResult.Status.OK, "Yay, Success,First Plugin for android!!!"+data.getString(0));
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } 
               } 
               else { 
                     return new PluginResult(PluginResult.Status.ERROR, "Oops, Error :("); 
               } 
         } 
         return null; 
  } 

}`

,我得到了错误,这个

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 09-13 09:53:44.387: W/System.err(330): java.sql.SQLException: opening db: 'tempdb.db': Read-only file system
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-14 04:53:41

从getDatabase调用phonegap.js中的本机方法

票数 0
EN

Stack Overflow用户

发布于 2012-09-12 21:21:59

查看这里是否有Phonegap插件

https://github.com/phonegap/phonegap-plugins

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12399794

复制
相关文章
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
最近做一个播放器的项目,需要用户自定义编辑定制视频的字幕;为了方便编辑字幕,这里QGraphicsTextItem需要支持任意拖动,回车确认,鼠标双击进入编辑状态,右键弹出菜单(剪切、复制、删除、全选)等操作。
DS小龙哥
2022/01/07
2.8K0
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
Qt键盘事件(一)——检测按键输入
本节Jungle实现一个简单的功能:键盘按下某个键,Qt界面上显示出Jungle按下的是哪个键。
用户6557940
2022/07/24
3.1K0
Qt键盘事件(一)——检测按键输入
Qt 项目之虚拟键盘 V1.0
一般我在做一个东西之前会上网查找资料,看下有几种实现的方式。在Qt下开发虚拟键盘总体上可分为两种方式——进程内部和进程外部。
用户5908113
2019/09/24
3K0
Qt 项目之虚拟键盘 V1.0
Qt键盘事件(二)——长按按键反复触发event事件问题解决
Qt键盘事件可能会遇到无法响应方向键、一直产生按下或者释放事件等问题,如何解决呢?Jungle笔记为您解答。
用户6557940
2022/07/24
4.3K0
Qt键盘事件(二)——长按按键反复触发event事件问题解决
Qt设计机器人仿真控制器——按键控制机器人关节转动
在上两篇博客里,Jungle介绍了Qt键盘事件,并在小程序中应用Qt键盘事件监测按键输入:
用户6557940
2022/07/24
1.1K0
Qt设计机器人仿真控制器——按键控制机器人关节转动
Qt软键盘-发送按键事件
发送按键事件到当前聚焦的窗体。 1.获取当前聚焦的QWidget QWidget *receiver = QApplication::focusWidget(); qDebug()<<"Send key event to focus widget "<<receiver->objectName(); 2.装载press与release事件 key为按键键值(整型); value为按键实际值(QString). QKeyEvent keyPress(QEvent::KeyPress, key, Qt:
Qt君
2019/07/15
3K0
Qt - 聊天室发送图片/文件
其中,关键点为,tcp在实际的场景中,会遇到拆包,丢包,沾包等一些意外的情况,当图片文件比较大的时候,tcp的单帧数据有限,必然会发生拆包现象,所以我们在接收时需要考虑从组包的情况,把完整的图片数据提取出来。
何其不顾四月天
2023/03/10
8730
Qt - 聊天室发送图片/文件
Qt官方示例-图表缩放
  然后,我们为鼠标和按键事件实现自定义逻辑。例如,按"+"键将放大,而按"-"键将缩小。
Qt君
2020/07/02
2.1K0
Python小游戏(俄罗斯方块)
玩法:童年经典,普通模式没啥意思,小时候我们都是玩加速的。 源码分享: import os import sys import random from modules import * from PyQt5.QtGui import * from PyQt5.QtCore import * from PyQt5.QtWidgets import * '''定义俄罗斯方块游戏类''' class TetrisGame(QMainWindow): def __init__(self, pa
红目香薰
2022/11/29
5320
Python小游戏(俄罗斯方块)
[QT]响应键盘事件(附虚拟键值转换函数)
原文链接:https://blog.csdn.net/humanking7/article/details/80700233
祥知道
2020/03/10
3.3K0
事件与信号
所有的应用都是事件驱动的。事件大部分都是由用户的行为产生的,当然也有其他的事件产生方式,比如网络的连接,窗口管理器或者定时器等。调用应用的exec_()方法时,应用会进入主循环,主循环会监听和分发事件。
小飞侠xp
2018/12/24
1.2K0
19.QT-事件发送函数sendEvent()、postEvent()
Qt发送事件分为两种 -阻塞型事件发送 需要重写接收对象的event()事件处理函数 当事件发送后,将会立即进入event()事件处理函数进行事件处理 通过sendEvent()静态函数实现阻塞发送: bool QApplication::sendEvent ( QObject * receiver, QEvent * event ) ; // receiver:接收对象, event :要发送的event类型(比如:鼠标双击) //当有事件发送,将会
诺谦
2018/07/31
1K0
19.QT-事件发送函数sendEvent()、postEvent()
Qt官方示例-广播发送器
❝本示例使用Qt Network API演示如何通过本地网络向多个客户端广播消息。❞   总结了下该例子的使用方法: 创建UDP套接字。 udpSocket = new QUdpSocket(this); 绑定定时器,用于定时发送广播事件。 connect(&timer, &QTimer::timeout, this, &Sender::broadcastDatagram); 使用QUdpSocket的writeDatagram函数的QHostAddress::Broadcast参数实现广播发送数据的功能。
Qt君
2020/06/01
1K0
为了上班摸鱼我用Python制作了俄罗斯方块?
首先零基础是能学python的,很多编程大神入门之前都选择先学习Python,所以想学就大胆去学吧,没学之前谁不是零基础,就算是现在才下定决心学也不怕,学习Python什么时候都不算晚。
yz_weixiao
2022/01/04
4450
python pyqt5 捕获鼠标键盘事件
import sys from PyQt5.QtCore import (QEvent, QTimer, Qt) from PyQt5.QtWidgets import (QApplication, QMenu, QWidget) from PyQt5.QtGui import QPainter
用户5760343
2019/07/22
4.2K0
19.QT-事件发送函数sendEvent()、postEvent()
Qt发送事件分为两种 -阻塞型事件发送 需要重写接收对象的event()事件处理函数 当事件发送后,将会立即进入event()事件处理函数进行事件处理 通过sendEvent()静态函数实现阻塞发送: bool QApplication::sendEvent ( QObject * receiver, QEvent * event ) ; // receiver:接收对象, event :要发送的event类型(比如:鼠标双击) //当有事件发送,将会
诺谦
2018/05/28
3.3K0
Qt开源作品28-邮件发送工具
邮件发送工具是好多年前就开源出来的,核心就是调用最底层socket通信来实现的邮件发送程序,以前用C#写过,微软都封装好的,不知道底层是如何实现的,只知道调用方法,这次用C++实现了下,参考了很多网上的例子。
feiyangqingyun
2020/06/05
8990
Qt开源作品28-邮件发送工具
Python Qt GUI设计:5种事件处理机制(提升篇—3)
之前在Python Qt GUI设计:QTimer计时器类、QThread多线程类和事件处理类(基础篇—8)中,我们已经简单讲到,PyQt为事件处理提供了两种机制:高级的信号与槽机制以及低级的事件处理程序,本篇博文将系统讲解Qt的事件处理机类和制。
不脱发的程序猿
2021/11/24
2.3K0
Python Qt GUI设计:5种事件处理机制(提升篇—3)
浅谈基于QT的截图工具的设计与实现
在介绍截图工具设计与实现前,让我们先通过介绍QT的绘图基础知识,让读者有一个比较感性的认识。
w4ngzhen
2023/10/18
4910
浅谈基于QT的截图工具的设计与实现
点击加载更多

相似问题

Qt keyPressEvent误差

15

Qt中的KeyPressEvent

11

如何从qml keyPressEvent调用qt keyPressEvent(QKeyEvent * Keys.onPressed )

11

Qt小部件不接收keyPressEvent

10

Qt: keyPressEvent中的printscreen键

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文