我对Blackberry Playbook开发中的SDK/API选择数量感到非常困惑.在移动应用开发中是否有一个或另外建议更多的完成初学者?
暂且不谈Flash/Air,HTML和JAVA选项,哪两种原生C/C++选择更容易入手?我认为Cascades是未来,所以除非有理由不向初学者推荐,否则我猜这可能是想要更快完成更多工作的人的"更容易"的选择.
与iOS和Android相比,BlackBerry 10拥有相当复杂的日志系统.我找到的唯一解决方案是使用这样的javaloader工具:
javaloader.exe -u eventlog > eventlog.txt
Run Code Online (Sandbox Code Playgroud)
但它似乎仅适用于10年前版本的BlackBerry OS.我在BlackBerry 10 NDK中找不到此工具.
使用命令行获取日志的最简单方法是什么?
BB 10中是否有任何方法可以在手机启动时自动启动应用程序?如果是的话,是否有可能在进行后台处理(如cheking gps位置或wifi状态)时在后台进行重组?先感谢您.
这篇文章涉及最近一个软件项目中遇到的技术问题,并允许读者从问题的来之不易的解决方案中受益.
背景
在我的公司,我是内部库的实现者和维护者,它使用Boost asio("ASynchronous I/O")套接字框架来实现套接字上的跨平台数据传输.一位同事最近遇到了以下问题:如果Wi-Fi路由器在文件传输操作期间被毫不间断地关闭,她的Blackberry 10应用程序会链接并使用我的库,在几秒钟内崩溃.
在库中启用内置跟踪向我们展示了当库调用boost :: asio :: write(boost :: asio :: ip :: tcp :: socket*,boost :: asio :: buffer)时发生崩溃)函数与套接字不是'有效'(即套接字可能无法使用).在write()周围放置一个try/catch(boost :: system :: system_error)块无法捕获任何内容 - 崩溃显然发生在Boost中.
因为崩溃只发生在发布版本中,所以我们无法使用调试器.
技术信息
以下是编译器的典型命令行调用:
/home/foobar/bbndk/host_10_1_0_238/linux/x86/usr/bin/QCC
-Vgcc_ntoarmv7le
-lang-c++
-x c++
-DLINUX -DQNX -DSUPPORT_LAN -DUSE_SQLITE_FOR_DATABASE
-Wno-psabi -Wno-write-strings
-O3
-DNDEBUG
-fno-strict-aliasing
-fPIC
-I/home/foobar/Libraries/BlackBerry_10/boost_1.48/include
...
-I/home/foobar/Libraries/BlackBerry_10/utfcpp_1.0/include
-o CMakeFiles/Internals.dir/ConfigFileSingleton.cpp.o
-c /home/foobar/myproject_dev/myproject/SDK/Internals/ConfigFileSingleton.cpp
Run Code Online (Sandbox Code Playgroud)
用于查找问题源的步骤
我们编写了一个轻量级的最小应用程序,尝试用更少的代码重现问题,首先使用原始套接字,然后使用Boost的ASIO.如果崩溃发生,我们可以认为问题不是由我们的专有库引起的.不幸的是,崩溃是不可重复的,导致我们怀疑我们的库有错.
我们编写了一个轻量级跟踪框架,用于Boost的ASIO头文件,用于检测与问题相关的功能.框架在进入和退出这些函数时输出一个字符串,使我们也可以跟踪变量的值.
使用跟踪框架,我们能够证明发生了boost :: throw_exception崩溃()模板函数(非相关#ifdef'd代码中删除).当系统级写入操作在"损坏的管道"上失败时,Boost调用此函数:
template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e )
{
//All …Run Code Online (Sandbox Code Playgroud) 我正在使用新版本的Blackberry(Blackberry 10).我正在尝试将c ++代码与QML集成,但我遇到了一些我认为与其他问题相关的问题.在.h文件中,Q_OBJECT,Q_PROPERTY信号和插槽显示存在语法错误.并在我尝试使用此类型的QML文件中(例如导入CustomTimer 1.0)我得到了此问题模块"CustomTimer"未安装.如何解决这个问题?
我有1个.bar文件,它是从eclipse插件生成的.
现在我想在Blackberry 10模拟器中测试那个.bar文件.
我该如何测试该应用程序?
我已经成功安装了黑莓模拟器10 Dev Alpha并配置了IP地址.
请帮我.提前致谢.
eclipse eclipse-plugin blackberry-simulator blackberry-eclipse-plugin blackberry-10
我正在使用Cascades为Blackberry 10进行开发,其中包括QT和QML.我发现我有时会在我的QML文件中出错,但是在编译时它们没有被提取.如何检查我是否出现语法错误,错误命名函数调用或其他典型错误?
我需要在BlackBerry 10应用程序中使用完美的无间隙循环音频.我的循环存储为WAV文件.我用来玩它们的方法是:
alutCreateBufferFromFile该缓冲区返回abufferIDalGenSourcesalSourcei(source, AL_BUFFER, bufferID)alSourcei(source, AL_LOOPING, AL_TRUE)alSourcePlay(source)音频在大多数情况下都能正常播放,但在UI过渡期间(例如当背光灯熄灭或应用程序最小化时),音频会断断续续.
我有什么想法可以确保音频一直很流畅吗?
我正在使用QNX的时刻进行黑莓开发.问题是每当我下载任何示例代码并在Simulator上运行它.然后错误来找我.
当我清理项目时,它给我错误
**** Clean-only build of configuration Simulator-Debug for project list ****
make -j4 clean
make: *** No rule to make target `clean'. Stop.
**** Build Finished ****
Run Code Online (Sandbox Code Playgroud)
在构建项目时它给了我
**** Build of configuration Simulator-Debug for project list ****
make -j4 Device-Debug
make: *** No rule to make target `Device-Debug'. Stop.
**** Build Finished ****
Run Code Online (Sandbox Code Playgroud)
这些错误不允许我运行任何示例代码.请任何人告诉我如何解决这个问题.我已将目标设置为Simulator-Debug.
blackberry-simulator blackberry-eclipse-plugin blackberry-10 blackberry-cascades blackberry-qnx
我正在使用Qt 4.8和BB10.
我为要实现的类定义了一个基本接口:
class AbstractImageProcessor : public QObject
{
public:
AbstractImageProcessor(QObject * parent) : QObject(parent) {}
virtual QImage process(const QByteArray &data) = 0;
virtual ~AbstractImageProcessor(){ }
};
Run Code Online (Sandbox Code Playgroud)
我希望从QML中使用的一个这样的实现看起来像这样:
class WebImageProcessor : public AbstractImageProcessor
{
Q_OBJECT
Q_PROPERTY(int maxHeight READ getMaxHeight WRITE setMaxHeight NOTIFY maxHeightChanged)
Q_PROPERTY(int maxWidth READ getMaxWidth WRITE setMaxWidth NOTIFY maxWidthChanged)
Q_PROPERTY(bool fit READ isFit NOTIFY fitChanged)
public WebImageProcessor(QObject * parent = 0) : AbstractImageProcessor(parent) {}
virtual ~WebImageProcessor() {}
/* rest of code omitted */
};
Run Code Online (Sandbox Code Playgroud)
我想将此AbstractImageProcessor作为另一个QML类型的属性公开:
class …Run Code Online (Sandbox Code Playgroud)