Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么Android在部署时会覆盖存储的数据? 首先,请考虑我是XAMARIN的新手,通常是表单和移动应用程序开发,因此解决这个问题可能很简单。尽管如此,我还是在没有任何有效解决方案的情况下进行了大量的谷歌搜索_C#_Android_Sqlite_Xamarin.forms_Android Backup Service - Fatal编程技术网

C# 为什么Android在部署时会覆盖存储的数据? 首先,请考虑我是XAMARIN的新手,通常是表单和移动应用程序开发,因此解决这个问题可能很简单。尽管如此,我还是在没有任何有效解决方案的情况下进行了大量的谷歌搜索

C# 为什么Android在部署时会覆盖存储的数据? 首先,请考虑我是XAMARIN的新手,通常是表单和移动应用程序开发,因此解决这个问题可能很简单。尽管如此,我还是在没有任何有效解决方案的情况下进行了大量的谷歌搜索,c#,android,sqlite,xamarin.forms,android-backup-service,C#,Android,Sqlite,Xamarin.forms,Android Backup Service,我的应用程序是Xamarin.Forms(c#)的,我使用的是VisualStudio19。我正在小米手机上测试 我正在处理将应用程序部署到手机时出现的问题。只有在AndroidManifest.xml中进行了一些更改(因此我猜是一些“深层”更改)以及卸载和重新安装应用程序之后,才会发生这种情况。问题是,我存储了一些SQLite数据,即使在卸载后也需要保留在手机中(我需要在重新安装后打开相同的应用程序后,数据才可见)。但该应用程序会记住一些数据,这些数据是一周前的实际输入数据,但(重新安装后)不

我的应用程序是Xamarin.Forms(c#)的,我使用的是VisualStudio19。我正在小米手机上测试

我正在处理将应用程序部署到手机时出现的问题。只有在AndroidManifest.xml中进行了一些更改(因此我猜是一些“深层”更改)以及卸载和重新安装应用程序之后,才会发生这种情况。问题是,我存储了一些SQLite数据,即使在卸载后也需要保留在手机中(我需要在重新安装后打开相同的应用程序后,数据才可见)。但该应用程序会记住一些数据,这些数据是一周前的实际输入数据,但(重新安装后)不会恢复任何更新的数据。我将举一个例子来更好地演示它。我昨天和今天在SQLite数据库中存储了一些东西。当我卸载应用程序时,然后单击开始调试按钮,它成功构建、部署等。但在应用程序打开后,它只显示一周前的数据(没有昨天/今天的输入)

现在,在Android文档中,我读到自动备份(从手机到谷歌硬盘)大约每天发生一次(如果
Android:allowBackup=“true”
,但这是默认情况)。我还读到,将
android:fullBackupContent=“true”
放入
(位于AndroidManifest.xml中)可能会有帮助,但在我的情况下没有。我还知道,在VS中有这样一个选项:工具->选项->Xamarin->Android设置→ “在部署之间在设备上保留应用程序数据缓存”(我勾选了此选项)

所以我的问题是,即使在重新安装之后,我如何获得完整的SQLite数据库?有没有办法将数据X保存到SQLite数据库中,1分钟后卸载应用程序,然后重新安装并查看数据X

顺便说一下,我的清单如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.myappname">
  <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28" />
  <application android:label="myappname.Android"
               android:allowBackup="true"
              android:fullBackupContent="true"></application>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

希望我已经解释得够多了


谢谢。

是否正在执行adb命令以安装显示在xamarin输出窗口中的应用程序?我不太清楚,但据我所知,它会获得adb设备列表。然后执行:[D:RunShellCommand]:(某些设备编号ID)pm install-D”/data/local/tmp/com.companyname.myappname Signed.apk“我想您的IDE(Xamarin)会先卸载应用程序,然后安装新的应用程序,您使用的是哪个版本?您正在使用msbuild吗?MS文档说明:“msbuild是Microsoft和Visual Studio的生成平台。”如果这是默认选项,则是,我正在使用它。如果没有,那么就没有,因为a没有更改任何类似的内容,但我对卸载然后重新安装的应用程序没有意见(如果有一些“深刻”的更改,就必须这样做,正如我在问题本身中所指定的),但我希望输入的数据即使在重新安装后也能保留在那里。但我只得到了一些数据,这些数据似乎是一周前备份的。因此,如果我有一个包含天数列的表,在其中我手动添加每天的天数,它会在一周后继续显示相同的天数,因为它只会在一周前记住输入。我希望这是有意义的adb命令正在执行,以安装应用程序显示在您的输出窗口在xamarin?我不知道多少,但就我了解的输出,它得到了adb的设备列表。然后执行:[D:RunShellCommand]:(某些设备编号ID)pm install-D”/data/local/tmp/com.companyname.myappname Signed.apk“我想您的IDE(Xamarin)会先卸载应用程序,然后安装新的应用程序,您使用的是哪个版本?您正在使用msbuild吗?MS文档说明:“msbuild是Microsoft和Visual Studio的生成平台。”如果这是默认选项,则是,我正在使用它。如果没有,那么就没有,因为a没有更改任何类似的内容,但我对卸载然后重新安装的应用程序没有意见(如果有一些“深刻”的更改,就必须这样做,正如我在问题本身中所指定的),但我希望输入的数据即使在重新安装后也能保留在那里。但我只得到了一些数据,这些数据似乎是一周前备份的。因此,如果我有一个包含天数列的表,在其中我手动添加每天的天数,它会在一周后继续显示相同的天数,因为它只会在一周前记住输入。我希望这是有道理的