小编Jas*_* L.的帖子

需要在Android设备上存储大量数据,考虑去OODB

我目前正在开发一个基于Android的项目.在没有了解许多细节的情况下,该软件将在定制的设备上运行.硬件永远不会改变,并且永远都是一样的.这是一个明确的加:)

话虽如此,该项目要求我们在设备上存储负载和数据负载 - 在某些表中超过3米的行.SQLite处理扫描这么多行对我们来说很好,当我们开始进行复杂的连接以带回我们需要的所有相关数据时,问题就出现了.我们已经考虑过对数据库进行非规范化,但是担心会将数据库推到可用的范围之外.

我们正在研究使用面向对象的数据库,比如db4o或NeoDatis.我们希望通过存储对象,我们可以在行级别上删除我们的关系并将它们存储在对象上(就像OOP一样).问题是我们无法找到在Android上运行和使用的这些ODB的任何性能相关基准(至少不是最近的基准).

有没有人对Android上的OODB和/或存储和访问这些大量数据有任何经验?如果是这样,您可以提供的任何建议将不胜感激.

- 编辑

这是我们面临的问题的一个例子.它与我们的应用程序无关(我的NDA说我不能发布任何具体内容),但这个例子很好地代表了这个问题.

想象一下,我们正在构建一个应用程序来监控在任何时候在新泽西收费公路上行驶的每辆车.对于任何给定的汽车,我们需要跟踪汽车制造和模型,汽车中有多少人以及汽车中人员的人口统计数据.所以基本上你最终得到的数据看起来像 -

汽车

id | 颜色| make_id | in_toll_lane | MODEL_ID

使

id | 名称

模型

id | 名字| make_id

car_person

id | 年龄| 性别 is_driver | car_id

toll_lanes

id | cars_in_line | ideal_cars_in_line | ideal_occupants

这些数据将经常变化.它也会变得相当庞大,因为毫无疑问很多人都会在任何时候驾驶NJ Pike.

根据这些数据,我们需要能够根据需要快速拍摄任何驾驶梭子鱼的人.我们还需要能够快速拍摄所有正在驾驶的男性或收费公路上的所有女性.我们还需要能够按年龄,性别,品牌,模型等进行搜索.

现在想象一下,我们需要弄清楚每辆车应该根据车内人数,理想的乘员数量,已经排队的车辆数量以及应该排队的理想车辆数来进入哪个收费车道.

这是一个非常简单的例子,虽然很能代表我们的问题.

- 结束编辑

提前致谢!

sqlite android oodb object-oriented-database

11
推荐指数
1
解决办法
1601
查看次数

CoffeeScript Existential Operator和这个

我注意到CoffeeScript编译器有点奇怪,并且想知道这是否是正确的行为.如果它是正确的我很好奇为什么会有区别..

鉴于以下CoffeeScript:

if @myVar?
  alert myVar
Run Code Online (Sandbox Code Playgroud)

我期待它像这样编译成JavaScript:

if (typeof this.myVar !== "undefined" && this.myVar !== null) {
  alert(myVar);
}
Run Code Online (Sandbox Code Playgroud)

但相反,CoffeeScript编译器输出的是:

if (this.myVar != null) {
  alert(myVar);
}
Run Code Online (Sandbox Code Playgroud)

如果我不引用此(或任何其他父对象),CoffeeScript将按照我的预期进行编译.

这是正确的行为吗?如果是这样,为什么使用它时它会有所不同?

编辑:

添加一点澄清.仅在此情况下不会发生这种情况,而是对象的任何其他属性.例如,如果我用下面的内容替换上面的CoffeeScript,它仍然只用"!= null"编译...

if myVar.myProp?
  alert myVar
Run Code Online (Sandbox Code Playgroud)

coffeescript

11
推荐指数
1
解决办法
3554
查看次数

HTML5游戏(画布) - UI技术?

我正在使用PhoneGap为移动设备(Android/iPhone/WebOS)构建JavaScript/HTML5游戏(使用Canvas).我目前正在尝试设计如何构建UI和游戏板以及它们应该如何交互,但我不确定最佳解决方案是什么.这是我能想到的 -

  1. 使用drawImage和fillText之类的东西将UI直接构建到画布中
  2. 使用常规DOM对象在画布外部构建UI的一部分,然后在UI元素需要与播放板画布重叠时在画布上浮动div.

