问题列表 - 第38346页

从Android电子市场安装应用后获取推荐人

我正在尝试注册一个广播接收器,它捕获Android从市场安装应用程序后启动的"com.android.vending.INSTALL_REFERRER"意图.

我在此处详细了解:http://code.google.com/mobile/analytics/docs/android/#referrals

但是,我无法使用Google Analytics,因此我创建了自己的解决方案.我在清单文件中添加了以下内容:

<receiver android:name="com.test.Receiver" android:exported="true">
<intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

并创建了一个基本的BroadcastReceiver类:

public class Receiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        Bundle extras = intent.getExtras();
        String referrerString = extras.getString("referrer");

        Log.w("TEST", "Referrer is: " + referrerString);
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,当安装应用程序时,接收器似乎没有捕获Intent(如果Intent甚至广播?)并且我没有记录输出.

我在某个地方出错了还是市场在安装应用程序时不再启动这些Intent?

android install referrer google-play google-play-services

68
推荐指数
4
解决办法
7万
查看次数

实现QThread的正确方法是什么......(请举例......)

QThread的Qt文档说是从QThread创建一个类,并实现run方法.

以下内容来自4.7 Qthread文档......

要创建自己的线程,请继承QThread并重新实现run().例如:

 class MyThread : public QThread
 {
 public:
     void run();
 };

 void MyThread::run()
 {
     QTcpSocket socket;
     // connect QTcpSocket's signals somewhere meaningful
     ...
     socket.connectToHost(hostName, portNumber);
     exec();
 }
Run Code Online (Sandbox Code Playgroud)

所以在我创建的每一个线程中,我都做到了这一点,并且对于大多数事情来说它工作正常(我没有在我的任何对象中实现moveToThread(this)并且它工作得很好).

我上周遇到了障碍(设法通过解决我创建对象的地方来解决它)并找到了以下博文.这里基本上说子类化QThread确实不是正确的方法(并且文档不正确).

这是来自Qt的开发人员,所以乍一看我很感兴趣,经过进一步的反思,同意他.按照OO原则,你真的只想子类化一个类来进一步增强该类......不要直接使用类方法......这就是为什么要实例化...

让我们说我想将一个自定义QObject类移动到一个线程......这样做的"正确"方法是什么?在那篇博客文章中,他说'他在某个地方有一个例子......但如果有人可以向我进一步解释它,我将不胜感激!

更新:

由于这个问题引起了如此多的关注,下面是4.8文档的复制和粘贴,以及实现QThread的"正确"方式.

