今や標準的な方法は、MAUIライブラリを使ってカスタムの非ネイティブUIを作成することでした。 2011-02-03現在、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のような汎用プラットフォーム用に構築することができます。
一般的なapkファイルを作成できるというのは重要な機能だと思います。アプリケーションストアにアプリケーションを提出するほうがずっと簡単です。 私はMoSyncを実際に使用していません(異なるフレームワークの研究を行っています)ので、何も言わないこともあります。 とにかく、ありがとうございます。 – Rutger