小编Joe*_*wig的帖子

如何检测Android应用程序何时在模拟器中运行?

我希望我的代码在模拟器上运行时的运行方式与在设备上运行时的运行方式略有不同.(例如,使用10.0.2.2而不是公共URL自动针对开发服务器运行.)检测Android应用程序何时在模拟器中运行的最佳方法是什么?

android android-emulator

291
推荐指数
21
解决办法
10万
查看次数

为此获得boost :: shared_ptr

boost:shared_ptr在我的代码中广泛使用.实际上,堆上分配的大多数对象都是由a保存的shared_ptr.不幸的是,这意味着我无法传递this任何需要的函数shared_ptr.考虑以下代码:

void bar(boost::shared_ptr<Foo> pFoo)
{
    ...
}

void Foo::someFunction()
{
    bar(this);
}
Run Code Online (Sandbox Code Playgroud)

这里有两个问题.首先,这不会编译,因为T*构造函数shared_ptr是显式的.其次,如果我强制它构建,bar(boost::shared_ptr<Foo>(this))我将创建第二个指向我的对象的共享指针,最终将导致双删除.

这让我想到了一个问题:是否有任何标准模式可以从其中一个对象的方法中获取您知道的现有共享指针的副本?使用侵入式引用计数是我唯一的选择吗?

c++ boost

76
推荐指数
5
解决办法
4万
查看次数

如何从Java HTTPResponse解析JSON?

我有一个HttpResponse对象用于我刚刚制作的Web请求.响应采用JSON格式,因此我需要解析它.我可以以荒谬复杂的方式做到这一点,但似乎必须有更好的方法.

