在开发针对4.1以上版本的Android应用时,我发现卸载我的应用并再次安装它并不会清除其数据.
该应用程序旨在存储它在第一个屏幕中询问的详细信息.在OS 4.4.4版中再次卸载并安装后,应用程序会提示用户填写数据,这是正常的.但是在6.0版中,相同的安装/卸载顺序会带回最初输入的数据.
我试图通过访问来确保/data/data/my package folder卸载后数据库已经消失,并且在卸载期间该文件夹确实被删除了.
我尝试通过访问设置页面,通过Titanium Backup删除应用程序,结果相同.该设备植根于运行v6.0的Nexus 5.
这种奇怪行为的原因是什么?
在我的项目中,我使用实体框架4.0作为ORM来持久化SQL Server中的数据.
我的项目是来自应用程序的功能区,其中包含网格视图和主窗体中的导航树,其顶部带有功能区面板.我的应用程序基本上是一个CRUD UI,只有很少的业务逻辑.
作为第一次使用EF,我通过在编排形式(主窗体或显示为用户应用程序的窗体)中创建并保持objectContext的实例作为成员变量并将查询绑定到网格视图来开发此项目.
对于各种事件,如功能区面板按钮单击,网格视图行单击等,我打开另一个窗体表单.在该窗口窗体中,我创建了另一个对象上下文并存储在该窗体类的成员变量中.
我读过很少的博客和问题,如:
一组作者建议共享对象上下文,而其他作者建议短期和非共享.
我达到了这种混乱状态,因为我现在处于这样一种状态,即我在其中一个子窗体中对objectContext所做的更改并未反映显示它的父窗体.我试图刷新但仍然没有用.仅仅为了一个实验,我通过构造函数注入分享了我在大多数父类中首次创建的objectContext,并解决了我的更改反射问题.
将我的所有子表单转换为共享objectContext对我来说是一项巨大的工作.但如果值得,我准备好了.我不确定分享它的潜在问题是什么?
我可能会选择objectContext的静态实例,因为我没有将它用于Web而不是计划多线程方案.如果需要,我可以成为一个单身人士.
我的问题:
项目和环境的详细信息如下:
在搜索和阅读许多问题和博客文章之后,我发布了这个帖子.我读的越多,它就越容易混淆:)如果我要离开某人想要回答的话,请耐心等待.如果通过评论提出这样的澄清,我会尝试更新问题.