房间里找不到执行
我在测试房间数据库时有问题: 当我进行测试时,我会得到此例外: java.lang.RuntimeException: cannot find implementation for database.TicketDatabase. TicketDatabase_Impl does not exist at android.arch.persistence.room.Room.getGeneratedImplementation(Room.java:92) at android.arch.persistence.room.RoomDatabase$Builder.build(RoomDatabase.java:454) at com.sw.ing.gestionescontrini.DatabaseTest.setDatabase(DatabaseTest.java:36) at java.lang.reflect.Method.invoke(Native Method) at or
0 2024-02-17
编程技术问答社区
如何在espresso中使用AdapterViewProtocol?
我使用Espresso 2.0库来测试一个Android项目,我需要使用方法onData,但是我有自定义产品Adapter,因此我必须实现AdapterViewProtocol(android.support.test.espresso.action.AdapterViewProtocol), 我需要找到一个工作示例,以实现onData方法的AdapterViewProtocol. 我只找到了以下信息: >.但是我想要小型工作项目.请帮我. 解决方案 您可以尝试使用Cursoradapter来查看此示例: https://gist.github.com/brennantaylor/93793999 . 或在标准意式浓缩咖啡实施中: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.0_r1/com/google/android/Apps/c
0 2024-02-14
编程技术问答社区
安卓系统中的处理程序-循环器实现
我有处理程序的活动(UI线程) 我启动新线程并制作处理程序. Android文档对Post方法说:"导致可运行的R添加到消息队列中.可运行的可运行将在附加该处理程序的线程上运行." 连接到UI线程的处理程序. Android如何在没有新线程创建的情况下可以在同一UI线程中运行? 将使用handler.post()的Runnable创建新线程? 否则仅从可运行的子类调用它? 解决方案 连接到UI线程的处理程序. 正确. Android如何在没有新线程创建的情况下在同一UI线程中运行? 任何线程,包括主应用程序(" UI")线程,都可以在Handler上调用post(或在任何View上). . 其他解决方案 这是一个粗糙的假码,如何使用处理程序 - 我希望它有帮助:) class MyActivity extends Activity { private Handler mHandler = new Handler(
0 2024-02-01
编程技术问答社区
安卓后台服务中的位置监听器
哪种方法是更好的方法,直接实现LocationListener public class BackgroundService extends Service implements LocationListener {} 或通常在类内声明LocationListener? LocationListener locationListener = new LocationListener() {}; 解决方案 在调用接口的方法之前,您必须在第二件代码中调用属性locationListener. 在第一个代码中,您可以直接访问接口方法. 因此,如果您知道每种方法呼叫的费用为CPU时间,则直接在课堂上实施它,而不是将其作为属性将其置于有益的情况下. 在这种情况下,您有1个引用BackgroundService您可以访问LocationListener的方法 public class BackgroundService extends Service i
2 2024-01-31
编程技术问答社区
一项活动能不能有两个实施者?
我可以实现OnClickListener和SurfaceHolder吗? public class MainActivity extends Activity implements SurfaceHolder.Callback,OnClickListener 解决方案 是的,在Java中,类可以实现许多不同的接口. 这弥补了Java中缺乏多重继承,而不是例如C ++允许多个继承.
0 2024-01-31
编程技术问答社区
在安卓系统中实现一个while循环
我无法理解在Android中的wir循环的实现. 每当我在onCreate()捆绑包中实现一个段循环时(下面显示的代码) public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); TextView=(TextView)findViewById(R.id.TextView); while (testByte == 0) updateAuto(); } 没有任何启动,该程序在一段时间后进入了"悬挂"状态,我不明白为什么. Testbyte如下: byte testByte == 0; 和updateAuto()应该每1秒更新代码,并在文本视图部分中显示.我一直在UpdateAuto()中使用setText,如下所示,一切正常,但是一旦我实现了while循环,我所看到的就是黑屏,然后在几秒钟后将其强
0 2024-01-31
编程技术问答社区
Gradle实现与API配置
我试图弄清楚api和implementation配置之间的区别是什么 在文档中,它说implementation有更好的构建时间,但是,看到此 comment 在一个类似的问题中,我想知道这是否是真的. 由于我不是Gradle的专家,所以我希望有人可以提供帮助.我已经阅读了 documentation 我已经想知道一个易于 - 了解解释. 解决方案 gradle compile关键字被弃用以api和implementation配置依赖项的关键字. 使用api是使用不推荐的compile的等效物,因此,如果您将所有compile替换为api> api一切都会像往常一样工作. 了解implementation关键字考虑以下示例. 示例 假设您有一个名为MyLibrary的库,该库在内部使用另一个称为InternalLibrary的库.这样的东西: // 'InternalLibrary' module public class InternalL
0 2024-01-27
编程技术问答社区
C/C++实现类似于子集和的算法
问题比knapsack(或一种类型,没有值,只有正权重)要简单.问题包括检查一个数字是否可以成为他人的组合.该函数应返回true或false. 例如, 112和带有{ 17, 100, 101 }的列表应返回false,469具有相同列表的469应返回true,35应返回false,119应返回true,等等. .. 编辑:子集总和问题比背包更准确. 解决方案 一个可以帮助您的观察结果是,如果您的列表为{a,b,c ...},您要测试的数字为x,则x可以写成仅作为sublist的总和如果X或X-A可以作为Sublist {B,C,...}的总和写入.这使您可以编写一种非常简单的递归算法来解决问题. 编辑:考虑到以下评论,这是一些代码.未经测试可能有越野车;不一定是最快的.但是对于一个小数据集,它将完成工作. bool is_subset_sum(int x, std::list::const_iterator start, std::list::co
0 2024-01-23
编程技术问答社区
为期权定价实施快速傅里叶变换
我需要一些有关我正在做的小项目的提示.我的目标是实现快速傅立叶变换算法(FFT),可以应用于选项的定价. 第一个问题:哪个FFT? 有很多不同的FFT算法,最著名的是Cooley-Tukey.我对此的想法是:我更喜欢最简单的内容,因为这不是论文或大项目,只是算法的课程.但是它必须与选项定价兼容(与我们的一般文献中的图像/声音处理相比,与最符合的价格相反).因此,这取决于提供的输入形式(我需要一些建议).我熟悉几种改进,例如分数FFT,混合radix FFT等.但是这些似乎很复杂,优化/性能驱动,这与我的项目无关. 第二个问题:哪个定价模型? 我猜黑色choles(BS)有点"平坦",我知道BS之后出现的几种型号.因此,有了与上面相同的目标,我最初更喜欢赫斯顿模型. 有很多考虑因素,事实是我只是看不到树木的木头. 一些背景信息: 我的背景是数学(理论)的B.Sc,因此我对傅立叶变换有一些了解. 目标是用于计算选项定价的工作FFT实现.它不必是
2 2024-01-23
编程技术问答社区
什么是二进制树中的 "NULL指针的标记"?
我正在通过 this and 我看到二进制搜索树表示为(例如): 1 5 7 10 40 50 我试图了解相同 20 8 4 -1 -1 12 10 -1 -1 14 -1 -1 -1 -1 混乱 这些是什么 -1 s? 我的最终目标是使用C#存储和阅读二进制搜索树,但这种困惑使我失望. 解决方案 这些-1代表没有更多孩子的地方. 对于您的示例 20 / 8__ / \ 4 12 /\ 10 14 您可以想象添加其他-1(您可以使用树本身不会发生的任何值)到没有孩子的地方: 20 / \ 8__ -1 / \ 4 12 /\ /\ -1 -1 10 14 /\ /\ -1 -1 -1 -1 现在,如果您以"根,然后左子树"的方式穿过树
0 2024-01-23
编程技术问答社区
缓存感知的树形符号化
我有一棵树,每个节点都有0至 n 儿童. 用例是以下查询:给定两个节点的指针:这些节点是否在树的同一分支中? 示例 q(2,7) => true q(5,4) => false 书(慢) 直接实现将是在每个节点处存储一个指向父母的指针和指向孩子列表的指针.但这会导致性能不佳,因为树将在内存中分散,因此不知道. 问题 以紧凑形式代表树的好方法是什么?整棵树有大约100,000个节点.因此,应该可以找到一种使其完全适合CPU-CACHE的方法. 二进制树通常是 解决方案 您可以预先分配连续内存的块,在其中将所有节点的信息加成. 之后,每个节点只需要一种方法来检索其信息的开头以及该信息的长度. 在这种情况下,每个节点的信息可以由父母表示,然后是子女列表(假设我们在没有父母时使用-1, e. root ). 例如,对于问题中发布的树,节点1的信息将为:-1 2 3 4,节点2的信息为:1 5,等等. 连续数组将通过连接这些阵
0 2024-01-23
编程技术问答社区
如何使用KDTrees实现近邻搜索?
所以,我正在实施 kd-tree 进行最近的邻居搜索.我已经有建筑物的零件工作,但是我认为我完全不了解搜索部分. Wikipedia文章说 关于搜索邻居的树以寻找邻居: : Starting with the root node, the algorithm moves down the tree recursively, in the same way that it would if the search point were being inserted (i.e. it goes right or left depending on whether the point is greater or less than the current node in the split dimension). "比吐口度维度中的当前节点大或更小? 另外,有人可以解释有关超空间和超平面的部分吗?我觉得自己理解了,但是由于我不确定我是否喜欢更多的解释. 谢谢!
2 2024-01-23
编程技术问答社区
如何在Python中访问矩阵中每个元素的相邻单元?
,如果两个单元格共享边界,则将两个单元视为相邻. 例如: A = 5 6 4 2 1 3 7 9 8 此相邻元素与索引0,0在索引[0,1]和[1,0],对于索引1,1,相邻元素在索引[0,1],[1,0],[[[1,0],[ 2,1]和[1,2]. 解决方案 假设您有m x n矩阵,您想找到单元格的相邻索引(i,j): def get_adjacent_indices(i, j, m, n): adjacent_indices = [] if i > 0: adjacent_indices.append((i-1,j)) if i+1 0: adjacent_indices.append((i,j-1)) if j+1
2 2024-01-23
编程技术问答社区
我将如何在我的网站中实现排名算法,对数据库数据进行排序?
我想在我一直在研究的网站上实现排名系统,并决定使用黑客新闻算法.我选择此算法的理由仅仅是因为它已被描述为在这里. 我正在查看此Python代码(我用来构建网站的语言),但无法弄清楚如何实现它. def calculate_score(votes, item_hour_age, gravity=1.8): return (votes - 1) / pow((item_hour_age+2), gravity) 给定表: posts: id | title | time_submitted votes: id | postid | userid | score 如何从数据库中获取数据?理想的解决方案(最有效)是构造一个MySQL查询,以检索使用该算法排名的前10个帖子.但是,鉴于黑客新闻已经在ARC中实现了,这让我认为他们撤出了所有帖子,然后通过算法运行它们以对它们进行排名. reddit也想到了...他们使用非关系数据库架构,因此我
2 2024-01-23
编程技术问答社区
BigInteger数字的实现和性能
我已经写了C ++的Biginteger类,该课程应该能够在所有数字上进行任何大小的操作.目前,我正在尝试通过比较现有算法和测试它们最效果的数字来实现非常快速的乘法方法,并且我遇到了非常出乎意料的结果.这就是结果: karatsuba: 14.178 seconds long multiplication: 0.879 seconds 维基百科告诉我 据得出,对于足够大的N,Karatsuba的算法将比Longhand乘法更少的偏移和单位添加,即使其基本步骤使用的添加和移动比直接的公式多.但是,对于n的少量值,额外的偏移和添加操作可能会使它的运行速度慢于长距离方法.正回报的点取决于计算机平台和上下文.根据经验,当倍数大于320–640位时,Karatsuba通常会更快. 由于我的数字至少长1500位,这是非常出乎意料的,因为Wikipedia表示Karatsuba应该更快地运行.我相信我的问题可能是在我的添加算法中,但是我看不出如何使其更快,因为它已经在o
0 2024-01-23
编程技术问答社区
Minhash的实现如何为permutations寻找哈希函数
我在实施Minhashing时遇到了问题.在纸上和阅读中,我理解这个概念,但我的问题是置换"技巧".与其列入集合和值的矩阵,实现的建议是:"选择k(例如100)独立哈希函数",然后算法说: for each row r for each column c if c has 1 in row r for each hash function h_i do if h_i(r) is a smaller value than M (i, c) then M(i, c) := h_i(r) 在不同的小例子和教学 book 哈希功能以(h = a*x + b mod p)的形式.那很容易找到,但是在实践中如何做,我如何找到100个这样的独立功能. 在Java示例中仅来自一个哈希函数而不是多哈希函数的值,而不是行索引.区别在哪里? 我的问题现在是如何找到这些独立的哈希函数,或者在只有
8 2024-01-23
编程技术问答社区
扫线算法--一维平面的实施情况
问题很简单,平面上有一些给定的1D线. 我们需要找到至少一条线的总空间. 让我与示例图像讨论 - 这可能会有一个情况.或 这可能是一个情况或类似的东西. 我知道这是 sweep line algorithm . ,但是Internet中没有适当的文档可以正确理解. 我拥有的最好的是 顶级编码器 的博客,也就是说在这里. 但尚不清楚如何实施它或模拟如何实现. 如果我愿意,我们可以用2个循环在O(n^2)中进行操作,但是我无法意识到该过程是如何的. 或比O(n log n)更好的算法? 任何人可以通过共享任何sudo代码或模拟来帮助我吗? 如果不可用sudo代码或示例代码,则可以在此实施此处的模拟就足够了. re- 问题计算重叠的问题日期范围不是我在寻找的东西,因为首先是O(n^2),因此,这不是我想要的.而且它没有像这个问题那样完全描述. 解决方案 没有太多信息可用于此主题. 所以,我正在与您共享算法和模
8 2024-01-23
编程技术问答社区
分段最小二乘法的动态编程算法
我已经尝试在Python中实施此算法了几天.我不断回到它,只是放弃并感到沮丧.我不知道发生了什么.我没有人要问或任何地方寻求帮助,所以我来这里. pdf警告:我认为这没有明确的解释,我肯定不明白. 我对发生的事情的理解是: 我们有一组点(x1,y1),(x2,y2)..我们希望找到一些最适合此数据的行.我们可以有多个直线,这些线来自A和B的给定论坛(y = ax +b). 现在,该算法从末尾开始(?),并假设一个点P(x_i,y_i)是行段的一部分.然后说明说,最佳解决方案是{p1,. . . Pi -1} plus(最佳)线通过{pi,. . . pn}'.对我来说,这意味着我们转到P点P(x_i,y_i),然后向后走,并通过其余的点找到另一个线段.现在,最佳解决方案是这两个线段. 然后,我无法遵循逻辑上的跳跃,并说:"假设最后一点pn是从p_i开始的段的一部分.如果opt(j)表示第一个j点的成本和e(j ,k) 通过点j到k的最佳行的错误,然后opt(
0 2024-01-23
编程技术问答社区
如何使总和最大化?
我们给出了一个排序的数组. 让pass的初始值为零. 我们可以多次执行以下操作: 一次选择任何k数字.将它们全部添加.将此总和添加到pass 如果从数组中选择了第一次的数字,例如x,则仅将其视为x.选择第二次选择时,将其视为-x,第三次被视为x,等等... 例如,让数组为[-14, 10, 6, -6, -10, -10, -14]和k = 4,我们只做一次操作.我们选择这4个数字:{14, 10, 6, -6}.添加它们,我们得到24.然后,pass=pass+24.因此,通过的最大值为24. 如何获得pass的最大值? 解决方案 我们可以按以下方式重新重新重新调整问题: 我们有一个数字列表,我们可以激活或停用数字.我们想找到最大的激活数字总和,在每个通过中,我们可以完全切换k数字. 对于奇数k,我们可以执行以下操作:激活最大数字(如果是正数),并使用其余的(k-1)开关两次切换任何数字,这将有效地将数字留在其先前的状态.因此,最
6 2024-01-23
编程技术问答社区
有什么聪明的方法可以输出一个中间有(n-1)个分隔符的n个项目的列表?
假设我们有一个带有n个元素的数组(n> 0). 我们想输出这些元素的列表,它们之间有一个分离器. 解决此问题的一种常见方法是: foreach item ( output item output separator ) trim last separator ,但必须这样做似乎有些混乱. 另一种方法是: check that there is at least one element loop ( output element next element, or break if no more elements output separator ) ,但我不确定它会始终工作. 您是否看到了其他聪明的方法,例如在C,C ++? 中 解决方案 char *sep = ""; for (i = 0; i
2 2024-01-22
编程技术问答社区