0

如果之前有人问过这个问题,我深表歉意,但是我无法找到与我目前情况相似的合适答案。我正在使用 MAUI 开发一个带有 MoSync 的应用程序,因为所有平台的外观都相同。我在理解 MAHandles 以及如何将 SQLite 信息发送到 Web 地址方面遇到了问题。然后,SQLite 命令将使用 RedBean PHP 脚本转换为 MySQL 命令,然后发送到永久数据库。

我最担心的是2个项目:

1.声明可通过 MAHandles 使用的连接(我已经让 SQLite 命令在不使用 MAHandles 的情况下工作,但是在 resources.lstx 中声明数据库地址仍然逃避我)

2. 一般声明 MAHandles。

另外,我知道字符串更有效,但是由于 MAUI 的时代,我忽略了这一事实,并且在使用 char 数组时它的功能看起来更流畅。

如果需要,我可以提供额外的说明,以便我可以帮助加快这个过程。

提前感谢您,希望这将帮助其他人尝试使用 MoSync 完美的产品。

4

1 回答 1

0

我对 SQLite 没有任何经验,但我假设处理 SQLite 命令是您的服务器端应用程序的工作。需要明确的是,您是通过 URL 将 SQLite 命令从移动应用程序发送到服务器端应用程序,对吗?如果您需要这方面的帮助,您应该搜索“CGI”。CGI 本质上是一种通过 http:// 请求执行带有参数的服务器端应用程序的方法。

这意味着您的应用程序应该有一个管理器,该管理器根据发送到您的移动应用程序(按钮、文本字段等)的输入事件,使用正确的 SQLite 命令构造一个 URL。

就 Mosync 而言,MAHandles 可用于许多事情,包括下载。

看看 Mosync 的 doxygen 页面上的 MAUtil::DownloadListener 类。您将看到需要实现的 5 个纯虚函数的完整描述。您的大部分代码可能在finishedDownloading(Downloader* dl, MAHandle data) 中。在这里,MAHandle“数据”将指向您下载的数据段的开头。

因为我正在下载文本,所以我将数据读入 char*。

这是一个片段:

void MainScreen::finishedDownloading( Downloader* dl, MAHandle data )
{
    char* mData = new char[ maGetDataSize( data ) + 1 ];
    memset( mData, 0, maGetDataSize( data ) + 1 );
    maReadData( data, mData, 0, maGetDataSize( data ) );

    // Destroy the store
    maDestroyObject( data );

    // Do something with mData;


}

下面是一个使用 MAHandle 设置 NativeUI::Widget 文本字体的示例:

MAHandle font = maFontLoadDefault( FONT_TYPE_SERIF |
                        FONT_TYPE_MONOSPACE |
                        FONT_STYLE_NORMAL, 0, Dimensions::DIM_LIST_ELEM_FONT_SIZE );

ListViewItem* items = new ListViewItem();
items -> setFont( font );
于 2014-08-20T22:53:29.937 回答