ZXing Result.getRawBytes(),究竟是什么?

我正在使用zxing QR代码API,我正在尝试从Android设备上的QR代码中提取二进制数据。 但是,在android上,Result.getResultMetadata()没有通过Intent传递给我,所以我尝试使用Result.getRawBytes()来检索我的字节数组。 但是,getRawBytes()似乎没有返回相同的东西。 究竟是什么Result.getRawBytes(),有谁知道如何从zxing QR码正确提取字节数组? 谢谢

获取Android ProgressBar中secondaryProgress的宽度

我有一个带有文本的进度条,我在其中覆盖了onDraw,如下所示: @Override protected synchronized void onDraw(Canvas canvas) { super.onDraw(canvas); Paint textPaint = new Paint(); textPaint.setAntiAlias(true); textPaint.setColor(textColor); textPaint.setTextSize(textSize); Rect bounds = new Rect(); textPaint.getTextBounds(text, 0, text.length(), bounds); float fx = getX(); float fy = getY(); int x = getWidth() / 2 – bounds.centerX(); int y = getHeight() / 2 – bounds.centerY(); canvas.drawText(text, x, y, textPaint); } […]

我可以使用Xuggler将video/音频编码为字节数组吗?

似乎所有方法都需要文件或url。 我看到一些与OutputStream一起使用的方法,但我还没有设法使用其中一种方法打开IContainer; 我总是得到一个无效的返回值。

Java平均函数

