- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我试图为 BADA 编译一个简单的 Helloworld 程序,但是通过命令提示符。编译后我得到的错误是c:/Helloworld/src/Helloworld.cpp:12: 错误:“Osp::App::Application HelloWorld::CreateInstance()”的原型(prototype)与“HelloWorld”类中的任何原型(prototype)都不匹配C:/Helloworld/inc/HelloWorld.h:21: 错误:候选者是:static Osp::App::Application* HelloWorld::CreateInstance()任何机构都可以帮助解决需要用它做的事情。谢谢
Helloworld.h 代码
#ifndef __HELLOWORLD_H__
#define __HELLOWORLD_H__
#include <FBase.h>
#include <FGraphics.h>
#include <FLocales.h>
#include <FSystem.h>
#include <FApp.h>
using namespace Osp::Base;
using namespace Osp::Graphics;
using namespace Osp::Locales;
using namespace Osp::System;
using namespace Osp::App;
class HelloWorld :
public Application // must inherit from Application class
{
public:
// The application must have a factory method that creates an instance of the application.
static Application* CreateInstance(void);
public:
HelloWorld();
~HelloWorld();
public:
// The application must provide its name.
String GetAppName(void) const;
protected:
// The application must provide its ID.
AppId GetAppId(void) const;
AppSecret GetAppSecret(void) const;
public:
// This method is called when the application is initializing.
bool OnAppInitializing(AppRegistry& appRegistry);
// This method is called when the application is terminating.
bool OnAppTerminating(AppRegistry& appRegistry);
// Thie method is called when the application is brought to the foreground
void OnForeground(void);
// This method is called when the application is sent to the background.
void OnBackground(void);
// This method is called when the application has little available memory.
void OnLowMemory(void);
// This method is called when the device's battery level changes.
void OnBatteryLevelChanged(BatteryLevel batteryLevel);
};
#endif
Helloworld.cpp 代码
#include "HelloWorld.h"
HelloWorld::HelloWorld()
{
}
HelloWorld::~HelloWorld()
{
}
Application*
HelloWorld::CreateInstance(void)
{
// You can create the instance through another constructor.
return new HelloWorld();
}
String
HelloWorld::GetAppName(void) const
{
static String appName(L"HelloWorld");
return appName;
}
AppId
HelloWorld::GetAppId(void) const
{
static AppId appId(L"93bt1p123e");
return appId;
}
AppSecret
HelloWorld::GetAppSecret(void) const
{
static AppSecret appSecret(L"9C645DDBA19C71BAD1204DA4DAA7A0B9");
return appSecret;
}
bool
HelloWorld::OnAppInitializing(AppRegistry& appRegistry)
{
// TODO:
// Initialization including UI construction can be done here.
// Load the application's latest data, if necessary.
// If this method is successful, return true; otherwise, return false.
return true;
}
bool
HelloWorld::OnAppTerminating(AppRegistry& appRegistry)
{
// TODO:
// Deallocate or close any resources still alive.
// Save the application's current states, if applicable.
// If this method is successful, return true; otherwise, return false.
return true;
}
void
HelloWorld::OnForeground(void)
{
result r = E_SUCCESS;
Canvas* pCanvas = GetAppFrame()->GetCanvasN();
if(pCanvas == null)
return;
Font* pFont = new Font();
pFont->Construct(FONT_STYLE_PLAIN | FONT_STYLE_BOLD, 50);
pCanvas->SetFont(*pFont);
r = pCanvas->DrawText(Point(30, 30), GetAppName());
if (IsFailed(r))
{
AppLog("pCanvas->DrawText() failed.\n");
delete pCanvas;
return;
}
r = pCanvas->Show();
if (IsFailed(r))
{ AppLog("pCanvas->Show() failed.\n");
delete pCanvas;
return;
}
delete pCanvas;
}
void
HelloWorld::OnBackground(void)
{
}
void
HelloWorld::OnLowMemory(void)
{
// TODO:
// Deallocate as many resources as possible.
}
void
HelloWorld::OnBatteryLevelChanged(BatteryLevel batteryLevel)
{
// TODO:
// It is recommended that the application save its data,
// and terminate itself if the application consumes much battery
}
Helloworldentry.cpp 代码
/**
* OSP Application entry point(OspMain) introduced.
*/
#include <fapp.h>
#include "HelloWorld.h"
using namespace Osp::Base::Collection;
extern "C"
{
__declspec(dllexport) void OspMain(int hInstance, int argc, char *argv[]);
}
/**
* Entry function of OSP Application which is called by the operating system.
*/
extern "C" {
void OspMain(int hInstance, int argc, char *argv[])
{
AppLog("OspMain() Started. \n");
result r = E_SUCCESS;
ArrayList* pArgs = new ArrayList();
pArgs->Construct();
for (int i = 0; i < argc; i++)
{
String* pEachArg = new String(argv[i]);
pArgs->Add(*pEachArg);
}
r = Osp::App::Application::Execute(HelloWorld::CreateInstance, pArgs);
if (IsFailed(r))
{
AppLog("Application execution has failed.\n");
}
if (pArgs)
{
pArgs->RemoveAll(true);
delete pArgs;
}
AppLog("OspMain() Ended. \n");
}
}
最佳答案
编译器提示你定义了一个带有这个签名的方法:
Osp::App::Application HelloWorld::CreateInstance()
而 HelloWorld
类声明其 CreateInstance
方法具有此签名:
Osp::App::Application* HelloWorld::CreateInstance()
注意返回类型的不同。类定义表明具有此名称的方法返回一个 Application
pointer 但您已经实现了一个返回 Application
object。
以后,请将代码与编译器错误一起发布。几乎不可能单独从产生错误的代码中充分解释编译器错误。例如,在这种情况下,我无法告诉您哪种返回类型是正确的;我只能告诉你返回类型不匹配(这正是编译器已经说过的)。
关于c++ - 从命令提示符编译 BADA 简单的 helloworld 程序并出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3599707/
我正在寻找一个 API 调用,它会告诉我用户拥有什么样的设备。例如:GT-S7250 或 Wave M 有没有这方面的 API? 最佳答案 在 Bada 2.0 中获取设备的型号名称在 SDK 文档中
我需要多次交易。但是 Bada 只允许我进行一次交易。如何增加交易数量?我使用的代码是 result HttpClient::TestHttpGet(Osp::Base::String link1)
我在 Bada 中遇到了静态指针和变量的问题。首先我尝试创建单例类并做了这样的事情: header : static Session *getInstanceOf(); private:
Bada 站点将 Windows 操作系统列为安装 Bada SDK 的系统要求。 是否可以使用 Linux 创建 Bada 应用程序? 最佳答案 三星不支持它,但可以使用 Wine 在 Linux
据我所知,三星 Bada 不是操作系统,只是想知道我是否可以为 Bada 应用程序开发类似共享库的 DLL。 最佳答案 自 SDK/IDE v.1.0.0 beta 1 RC8 起,您还可以创建 ba
我是 bada 编程的新手。我有一个问题,是否可以让 bada 中的按钮事件处理程序调出另一种形式?如果是这样,我该怎么做?非常感谢您! 最佳答案 是的, 将 ActionEventListener
我想开发一个 BADA 应用程序,它将打印消息 Helloworld。我已经下载了 BADA SDK。它可以在 BADA IDE 中完成,但我想使用命令提示符编译和运行它。现在我们需要编译它我认为使用
我正在尝试将 Bada 应用程序从 1.2 升级到 2.0,但没有使用过 Bada。我有项目构建并且可以在模拟器中运行它,但是我收到大量警告并且我无法单击文本框以获取键盘并在模拟器中输入任何内容。 不
我在单击某些内容时遇到此错误,它会弹出一 strip 有关闭按钮的消息,当我单击关闭按钮时,弹出窗口的某些部分无法正确关闭。这是它的屏幕截图。我可以知道如何解决这个问题吗? 这是弹出窗口: 这是错误:
任何人都知道 bada 2.0 JSON 解析的好教程。 浏览了 bada SDK 提供的 JSON 解析示例。我对 bada 和 c++ 编程比较陌生,所以很难理解。 最佳答案 Bada 2.0 添
我正在尝试在一个页面上循环并创建多个日历。 我失败了。 我的循环返回“bada”——那是什么? for (i=1; i<3; i++) { $("#jqxCalendar" + i).jqxCalen
bada C++ 风格指南/架构使用 two-step initialization C++ 对象。 为什么他们不简单地要求使用 scoped_ptr? 最佳答案 你应该问他们,因为我不是通灵者。 但
我开始开发 Bada 平台。但 C++ 不是我最喜欢的语言。那么,有什么办法可以在 Bada 上运行 Python 吗? 更新:对于 Android,有一个脚本层 (SL4A),它可以使用高级脚本语言
似乎 iostream 在 bada 的目录中。这是正确的吗 ?我应该用什么代替?这个文件需要我使用 cout,在很多论坛上我看到这个函数在 bada 中使用,但我在 bada 中找不到它。我使用 b
我是 bada 的新手,我想在 bada 2.0 上开发一个应用程序。那里有什么好的教程吗?我曾尝试在线搜索但没有找到任何结果。我意识到 bada IDE for 2.0 与旧的 IDE 相比有一些不
我正在改编示例 of Forms Management here并发现 AppLog 奇怪地破坏了我报告的字符串。 void MyFormsApp::OnUserEventReceivedN (Req
我正在处理的选项卡有 12 个编辑字段,滚动面板没有显示全部,最后 2 个编辑字段被切掉/截断。它们仅在我单击它们并输入一些内容时才会显示。我可以知道如何解决这个问题吗? 最佳答案 您可以使用Scro
我想开发一个 helloworld 应用程序,但想使用命令行而不是 BADA IDE 来编译它。 最佳答案 首先用bada IDE编译。请注意控制台窗口中的 g++ 和 ld 命令(忽略 make c
我试图为 BADA 编译一个简单的 Helloworld 程序,但是通过命令提示符。编译后我得到的错误是c:/Helloworld/src/Helloworld.cpp:12: 错误:“Osp::Ap
我正在尝试在三星的 Bada 操作系统上使用 C/C++ 访问 MEID/ESN。如果有人能指出正确的方向(网站、文档等),我将不胜感激。 非常感谢!-卡姆兰 最佳答案 MEID 和 IMEI 一样吗
我是一名优秀的程序员,十分优秀!