0

我读了这个问题,想知道这是否适用于我的情况。

我想将accelerometer值(xyz)从Android手机写入 adatabase并使用平板电脑上的另一个应用程序检索它,以显示值随时间变化的图表。这不必实时发生。

所以基本上我的问题是:

1)两个不同Android设备上的两个不同应用程序可以使用同一个SQLite数据库吗?

2)我如何指定一个IP,以便手机上的一个应用程序写入指定的数据库,而平板电脑上的另一个应用程序从同一个指定的数据库中读取?

我已经可以读取Accelerometer值并且知道如何创建图表,但是我的项目的数据库组件遇到了问题,因为我遇到的所有内容似乎都将值存储在设备上SD card或只能访问的数据库中到设备本身,而不是其他应用程序或设备。

我已经阅读了关于通过首先获得一个静态 IPContentResolver来指定一个:

ContentResolver cr = getContentResolver(); 

然后适应settings

Settings.System.putString(cr, Settings.System.WIFI_USE_STATIC_IP, "1"); 
Settings.System.putString(cr, Settings.System.WIFI_STATIC_IP, "6.6.6.6");

然后启用permissions:WRITE_SETTINGSWRITE_SECURE_SETTINGS.

但我不确定在哪里写这个或如何正确使用它。

请指导我到哪里可以找到有关设置SQLite数据库的更多信息以及如何在两个不同Android设备上的两个不同应用程序中使用它?

先感谢您。

PS 我很快就会用我的一些代码更新这个问题。

4

2 回答 2

4

两个不同 Android 设备上的两个不同应用程序可以使用相同的 SQLite 数据库吗?

在两个不同大陆上运行的 Web 服务器最多只能使用同一个 MySQL 数据库。只有在具有文件系统访问权限的设备上运行的进程才能读取和写入该文件。

如何指定 IP,以便手机上的一个应用程序写入指定的数据库,而平板电脑上的另一个应用程序从同一个指定的数据库中读取?

你没有。Android 不是服务器平台。

最好的情况是,如果两台设备都在同一个 WiFi LAN 上,并且您编写了一个从一个设备公开数据库的 Web 服务,那么您可能能够完成此任务。当然,这会使您面临与使用 Web 服务器相同的安全问题,而没有防火墙等的好处。

我想将加速度计值(x、y 和 z)从 Android 手机写入数据库,并使用平板电脑上的另一个应用程序检索它,以显示值随时间变化的图表。这不必实时发生。

因此,您不需要两台设备来访问同一个数据库。您需要它们处理相同的数据

因此,您可以让手机通过 Web 服务将数据发送到某个服务器,并让平板电脑通过 Web 服务从该服务器检索数据。

或者,让手机通过蓝牙将数据发送到平板电脑。

或者,如果您觉得安全性足够,让平板电脑通过手机使用的 WiFi 公开 Web 服务(尽管这真的让我害怕,特别是如果平板电脑可能加入其他网络,例如被移动)。

在任何情况下,手机和平板电脑都不一定数据库,更不用说尝试直接共享它了。

于 2011-09-21T12:59:52.913 回答
0

SQlite 数据库对创建它的应用程序是私有的。如果您想与其他应用程序共享数据,您可以使用 Content Provider。

于 2011-09-21T12:53:59.013 回答