有没有其他可能的技术可用于构建我没想过的游戏UI?另外,哪些被认为是"标准"方式(我知道HTML5游戏不是很受欢迎,所以可能还没有"标准"方式)?最后,您推荐/使用哪种方式?

提前谢谢了!

编辑

我已将此问题移至gamedev.stackoverflow.com.你可以在这里找到新的问题:https://gamedev.stackexchange.com/questions/7090/html5-game-canvas-ui-techniques/7115#7115

javascript mobile html5 canvas

10
推荐指数
1
解决办法
3555
查看次数

正则表达式从函数定义中获取参数列表

可能重复:
如何从javascript动态获取函数参数名称/值

我正在研究javascript(node.js)中的一个项目,我试图从函数中获取一个参数名称数组(NOT值,我不需要参数).我目前正在使用Function.toString()获取函数字符串,然后运行正则表达式以获取我的参数列表.

我们来看下面的简单示例:

var myFunction = function (paramOne, paramTwo) { ... }
Run Code Online (Sandbox Code Playgroud)

运行我的正则表达式,然后做一些字符串魔术(拆分等),我希望像这样的数组:

paramList = ['paramOne', 'paramTwo']
Run Code Online (Sandbox Code Playgroud)

我有一些有用的东西,但我觉得它可能不是最好的解决方案给定一些时髦的字符javascript允许你使用变量名称和javascript将让你在多行定义功能.

这是我目前拥有的:

function.*[\w\s$]*(\((.*[\w\s,$]*)\))
Run Code Online (Sandbox Code Playgroud)

这给了我第1组中的"匹配",然后是第2组中没有任何parens的参数列表,这很酷.这真的是做我想要的最好的方式吗?我可以使用更好的正则表达式吗?我并不是在寻找"更简单"的东西,而是真正能够捕捉到所有可能情况的东西.

任何帮助将不胜感激,并提前多多感谢!

javascript regex

9
推荐指数
1
解决办法
2万
查看次数

真的很奇怪的"重绘行为"与锚链接,Twitter bootstrap fixed-navbar和affix插件

当使用Twitter Bootstrap的附加插件,固定导航栏和锚链接时,我遇到了一种非常奇怪的行为.我将尝试解释我的问题但是很难说出来,所以请原谅我,如果我不是最清楚的话.

navbar-fixed-top我的页面顶部有一个.在那之下,我有一个.containerdiv.在里面我有两个div.spans(span4span8).里面span4是一个应用了它div.wellaffix-top类(所以它得到一个固定的位置,"粘"在它的位置).在我的内心我span8有一堆内容.