class Worker : public QObject
 {
     Q_OBJECT
     QThread workerThread;

 public slots:
     void doWork(const QString &parameter) {
         // ...
         emit resultReady(result);
     }

 signals:
     void resultReady(const QString &result);
 };

 class Controller : public QObject
 {
     Q_OBJECT
     QThread workerThread;
 public:
     Controller() {
         Worker *worker = …
Run Code Online (Sandbox Code Playgroud)

qt multithreading qt4 qthread

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

如何监控"卡住"的Python脚本?

我有一个数据密集型的Python脚本,它使用HTTP连接来下载数据.我通常一夜之间运行它.有时连接会失败,或者网站暂时无法使用.我有基本的错误处理,捕获这些异常并定期再次尝试,在重试5分钟后正常退出(并记录错误).

但是,我注意到有时这项工作就冻结了.不会抛出任何错误,并且作业仍在运行,有时在最后一条打印消息后几小时.

什么是最好的方式:

  • 监视 Python脚本,
  • 在给定间隔后检测它是否无响应,
  • 如果没有反应则退出
  • 开始另一个?

UPDATE

感谢大家的帮助.正如你们中的一些人所指出的那样,urllibsocket模块没有正确设置超时.我使用的Python 2.5游离碱urllib2的模块,并捕捉和处理MetawebErrorsurllib2.URLErrors.以下是最后一个脚本挂起12小时后的错误输出示例:

  File "/home/matthew/dev/projects/myapp_module/project/app/myapp/contrib/freebase/api/session.py", line 369, in _httpreq_json
    resp, body = self._httpreq(*args, **kws)
  File "/home/matthew/dev/projects/myapp_module/project/app/myapp/contrib/freebase/api/session.py", line 355, in _httpreq
    return self._http_request(url, method, body, headers)
  File "/home/matthew/dev/projects/myapp_module/project/app/myapp/contrib/freebase/api/httpclients.py", line 33, in __call__
    resp = self.opener.open(req)
  File "/usr/lib/python2.5/urllib2.py", line 381, in open
    response = self._open(req, data)
  File "/usr/lib/python2.5/urllib2.py", line 399, in _open
    '_open', …
Run Code Online (Sandbox Code Playgroud)

python sockets scripting freebase urllib2

0
推荐指数
1
解决办法
3592
查看次数

如何检查模板的哪些部分被实例化?

我有一个巨大的模板文件,只使用了很少的函数,我想隔离那部分进行测试并评论另一半.我怎样才能找到最好的方法呢?

如何在Windows系统上执行此操作,模板文件是.hxx?

c++ windows templates code-generation

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

Rails 3 Encoding :: CompatibilityError

我正在开发一个通过ajax提交法语翻译的rails应用程序,由于某种原因,我在日志中不断收到以下错误:

Encoding::CompatibilityError incompatible character encodings: UTF-8 and ASCII-8BIT

有谁知道如何解决这一问题?

FIX:这适用于WEBrick服务器

放置# encode: UTF-8在您希望使用不同字符的每个文件的顶部

我无法让这个在带有Thin的rails服务器上工作...其他人遇到这个?

ruby-on-rails utf-8 thin

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

应用服务层 - 如何编写API方法接口

人们如何设计服务层接口?

我正在编写一个大型Web应用程序(在PHP中),我们正在使用MVC,并编写精简控制器,例如(伪代码如下)

public savePersonAction() {
    $input = filter($_GET);
    ... input validation ...

    $result = $this->_service->savePerson( ? );

    ... etc
}
Run Code Online (Sandbox Code Playgroud)

应该在服务中的savePerson采用整个$ input结构或上下文的参数(在PHP中,是一个关联数组)?

这个 -

public function savePerson(array $input) {
Run Code Online (Sandbox Code Playgroud)

或者应该将所有输入字段分开并提供"硬"接口,例如

public function savePerson($title, $firstName, $lastName, $dateOfBirth, ... etc.. for many more) {
Run Code Online (Sandbox Code Playgroud)

谢谢.

保罗

php model-view-controller service web-applications service-layer

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

getDeclaredMethods()和隐藏的超类静态方法

根据http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Class.html#getDeclaredMethods%28%29,Class.getDeclaredMethods()应该只包含"由类声明的方法" ".但是,我在下面的测试代码中得到了一些非常令人惊讶的结果:

import java.util.Arrays;

class A {
 public static A m1() { return null; }
 public static A m2() { return null; }
 public static A m3() { return null; }
}

class B extends A {
 public static A m1() { return null; }
 public static B m2() { return null; }
// public static Object m3() { return null; } won't compile
}


public class Scratch {
 public static void main(final String[] args) {
  System.out.println(Arrays.asList(B.class.getDeclaredMethods()));
 } …
Run Code Online (Sandbox Code Playgroud)

java reflection static static-methods method-hiding

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

在哪里举办开源项目:CodePlex,Google Code,SourceForge?

我一直在阅读有关"如何推广开源项目"的SO回答问题的积压.毫不奇怪,许多答案将人们指向SoureForge/FreshMeat和其他网站等以及博客和诸如此类的东西.这开始让我想到哪里是举办项目的最佳地点,为什么?

由于我的第一个项目目前托管在CodePlex上,我开始浏览Google搜索结果,以收集有关每个项目的优缺点的信息; 然而,我发现的比较相当过时(2岁以上).

http://www.stum.de/2008/12/13/sourceforge-vs-codeplex/
http://www.developmentnow.com/blog/2006/11/codeplex-vs-sourceforge/
http:// www. spacesocket.com/forum/thread-6654.html
等...

所以接下来的问题就变成了"我应该在多个站点上托管我的项目",以下帖子提供了预期的答案(谢天谢地!因为这样做很难维护).

在几个站点托管一个开源项目

基于CodePlex,GitHub,Google Code,SourceForge等各种开源托管网站的现状,是否有一个网站的显着优点/缺点?即,我应该坚持使用CodePlex还是我错过了不使用其中一种替代品?是否会为一个新的未知项目带来更多流量?

我计划更详细地探索每个网站,看看它们都提供了什么,但鉴于对SO的优秀人员的广泛了解,我想先从这个问题开始.

更新

根据下面的erjiang答案......我目前正在使用Mercurial进行版本控制,我对TFS以外的任何东西都持开放态度.此外,我目前的项目只是我的开发,但未来的项目可能是协作的,所以值得考虑...

hosting open-source

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

Ruby:在另一个方法中定义一个方法是否有任何实际用途?

我正在阅读一篇关于元编程的文章,它表明你可以在另一个方法中定义一个方法.这是我已经知道了一段时间的事情,但它让我问自己一个问题:这有什么实际应用吗?在方法中定义方法是否有任何实际用途?

例如:

def outer_method
  def inner_method
     # ...
  end
  # ...
 end
Run Code Online (Sandbox Code Playgroud)

ruby metaprogramming

13
推荐指数
3
解决办法
6965
查看次数

epoll,poll,threadpool有什么区别?

可能有人解释的区别是什么之间epoll,poll和线程池?

  • 有哪些优点/缺点?
  • 有关框架的任何建议吗?
  • 有关简单/基本教程的任何建议吗?
  • 看来,epollpoll有特定的Linux ...是否有适用于Windows的等量替代?

asynchronous epoll io-completion-ports

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