如果之前有人问我,我真诚地道歉,但我无法找到一个与我目前情况类似的合适答案。我正在使用MAUI使用MoSync开发应用程序,因为所有平台都具有相同的外观。我遇到了理解MAHandles的问题,以及如何将SQLite信息发送到Web地址。然后,SQLite命令将使用RedBean PHP脚本转换为MySQL命令,然后发送到永久数据库。
我最关心的是两件事:
1.声明可以通过MAHandles使用的连接(我已经让SQLite命令在不使用MAHandles的情况下工作,但是在resources.lstx中声明数据库地址仍然无法避开我)
2.一般地宣布MAHandles。
另外,我知道字符串更有效,但是由于MAUI的年龄而忽略了这个事实,并且在使用char数组时它的功能显得更加平滑。
如果需要,我可以提供额外的说明,以便我可以帮助加快这一过程。
提前感谢您,希望这将有助于其他人尝试使用MoSync完美无瑕的产品。
答案 0 :(得分:0)
我对SQLite没有任何经验,但我假设处理SQLite命令是服务器端应用程序的工作。要清楚,您是通过URL将SQLite命令从移动应用程序发送到服务器端应用程序,对吗?如果您需要帮助,请搜索" CGI"。 CGI本质上是一种通过http://请求执行带参数的服务器端应用程序的方法。
这意味着您的应用应该有一个管理器,根据发送到您的移动应用程序的输入事件(按钮,文本字段等),使用正确的SQLite命令构建URL。
就Mosync而言,MAHandles可用于许多事情,包括下载。
看看Mosync的doxygen页面上的MAUtil :: DownloadListener类。 您将看到有5个纯虚函数的完整描述,您需要实现它们。 您的大部分代码可能都在finishedDownloading(Downloader * dl,MAHandle数据)中。在这里,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 );