welldiv里面有一个nav-list.这个列表会根据(我有一个执行此操作的小脚本)中的项目填充li/ aelements span8.这些链接是锚,那么它们指向的页面(上的元素#myId,#myIdTwo等等).所有这一切都非常有效.我的列表在那里,链接是可点击的,它们带我到我的元素.大.

但是,不是很好.有时,当我点击其中一个链接时,我会转到我的锚点,span8但页面似乎没有正确刷新.我有时看到奇怪的白色"盒子".或者跨度内的内容将部分显示在固定的上方nav-header.有时候有一半会nav-list消失......但是如果我把鼠标移到它周围,它会回来(排序).就像你曾经在一些陷入困境的旧Windows应用程序中看到的那样.

你可以在这里看到自己:http://jaylach.github.com/lutra.在看到问题之前,您可能需要多次单击某些导航链接.

我整天都在苦苦挣扎,我不能,因为我的生活,想出来.我拿出了词缀,我已经取出了固定的顶部导航栏,我已经取出了我的z-index.我似乎无法弄明白.

有没有人,任何地方,有任何线索可能导致这个?我真的很感激你们给我们的任何建议.

提前谢谢了!!

html css css3 twitter-bootstrap

9
推荐指数
1
解决办法
1774
查看次数

尝试使用NDK为Android构建PocketSphinx的问题

我正在尝试使用PocketSphinxAndroidDemo项目为Android构建PocketSphinx.我放弃了使用Cygwin和Windows构建它并安装了Ubuntu VM的任务.我正在取得进步,但我似乎陷入困境,我似乎无法弄明白.它必须是我想念的简单事物.ndk-build提供以下输出(剪切):

Compile thumb  : pocketsphinx_jni <= pocketsphinx_wrap.c
/home/user/development/PocketSphinxAndroidDemo/jni/pocketsphinx_wrap.c:760:26: error: pocketsphinx.h: No such file or directory
/home/user/development/PocketSphinxAndroidDemo/jni/pocketsphinx_wrap.c:761:28: error: sphinxbase/err.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

头文件(显然)与JNI文件不在同一文件夹中.已在Android.mk文件中设置LOCAL_C_INCLUDES标志以包含所需的标头 -

include $(CLEAR_VARS)
LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android \
            $(SPHINX_PATH)/sphinxbase/include/sphinxbase \
            $(SPHINX_PATH)/sphinxbase/include \
            $(SPHINX_PATH)/pocketsphinx/include
Run Code Online (Sandbox Code Playgroud)

我应该注意,我的SPHINX_PATH变量看起来像这样,而且它是正确的 -

SPHINX_PATH := ~/development
Run Code Online (Sandbox Code Playgroud)

如果我将头文件复制到/ jni /文件夹中,我会更远但是编译器开始对我大喊大叫,因为其他位置缺少头文件.当然我错过了一些简单的东西.是不是在那里我可以设置"在炸毁之前查看头文件的这些位置"标志?

我不是一个C/C++或Linux家伙,所以我在这里不知所措.任何帮助将不胜感激.谢谢!

android android-ndk android-ndk-r5

7
推荐指数
1
解决办法
2694
查看次数

Scrum Taskboard - 任务可以改变吗?

我工作的公司目前正在寻求从传统瀑布转向Scrum进行开发.我们正在慢慢采用我们可以采取的做法,而不是完全采取行动(在我们完全继续前进之前,我们还有很多需要学习的东西!).

在完成全部切换之前,我们现在想要实现的一件事是任务板.我们都觉得这是一个很好的工具,可以帮助开发,并通过"你在做什么?"帮助那些业务用户摆脱困境.和"怎么样?" 问题和会议.

所有这一切,我一直想知道的一件事是任务板上的任务可以改变吗?我知道你不想改变故事,但故事中的任务呢?如果新任务出现或旧任务不再有效怎么办?它们是否可以在sprint中间添加和/或删除(尽管我们并没有真正使用sprint,更像是开发周期较短).

谢谢!

agile scrum

6
推荐指数
1
解决办法
3483
查看次数

使用AngularJS从服务器重定向时Android上的无限重定向循环

我正在为旧版Android(2.3.x)构建一个web/phonegap应用程序.一切都很好,直到我尝试添加任何服务器重定向到混合.这是场景:

服务器(node.js)有一个侦听'/'的路由.当该路线被击中时,它会检查是否有会话.如果没有会话,则重定向到/ login.很好,这部分工作(服务器明智,反正).

当客户端获得重定向时会出现问题.因为Android 2.3不支持history.pushState,所以它会回退到hashbangs.这意味着AngularJS将url重写为/#!/ login,这会导致服务器请求为'/',这会导致服务器检查会话并重定向到'/ login',这会导致AngularJS将url重写为/#!/登录..等等......无限期.

有关如何使用AngularJS从服务器重定向的任何想法?我不应该在我的路线中处理这个逻辑,而是尝试在客户端上实现它吗?我敢肯定,必须有办法解决这个问题,但我似乎无法弄明白.

任何帮助将不胜感激.谢谢!!

android node.js angularjs

6
推荐指数
1
解决办法
716
查看次数

构建一个使用requirejs的消费库?

我有一个问题似乎无法找到答案.我正在构建一个供消费的库,我想使用requirejs使其更加模块化.我有以下项目结构......

- example
    - scripts
        - otter
            - libs
                - signals
                    signals.js
            - modules
                subModule1.js
                subModule2.js
            otter.js
    index.htm

- src
    - libs (copied to example folder at build time)
        - signals
            signals.js
    - modules
        subModule1.coffee
        subModule2.coffee
    - otter.coffee
Run Code Online (Sandbox Code Playgroud)

我想要做的是能够从我的任何其他文件中请求signals.js文件和我的任何模块,而无需在require中设置路径,或者我不必知道项目是如何设置的在开发时.

例如,我在otter.coffee文件中尝试做的是:

define ['/libs/signals/signals'], (signals) ->
    # I've also tried './libs/signals/signals' and 'libs/signals/signals'
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用,因为无法找到signals.js文件.

如何让requirejs相对于当前文件加载模块?我已经读过,我可以要求require作为依赖项,并且该require的路径将被设置为文件的路径,但这似乎也不起作用.它抛出一个未加载的错误i:e -

define (require) ->
    signals = require './libs/signals/signals'
Run Code Online (Sandbox Code Playgroud)

我有什么想法可以做到这一点?我需要更改库的结构吗?我是否必须强制使用特定结构?我是否要求使用它的人在他们的require配置中包含某些路径?

提前谢谢了!

编辑 -

我注意到如果我在main.js文件中将我的库别名为require,则需要(通过require或define)信号不起作用(继续找不到404).但是,如果我没有别名我的库一切正常..

例如,如果我的require main.js文件有..

...
paths: {
    'otter': 'scripts/otter/otter'
}
...
Run Code Online (Sandbox Code Playgroud)

那么信号的要求就失败了.但是,如果我没有路径并且我需要水獭通过它的直接路径,那么信号的需求就会起作用.我在otter.js中需要这样的信号......

define (require) ->
    signals …
Run Code Online (Sandbox Code Playgroud)

javascript coffeescript requirejs

5
推荐指数
1
解决办法
1725
查看次数

检查repo是否使用GitHub API加星标

我目前正在尝试检查并查看是否由使用GitHub API(v3)的经过身份验证的用户加注了回购.我可以成功列出由登录用户加星标的回购,但在检查回购是否由用户加星标时,我似乎无法使其工作.

例如..

(GET)/ user/starred?access_token = ...正确返回我已加星标的repos的完整列表.

(GET)/ user/starred/joynet/node?access_token = ...总是返回状态404,无论我使用什么所有者/回购组合,或者我实际上是否有该回购加星标.

我还应该注意,除了(GET)/ user/starred之外,我似乎无法访问/ user/starred中的任何内容.无论我做什么,对/ user/starred /:owner /:repo的任何PUT,DELETE或POST请求都会返回404.

知道我应该如何使用这个API吗?我已经阅读了文档,我相信我正确地做到了,但我似乎无法让它工作.

javascript api rest github

5
推荐指数
1
解决办法
659
查看次数

代码签名证书、.p12 文件和 mobileprovisions 的命令行安装

我在一家为各种企业做 3rd 方 iOS 开发的公司工作。我的任务是研究一种更好的方法来为这些企业构建和部署代码。根据 Apple TOS,他们不能使用使用我们的企业证书签名的应用程序(他们不是“内部”)。该代码需要使用他们(我们的客户)企业证书进行签名。以下是我见过的一些可能的解决方案 -

1) 将代码发送给客户端,并让客户端构建它。这是不行的

2) 使用应用程序代码创建一个库,并将 .so 文件和头文件发送到客户端进行构建。我们目前正在这样做,但正在考虑让客户/我们更容易做到这一点。

3) 让客户向我们发送他们的证书、mobileprovision 和 .p12 文件,然后我们使用他们的证书构建应用程序。这可能奏效,但可能成为管理噩梦。

我们提出了一个想法,它是这些想法的混合。这个想法涉及构建一个客户门户,客户可以在其中将他们的文件(证书、p12、配置)上传到我们的 Mac 服务器,Mac 将自动构建他们的应用程序,并正确签名。然而,我遇到的问题是我似乎无法找到如何自动安装证书和规定。

话虽如此,有人知道从命令行安装 CodeSign 证书(带有 .p12 文件)和移动配置文件的方法吗?安装后是否还有办法从命令行中删除项目?

任何帮助、想法和/或输入将不胜感激。谢谢!

iphone macos

2
推荐指数
1
解决办法
4434
查看次数