有谁知道是否可以使用MoSync创建具有本机用户界面的应用程序?
从我可以告诉所有的用户界面/图形是用自己的用户界面库,而不是本地用户界面元素。MoSync本地用户界面和部署
另外,现在我仍然在创建一个问题。为什么MoSync会针对特定的电话?是不是可以为你定位的平台创建一个通用的安装包? (如android的.apk文件)。如果可能的话,它应该使分发更容易。
有谁知道是否可以使用MoSync创建具有本机用户界面的应用程序?
从我可以告诉所有的用户界面/图形是用自己的用户界面库,而不是本地用户界面元素。MoSync本地用户界面和部署
另外,现在我仍然在创建一个问题。为什么MoSync会针对特定的电话?是不是可以为你定位的平台创建一个通用的安装包? (如android的.apk文件)。如果可能的话,它应该使分发更容易。
现在直到现在的标准方式是通过MAUI库创建一个自定义的非本机用户界面。截至2011年2月3日,Android和iPhone都有一个实验性原生UI框架。然而,用户文档并不存在,因此您需要检查源代码以获取更多信息。我会指出您正确的方向,用于访问使用在maapi.idl中定义的maWidget *系统调用的本机小部件。有关可用小部件和属性的列表,请参阅:Types.java。请注意,此API可能会更改并扩展。
一个简单的本地UI例如:
#include <MAUtil/Moblet.h>
#include <IX_WIDGET.h>
class NativeUIMoblet : public MAUtil::Moblet
{
public:
NativeUIMoblet()
{
// Create a screen
MAHandle mainScreen = maWidgetCreate("Screen");
// Create a 'Hello World' label
MAHandle helloLabel = maWidgetCreate("Label");
maWidgetSetProperty(helloLabel, "text", "Hello World!");
// Add the label to the screen
maWidgetAddChild(mainScreen, helloLabel);
// Show the screen
maWidgetScreenShow(mainScreen);
}
void keyPressEvent(int keyCode, int nativeCode)
{
}
void keyReleaseEvent(int keyCode, int nativeCode)
{
}
};
extern "C" int MAMain()
{
MAUtil::Moblet::run(new NativeUIMoblet());
return 0;
};
目前,没有模拟器支持,所以你必须在设备上或者在一个特定的SDK模拟器中运行它。
定位特定手机的原因是存在特定于某个设备的错误。但是在最近的MoSync每晚构建中,您可以为Android 2.1等通用平台构建。
[请提供链接的上下文](http://stackoverflow.com/questions/how-to-answer)。虽然这可能在理论上回答这个问题,[这将是优选的](http://meta.stackexchange.com/q/8259)以包括回答的主要部分在这里,并提供链路参考。 – Gilles 2011-11-12 23:06:09
我会认为能够使通用apk文件是一个更重要的功能。将使应用程序向应用程序商店提交应用程序变得更容易。 请注意,我还没有实际使用MoSync(正在研究不同的框架),所以也许我没有抱怨。 无论如何,谢谢你回答:) – Rutger 2011-02-08 08:26:11