我正在尝试使用类中的AudioRecord分析音频.我的问题是,我不知道我要尝试的路线是否正确,并将其线程化为一个单独的流程.我想做的就是听在主UI线程中该进程,并根据线程中的数据不断更新文本框.
这是我到目前为止:
//RecordActivity.java
[...]
public class RecordActivity extends Activity {
final Handler mHandler = new Handler();
final Runnable mUpdateResults = new Runnable() {
public void run() {
updateResultsInUi();
}
};
RecordThread t = new RecordThread();
private OnClickListener mClickListener = new OnClickListener() {
public void onClick(View v) {
t.start();
}
}
//RecordThread.java
public class RecorderThread extends Thread {
[...]
@Override
public void run() {
[...audio process code...]
}
Run Code Online (Sandbox Code Playgroud)
有没有办法将我的RecordThread类中的数据回发到RecordActivity类?有没有办法使用2个不同的.java文件连接处理程序?
此外,这甚至是正确的方法吗?我应该使用AsyncTask吗?
我注意到我的存储过程中的select语句总是返回相同的值,无论我用什么参数调用我的存储过程.这是代码:
DELIMITER $$
CREATE PROCEDURE TEST(IN id INT)
BEGIN
DECLARE x INT DEFAULT 0;
select id;
SELECT paper_id
INTO x
FROM Paper
WHERE ID = id
limit 1;
select x;
END$$
Run Code Online (Sandbox Code Playgroud)
x总是返回相同的值,无论我调用哪个id测试.我注意到x的值始终是Paper表第一行中paper_id的值.
但是,如果我在存储过程之外运行相同的查询,我会得到预期的值.
存储过程中出现什么问题会导致该值出现偏差?
我对.net中的XML相当新.作为我的任务的一部分,我需要创建可以序列化为XML的类.我有一个带有所有标签的示例XML文件(该类应该生成类似于示例XML文件的XML).从XML文件创建类的最佳方法是什么?
先感谢您!!
在使用任务并行库之前,我经常使用CorrelationManager.ActivityId来跟踪多线程的跟踪/错误报告.
ActivityId存储在线程本地存储中,因此每个线程都获得自己的副本.这个想法是当你启动一个线程(活动)时,你分配一个新的ActivityId.ActivityId将使用任何其他跟踪信息写入日志,从而可以单独列出单个"活动"的跟踪信息.这对于WCF非常有用,因为ActivityId可以转移到服务组件.
这是我正在谈论的一个例子:
static void Main(string[] args)
{
ThreadPool.QueueUserWorkItem(new WaitCallback((o) =>
{
DoWork();
}));
}
static void DoWork()
{
try
{
Trace.CorrelationManager.ActivityId = Guid.NewGuid();
//The functions below contain tracing which logs the ActivityID.
CallFunction1();
CallFunction2();
CallFunction3();
}
catch (Exception ex)
{
Trace.Write(Trace.CorrelationManager.ActivityId + " " + ex.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
现在,通过TPL,我的理解是多个任务共享线程.这是否意味着ActivityId很容易在任务中重新初始化(通过另一项任务)?是否有新的机制来处理活动追踪?
在vim中,很容易找到一个文件而不知道该文件所在的目录.执行":args**/file.hpp"如果文件存在,它将打开它.
Emacs中是否有替代方法?查找文件似乎适用于通配符,但它不像vim那样棘手**.
我正在ZF中编写一个PHP应用程序.客户将使用它将产品销售给最终客户.客户将在我的服务器上托管他们的应用程序,或者他们可以自己使用 他们中的大多数将在我的服务器上托管此应用程序
我可以同时为所有客户设计一个数据库,因此每个客户都将使用相同的数据库,但当然产品等将分配给特定客户.不重要的.
我可以为每个客户使用单独的数据库,因此数据库结构将更简单.然后我可能会使用单独的子域,甚至可能使用文件位置,但这只是一个细节.
哪种解决方案具有更好的性能,差异有多大?你会选哪一个?
我正在使用一些遗留代码来广泛使用这种东西:
// Allocate a look-up-table of pointers.
long *pointerLUT = (long *) malloc(sizeof(long) * numPointers);
...
// Populate the array with pointers.
for (int i=0; i<numPointers; i++) {
pointerLUT[i] = (long) NewFoo();
}
...
// Access the LUT.
Foo *foo = (Foo *) pointerLUT[anIndex];
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,这会分配一个long数组,并想要使用它们通用指针存储.
Q1.这种方法安全吗?
Q2.风格方面,如何改进?它需要吗?(类型转换让我心中的恐惧咆哮.)
谢谢.
我在我的网站上使用Google Maps API(v3)来显示以某个位置为中心的地图.
这是我的代码:
<script type="text/javascript">
$(document).ready(function() {
var latlng = new google.maps.LatLng(-22.924484, -43.208001);
var map = new google.maps.Map(document.getElementById("map-property2"), {
zoom: 13,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
在我结束时我<head>有:
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
Run Code Online (Sandbox Code Playgroud)
这是结果:

你可以看到它就像那里有两张地图..但如果我调整窗口大小,地图就固定了!
还有一个问题:看看地图的左上角?这是变量的位置latlng.这应该是地图的中心,但它加载为左上角.:/
Ps.:我的Firebug JS控制台上没有错误或警告.
我在这里找到了一个解决方案:使用API V3的主要谷歌地图故障
并且测试它我发现了另一件事:我正在尝试将地图加载到隐藏的div(不是地图画布,但是包含它的容器)上,当我单击选项卡菜单时会显示该地图.
如果在setTimeout选项卡处于活动状态且容器可见时加载(使用)地图,则地图加载正常.
我疯了......真的.
是否存在对文本的微小变化稳定的哈希函数?我正在寻找与加密哈希相反的内容,其中源中的微小变化会导致结果发生巨大变化。
类似于文本的感知哈希。有这样的事吗?
编辑:“文本的微小变化”是指标点符号的变化、拼写/语法错误的更正等。文本本身是一篇文章,就像维基百科条目一样(但它可以小得多,比如 2 或 3 段)。
如果有人能指出 Python 实现,那就加分了。