我是编程新手,我想找出一个简单的平均函数。 我写了一个平均3个整数的函数。 现在我希望能够使用任何集合类和任何数字类并获得平均值。 问题在于这些类不能使用+或/来获得平均值。 所以我想知道是否有任何解决办法可以使用这两个类? 这是我的第一个有效的function: package refresh; import java.util.*; public class Average { public static void main( String args[]){ int a, b, c; float average; Scanner scanner = new Scanner(System.in); System.out.println(“Enter First Number”); a = scanner.nextInt(); System.out.println(“Enter Second Number”); b = scanner.nextInt(); System.out.println(“Enter Third Number”); c = scanner.nextInt(); average = (float)(a+b+c)/3; System.out.println(“The Average Is […]

DDD(java)聚合根和持久性

我正在创建一个应用程序,它将使用各种大小的表格,而我已经开发了一个标记为DDD的项目,之后它没有真正使持久性部分正确,因此我还在研究事物。 我没有完全掌握并且似乎无法找到具体例子的一件事是如何坚持聚集根的“孩子”。 我工作时没有ORM(只是普通的老DAO)很难找到的例子(这实际上是针对uni的项目,这是db特定的所以我’不允许’使用ORM,而我很欣赏这简直太容易了。 我已经四处查看了stackoverflow的具体示例,但似乎没有什么能够描述我的特定问题。 我怀疑下面的代码是对的 public DataTable getTableByID(int id) throws AccessException{ DataTable result = this.context.TableContext().getEntityByID(id); result.setColumns(getColumnsByTableID(id)); return result; } private List getColumnsByTableID(int id){ Object[] arguments = { id }; return this.context.ColumnContext().getUnitsWhere(“TABLE_ID = ?”, arguments); } 如您所见,每次检索表实体时都会设置columns集合,如果表已经在内存中,这显然会丢弃已添加到集合中或从集合中删除的任何列。 我不确定我应该在哪里或如何检索列(我已经考虑过从表类中调用存储库但是对此感觉不舒服)。 说到持久性,我也不完全确定如何去做,当我将对象添加到列表中时我可以很容易地检索它们但是当我删除它们时我真的没有办法检测(因为我是确保把事件赶上来这将是作弊:))。 非常感谢,向正确的方向推进一点点,谢谢。

使用O(1)中的前缀树查找单个最近邻居?

我正在读一篇论文,他们提到他们能够使用前缀树在O(1)中找到单个最近邻居。 我将描述一般问题,然后是经典解决方案,最后是论文中提出的解决方案: 问题 :给定一个位向量列表L(所有向量具有相同的长度)和查询位向量q,我们希望找到q的最近邻居。 距离度量是汉明距离(多少位不同)。 天真的方法是通过列表并计算列表中每个向量和q之间的汉明距离,这将取O(N)。 然而,鉴于我们将拥有数以百万计的非常昂贵的位向量,因此我们希望减少这一点。 经典解决方案 :这个问题的经典解决方案是使用近似来找到最近邻居,从而实现O(logN)。 这样做的方法是首先按字典顺序对L进行排序,以使相似的位向量彼此接近。 然后给定q,我们在排序列表上应用二进制搜索以获得q在排序列表中的位置,并获取列表上方和下方的向量(因为它们类似于排序)并计算他们之间的距离,选择最短的汉明距离。 然而,仅仅进行一次排序我们仍然会遗漏许多类似的向量,因此为了覆盖尽可能多的相似向量,我们使用P个列表和P个jumbling函数。 每个jumbling函数对应于每个列表。 然后我们将每个位向量插入到P中的每个列表中,然后用相应的jumbling函数对其进行混音。 因此,我们最终得到P列表,每个列表都有位向量,但位数不同。 我们再次按字典顺序对P中的每个列表进行排序。 现在给出q,我们对P中的每个列表应用相同的二进制搜索,但是在这里我们在根据我们访问的列表将jumbling函数应用于q之前。 在这一步中,我们得到P个最相似的向量到q,所以我们最终得到一个与q最相似的向量。 这样我们就可以覆盖尽可能多的相似向量。 通过忽略排序所需的时间,定位最近邻居所需的时间是O(log n),这是在每个列表上进行二进制搜索的时间。 建议的解决方案 :文中提出的这个解决方案(但没有任何解释)说我们可以使用前缀树在O(1)时间内获得最近邻居。 在论文中,他们说他们使用P个前缀树和P个jumbling函数,其中每个jumbling函数对应于每个树。 然后,在用相应的混音函数对每个向量的位进行混音后,它们将位向量插入到每个树中。 给定q,我们将跳跃函数应用于对应于每个树的q,并且我们从每个树中检索q最相似的向量。 现在我们最终得到从树中检索到的P位向量。 在论文中,他们说只是从前缀树获得最相似的q向量是O(1)。 我根本不理解这一点,因为我知道搜索前缀树是O(M),其中M是位向量的长度。 有人理解为什么是O(1)? 这是我所指的论文(第3.3.2节):实时网络上基于内容的人群检索 http://students.cse.tamu.edu/kykamath/papers/cikm2012/fp105-kamath.pdf 我还希望你能回答我与此相关的另一个问题: 如何在NN搜索的前缀树中查找最相似的位向量?

JodaTime LocalDate / LocalTime不使用自定义JSON Serializer类进行解析

我有一个名为ReportEvent的对象,它接受来自JodaTime API /框架的JodaTime和LocalDate 。 此ReportEvent可以通过谷歌的GSON转换API写入JSON 。 但是,当反序列化JodaTime partial导致问题时。 Logcat错误报告: 10-16 13:23:01.812: E/AndroidRuntime(8884): FATAL EXCEPTION: main 10-16 13:23:01.812: E/AndroidRuntime(8884): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nanospark.cnc/com.nanospark.cnc.MainActivity}: java.lang.IllegalArgumentException: Invalid format: “{“iChronology”:{“iBase”:{“iMinDa…” 10-16 13:23:01.812: E/AndroidRuntime(8884): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 10-16 13:23:01.812: E/AndroidRuntime(8884): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 10-16 13:23:01.812: E/AndroidRuntime(8884): at android.app.ActivityThread.access$600(ActivityThread.java:141) 10-16 13:23:01.812: E/AndroidRuntime(8884): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 10-16 13:23:01.812: E/AndroidRuntime(8884): at android.os.Handler.dispatchMessage(Handler.java:99) 10-16 13:23:01.812: […]

Web应用程序中hsqldb文件的相对路径不起作用?

我正在使用hsqldb作为基于Spring的java webapp。 我将数据库文件(mydb.lck,mydb.properties,..)放在src \ main \ java \ data文件夹中,以便它们发布到WEB-INF \ classes \ data中。 在数据源配置中,我指定了JVM工作目录的相对路径。 按照hsqldb文档中的指导。 portal.jdbc.url=jdbc:hsqldb:file:/data/mydb (这个分隔符适用于Windows吗?) 但是Spring似乎没有找到这条道路而且坚持要求 java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: CUSTOMER org.hsqldb.jdbc.Util.sqlException(Unknown Source) 但是,如果我指定一个绝对路径,它可以完美地工作 portal.jdbc.url=jdbc:hsqldb:file:d:\\TomcatServer\\apache-tomcat-7.0.10\\wtpwebapps\\myportal-app\\data\\mydb 我是否应该错过了解Web应用程序上的JVM工作目录? 任何帮助表示赞赏。

在HBase MapReduce任务中加载本机共享库

最近我试图在JNI代码中实现我的算法(使用C ++)。我这样做并生成了一个共享库。 这是我的JNI课程。 public class VideoFeature{ // JNI Code Begin public native static float Match(byte[] testFileBytes, byte[] tempFileBytes); static { System.loadLibrary(“JVideoFeatureMatch”); } // JNI Code End } 在主要function,我写 // MapReduce Configuration conf = HBaseConfiguration.create(); // DistributedCache shared library DistributedCache.createSymlink(conf); // Both following ways seem work. // DistributedCache.addCacheFile(new URI(“/home/danayan/Desktop/libJVideoFeatureMatch.so#JVideoFeatureMatch”), conf); DistributedCache.addCacheFile(new URI(“hdfs://danayan-pc:9000/lib/libJVideoFeatureMatch.so#libJVideoFeatureMatch.so”), conf); 在map方法中,代码跟随工作。 public static […]

Swing:启用延迟按钮

private void OptionsActionPerformed(java.awt.event.ActionEvent evt) { // After clicking on button X, I want 4 other buttons to show up // in a sequential order ButtonTrue(); } public void ButtonTrue() { Audio_Options.setVisible(true); letsSleep(); Control_Options.setVisible(true); letsSleep(); Display_Options.setVisible(true); letsSleep(); Network_Options.setVisible(true); } public void letsSleep() { try { Thread.sleep(10000); } catch (InterruptedException ex) { Logger.getLogger(MainMenu.class.getName()).log(Level.SEVERE, null, ex); } } […]