这真的是我能做的最好的吗?

    HttpResponse response; // some response object
    Reader in = new BufferedReader(
        new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
    StringBuilder builder= new StringBuilder();
    char[] buf = new char[1000];
    int l = 0;
    while (l >= 0) {
        builder.append(buf, 0, l);
        l = in.read(buf);
    }
    JSONTokener tokener = new JSONTokener( builder.toString() );
    JSONArray finalResult = new JSONArray( tokener );
Run Code Online (Sandbox Code Playgroud)

我在Android上,如果这有任何区别.

java android json

71
推荐指数
3
解决办法
10万
查看次数

如何让Subversion(SVN)在签到时发送电子邮件?

我总是发现checkin(commit)邮件非常有用,可以跟踪其他人在代码库/存储库中的工作.如何设置SVN以在每次提交时通过电子邮件发送通讯组列表?

我在Windows上运行客户端,在Linux上运行Apache Subversion服务器.以下针对各种平台的答案可能对其他人有用.

svn hook post-commit post-commit-hook

52
推荐指数
2
解决办法
7万
查看次数

如何使用asio执行非阻塞读取?

我试图使用boost :: asio从串口上的设备读取和写入.当没有任何东西要读时,boost :: asio:read()和boost :: asio :: serial_port :: read_some()都会阻塞.相反,我想检测这种情况并向端口写一个命令以启动设备.

如何检测到没有可用数据?

如果有必要,我可以异步地做所有事情,如果可以的话,我宁愿避免额外的复杂性.

boost serial-port boost-asio

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

鼠标移动后,SetCursor恢复

我正在使用SetCursor将系统光标设置为我自己的图像.代码看起来像这样:

// member on some class
HCURSOR _cursor;

// at init time
_cursor = LoadCursorFromFile("somefilename.cur");

// in some function
SetCursor(_cursor);
Run Code Online (Sandbox Code Playgroud)

当我这样做时,光标确实会改变,但在第一个鼠标移动消息时,它会变回默认的系统箭头光标.这是项目中设置光标的唯一代码.我需要做什么才能使光标保持原样?

windows user-interface

8
推荐指数
2
解决办法
6628
查看次数

AppEngine BlobStore上载失败,其中包含在开发环境中工作的请求

我有一个AppEngine应用程序,它使用blobstore存储用户提供的图像数据.当我从Chrome中的表单上传图像到该应用程序时,它工作正常.当我尝试从Android应用程序上传图像时,它会失败.如果我在开发服务器上运行,这两种方法都可以正常工作,但Android上传对现场服务不起作用.

这是Chrome的请求:

POST /_ah/upload/?userToken=11001/AMmfu6ZCyMQQ9YdiXal3SmSXIRTQIuSRXkNc-i3JmU0fqx_kJbUJ2OMLcS2lXhVJSK4qs7regViTKzOPz5ejoZYi0nAD5o8vNltiOViQw6DZO7_byZz3Ut0/ALBNUaYAAAAAS_lusgPMAGmpPrg0BuNsJyymX-57ob4i/ HTTP/1.1
Host: photohuntservice.appspot.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1064 Safari/532.5
Referer: http://photohuntservice.appspot.com/debug_newpuzzle?userToken=11001
Content-Length: 60360
Cache-Control: max-age=0
Origin: http://photohuntservice.appspot.com
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarybl05YLmLbFRf2MzN
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

------WebKitFormBoundarybl05YLmLbFRf2MzN
Content-Disposition: form-data; name="userToken"

11001
------WebKitFormBoundarybl05YLmLbFRf2MzN
Content-Disposition: form-data; name="img"; filename="Photo_020908_001.jpg"
Content-Type: image/jpeg

<image data>
------WebKitFormBoundarybl05YLmLbFRf2MzN
Content-Disposition: form-data; name="longitude"

-122.084095
------WebKitFormBoundarybl05YLmLbFRf2MzN
Content-Disposition: form-data; name="latitude"

37.422006
------WebKitFormBoundarybl05YLmLbFRf2MzN--
Run Code Online (Sandbox Code Playgroud)

这是我的客户端的请求(在Android上用Java编写,但我不认为这是相关的):

POST /_ah/upload/?userToken=11001/AMmfu6Zf9an6AU4lT9UuhIpxOZyOYb1LMwimFpeSh8zr6J1sX9F2ddJW3Qlsw0kwV3oALv-TNPWRQ6g4_Dgwk0UTwF47bbc78Yl44kDeV69MydTuR3N46S4/ALBNUaYAAAAAS_mMr3CYqTg3aVBDjhRxP0DyyRdvotyG/ HTTP/1.1
Content-Type: multipart/form-data;boundary=----WebKitFormBoundaryhdyNAhmOouRDGErG
Cache-Control: max-age=0
Accept: */*
Origin: http://photohuntservice.appspot.com
Connection: …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine

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

index.yaml没有更新

我希望在我的开发环境中运行查询时,index.yaml文件会使用必要的索引进行更新.它声称它正在dev服务器日志中更新此文件,但该文件实际上并未更改.知道可能会发生什么吗?

这是整个index.yaml文件:

indexes:

# AUTOGENERATED

# This index.yaml is automatically updated whenever the dev_appserver
# detects that a new type of query is run.  If you want to manage the
# index.yaml file manually, remove the above marker line (the line
# saying "# AUTOGENERATED").  If you want to manage some indexes
# manually, move them above the marker line.  The index.yaml file is
# automatically uploaded to the admin console when you next deploy
# your application using appcfg.py. …
Run Code Online (Sandbox Code Playgroud)

google-app-engine yaml

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

如何仅读取 Windows COM 端口上的可用数据?

我有一个串行 (COM) 端口的文件句柄。我需要立即读取可用的任何数据,而不是等待发送其他数据。

如何确定有多少数据可用?我可以打电话SetCommMask(myHandle, EV_RXCHAR),然后等待一个事件来告诉我一些数据可用,但这不会告诉我现在可以在不阻塞的情况下读取多少数据。

目前,我正在使用 CreateFile() 和重叠 I/O 来执行读取,因此它们是异步的,但它们仍然会等到缓冲区填满后报告 I/O 已完成。

windows serial-port

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