起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4803|回复: 7

[暂结贴(7天未回复)] sqlite数据库在APP重新安装后如何不被复盖掉

  [复制链接]

4

主题

10

帖子

30

积分

新手上路

Rank: 1

积分
30
QQ
发表于 2016-3-29 17:46:38 | 显示全部楼层 |阅读模式
我需要在每个app端安装时,设置一些参数,这些参数我保存在sqlite数据库中,但是,测试时发现,如果我重新安装了app,那sqlite数据库又是新的,原来的参数都没有了。请教高手,如何处理能让以前设置的参数在新装app后还能存在,谢谢!

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35878
发表于 2016-3-29 18:21:17 | 显示全部楼层
存到localStorage如果不是卸载了只是重装不会删除数据是一致存在的

如果卸载了重装还要保存数据,就需要把数据存到本地文件中才可以的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

4

主题

10

帖子

30

积分

新手上路

Rank: 1

积分
30
QQ
 楼主| 发表于 2016-3-30 11:09:16 | 显示全部楼层
好的,我试用一下其它方式。
回复 支持 反对

使用道具 举报

4

主题

10

帖子

30

积分

新手上路

Rank: 1

积分
30
QQ
 楼主| 发表于 2016-3-31 17:32:57 | 显示全部楼层
我用文件进行存储操作,但是,删除APP后重新安装也是一样。而且文件读写操作是正常的,在手机目录中找不到我创建的目录,各位高手,帮忙看看原因何在!
-----------main.js引用如下:

var configPath = "myHello586";
var configFile = "myHello.config";


fileHelper.write('orange',configPath,configFile);
fileHelper.read(configPath+'/'+configFile);


------------------fileHelper.js定义如下:

define(function(require){
       
       
        var _data="";
        var _directory="";//default directory
        var _fileName="";//default file name
        var _filePath="";
    var _text="";//读取的数据

   require("cordova!cordova-plugin-file");

        var fileHelper={};
       
        //写操作
        fileHelper.write = function(data,directory,fileName){       
                _data=data;
                _directory=directory;
                _fileName=fileName;
               
                window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, onFileSystemFail);  

       
                //获取目录,如果不存在则创建该目录  
                function onFileSystemSuccess(fileSystem) {
                       
                    newFile = fileSystem.root.getDirectory(_directory, {  
                        create : true,  
                        exclusive : false  
                    }, onDirectorySuccess, onFileSystemFail);  
                }  
       
                //取文件,不存在则创建
                function onDirectorySuccess(newFile) {
                       
                        newFile.getFile(_fileName, {
                                create : true,
                                exclusive : false
                        }, onFileSuccess, onFileSystemFail);
                }       
       
                /**
                 * 获取FileWriter对象,用于写入数据
                 * @param fileEntry
                 */
                function onFileSuccess(fileEntry) {
                        fileEntry.createWriter(onFileWriteSuccess, onFileSystemFail);
                }
       
                //写操作
                function onFileWriteSuccess(writer) {
                //log("fileName="+writer.fileName+";fileLength="+writer.length+";position="+writer.position);
               
                        writer.onwrite = function(evt) {//当写入成功完成后调用的回调函数  
                               
                    };
                        writer.onerror = function(evt) {//写入失败后调用的回调函数
                                alert("文件写入出错!");
                        };
                        writer.onabort = function(evt) {//写入被中止后调用的回调函数,例如通过调用abort()
                                alert("文件写入终止!");
                        };
                        // 快速将文件指针指向文件的尾部 ,可以append
                        writer.seek(writer.length);
                        writer.write(_data);//向文件中写入数据
                       
                }
       
                function onFileSystemFail(error) {
                        alert("文件操作错误:" + error.code);
                }
        };
       
        //读操作
        //path为文件全路径
        fileHelper.read = function(filePath)
        {
                _filePath = filePath;  
            window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, onFileSystemFail);
            
            function onFileSystemSuccess(fileSystem) {
                    fileSystem.root.getFile(_filePath, {
                            create : true,
                            exclusive : false
                    }, onFileSuccess, onFileSystemFail);
            }

            function onFileSuccess(fileEntry) {
                    fileEntry.file(onReadText, onFileSystemFail);
                    alert(fileEntry.fullPath);
            }

            function onReadText(file) {
                    var reader = new FileReader();
       
                    reader.onloadend = function(evt) {
                            _text=evt.target.result;//将读取到的数据赋值给变量
                            if(_text==null||_text.length==0){
                                    _text="没有数据!";
                            }
                            alert(_text);
                    };
                    reader.readAsText(file);
                   
            }

            function onFileSystemFail(error) {
                    alert("文件读取出错:" + error.code);
            }
        };
       
        return fileHelper;
});

回复 支持 反对

使用道具 举报

发表于 2016-3-31 17:55:32 | 显示全部楼层
本帖最后由 liangyongfei 于 2016-3-31 17:57 编辑
东来南客 发表于 2016-3-31 17:32
我用文件进行存储操作,但是,删除APP后重新安装也是一样。而且文件读写操作是正常的,在手机目录中找不到 ...

建议真机调试看看吧!
另外使用ddms 调试就可以看里面的目录和文件了
http://bbs.wex5.com/forum.php?mo ... 79839&pid=165181392

或者上网搜下!!app直接安装覆盖是不会清除数据的!如果卸载安装,数据就可能被清除了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

4

主题

10

帖子

30

积分

新手上路

Rank: 1

积分
30
QQ
 楼主| 发表于 2016-4-1 08:53:09 | 显示全部楼层
我就是在手机上安装验证的结果。
回复 支持 反对

使用道具 举报

发表于 2016-4-1 11:35:58 | 显示全部楼层
东来南客 发表于 2016-4-1 08:53
我就是在手机上安装验证的结果。

本地测试没问题,下载官网的综合案例!试试sqlite的案例!输入数据后。重新安装app!数据应该是还存在的!!

如果不行,请详细说明下你手机的型号和版本,需要本地重现下!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

3

主题

20

帖子

98

积分

初级会员

Rank: 2

积分
98
QQ
发表于 2018-10-4 17:24:45 | 显示全部楼层
请问你的问题解决了吗,我也是用的sqlite需要一样的功能,能不能告诉我怎么解决
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-3-28 22:51 , Processed in 0.067546 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表