问题列表 - 第42467页

使用android:configure配置的窗口小部件即使配置未完成也将接收onUpdate

这就是我配置APP的小部件的方法:

<appwidget-provider
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="240dp"
    android:minHeight="193dp"
    android:updatePeriodMillis="86400000"
    android:initialLayout="@layout/xyz_appwidget"
    android:configure="com.xyz.activity.Configuration"
    />
Run Code Online (Sandbox Code Playgroud)

因此,Configuration一旦用户将小部件放在主屏幕上,系统就会调出活动.遗憾的是,如果未应用配置,则不应将此窗口小部件放在屏幕上.

我添加了一些调试输出.当用户为其主屏幕选择小部件时会发生这种情况.注意:这是配置活动在前面的时候,而不是小部件.

I/ActivityManager(  101): Start proc com.xyz for broadcast com.xyz/.widget.xyz.XyzWidgetProvider: pid=14371 uid=10050 gids={3003, 1015}
D/XyzWidgetProvider(14371): onReceive: android.appwidget.action.APPWIDGET_ENABLED
D/XyzWidgetProvider(14371): onEnabled
D/XyzWidgetProvider(14371): onReceive: android.appwidget.action.APPWIDGET_UPDATE
Run Code Online (Sandbox Code Playgroud)

这意味着即使未配置窗口小部件,也会触发两个事件(ENABLED,UPDATE).启用对我有意义,但更新显然不是.特别是当Configuration活动成功完成时,不会发送任何其他UPDATE事件.

我还读到,通过设置Configuration活动的结果,Activity.RESULT_CANCELED可以取消配置过程.但由于这显然是异步运行,我不知道如何使配置过程阻塞?以前遇到过这个人吗?

我的最后一点:我查看了Android Gallery Widget,它以某种方式正确管理,因此不会添加未配置的图库窗口小部件.但我怀疑一些HTC 魔术,因为日志不是很有帮助.

android android-widget

10
推荐指数
1
解决办法
4230
查看次数

为什么我的Python代码中有TypeError?

from celery.task import Task
class Decayer(Task):

    def calc_decay_value(self, x):
        y = (1.0/(2^x))
        return y

    def calc_decay_time(self, x):
        y  = 2^x
        return y

    def run(self, d, **kwargs):

        #do stuff.

        return 0


>>> decayer = tasks.Decayer(r)



Traceback (most recent call last):
  File "scanDecay.py", line 31, in <module>
    decayer = tasks.Decayer(r)
TypeError: object.__new__() takes no parameters
Run Code Online (Sandbox Code Playgroud)

python oop traceback

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

如何在xml文件中保存已解析和更改的DOM文档?

我有xml文件.我需要阅读它,进行一些更改并将新的更改版本写入一些新目的地.

我设法读取,分析和修补这个文件(DocumentBuilderFactory,DocumentBuilder,Document等).

但我找不到如何保存该文件的方法.有没有办法让它的纯文本视图(as String)或更好的方式?

java xml dom

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

C++:不能将泛型函数作为参数传递给另一个函数

我想将多个比较函数传递给选择排序函数,如下所示,但我得到了以下错误:

Error   1   error C2664: 'sort' : cannot convert parameter 3 from 'bool (__cdecl *)(int,int)' to 'bool *(__cdecl *)(T,T)'   c:\users\milad\documents\visual studio 2008\projects\functionpass\functionpass\passcompare.cpp  49  FunctionPass
Run Code Online (Sandbox Code Playgroud)

代码:

bool integerCompare (int a , int b)
{
    return(a<b);
}
bool charCompare (char a , char b)
{
    return(a<b);
}
bool stringCompare (string a , string b)
{
    if(a.compare(b)<0) return true;
    else return false;
}
template <class T>
void sort(T x[], int n , bool(*whichCompare(T,T))) // n=size of the array
{
    for (int pass=0; pass<n-1; …
Run Code Online (Sandbox Code Playgroud)

c++ sorting pointers compare function-pointers

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

在保留基本格式的同时,我可以使用什么来清理收到的HTML?

这是一个常见的问题,我希望它已经彻底解决了我.

在我正在为客户端做的系统中,我们希望从不受信任的来源(HTML格式的电子邮件和HTML文件)接受HTML,清理它以使其没有任何脚本,指向外部资源的链接以及其他安全性/等等 问题; 然后安全地显示它,同时不丢失基本格式.例如,就像电子邮件客户端使用HTML格式的电子邮件一样,但理想情况下不会重复在该领域中已经发生的347,821错误(到目前为止).:-)

目标是最终通过iframe我们自己的Web界面或通过.Net Windows窗体应用程序中的WebBrowser类(这似乎不安全,可能不那么)向内部用户显示我们感觉舒适的东西,以下示例.

我们认识到其中一些可能会破坏文本的显示; 没关系.

我们将在接收时清理HTML并存储已清理的版本(不要担心存储部分 - SQL注入等 - 我们已经覆盖了这一点).

该软件需要在Windows Server上运行.COM DLL或.Net程序集首选.FOSS显然是首选,但不是交易破坏者.

到目前为止我发现了什么:

  • AntiSamy.Net项目 (但它似乎不再是正在积极开发中,是在主后面的一年-活跃- AntiSamy Java项目).
  • 一些代码来自我们自己的杰夫阿特伍德,大约三年前(哎呀,我不知道他在做什么......).
  • HTML敏捷性包 (通过上面的AntiSamy.Net项目中使用的),这会给我一个健壮的分析器; 然后我可以实现我自己的逻辑来遍历生成的DOM并过滤掉我没有列入白名单的任何内容.敏捷包看起来真的很棒,但我依靠自己的白名单,而不是重复使用某人已经发明的轮子,所以这是对它的反对.
  • 微软反XSS库

你会为这项任务推荐什么?以上之一?别的什么?


例如,我们想删除以下内容:

  • script 分子
  • link,img以及与外部资源相关的此类元素(可能会替换img为"[图像已删除]"或其中一些此类文本)
  • embed,object,applet,audio,video,并尝试创建对象的其他标签
  • onclick 和类似的DOM0事件处理程序脚本代码
  • href关于a触发代码的元素(即使是我们认为可以接受的链接,我们也可能会变成用户必须有意复制并粘贴到浏览器中的明文).
  • __________ (我没有想到的722件事是我想要利用已经存在的东西的原因)

例如,这个HTML:

<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<link rel="stylesheet" type="text/css" …
Run Code Online (Sandbox Code Playgroud)

.net html sanitization html-sanitizing

32
推荐指数
1
解决办法
4380
查看次数

如何打破一个持有100mil +记录数量的表?

我们目前正在为我们的配对网站中的客户存储52个预定义问题的答案.

我们拥有超过3000万的独特用户,总结了52x30万行的最坏情况.在这52个问题中,有11个是必需的并且总是得到回答.

我们之前的解决方案是为每个问题打开一个答案表.此解决方案分发了我们的答案行,以便更快地插入/删除/更新 但它也给我们带来了非传统的编程,例如每次添加/更新问题时动态打开表格,或者如果永久销毁则删除答案表.

我们希望为我们的第三个版本提供更好的解决方案但是还没有达到目标.

任何其他想法,也许是更传统的方式来实现这一点的想法?

database-design

6
推荐指数
1
解决办法
295
查看次数

如何检查没有返回值的存储过程是否已执行?

我正在执行一个没有返回值的存储过程.如何检查它是否已被执行?这是代码:

this.dbProviderFactory = DalFactory.GetFactory(this.adapterConfiguration);
DbConnection dbConnection = dbProviderFactory.CreateConnection();

dbConnection.ConnectionString = this.adapterConfiguration.DatabaseInformation.ExternalDatabaseInformation.connectionString;
dbConnection.Open();

DbCommand cmd = dbConnection.CreateCommand();
cmd.CommandText = "h_AS_SP_ResetUnfinishedJobs";
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)

这是存储过程:

ALTER PROCEDURE [dbo].[h_AS_SP_ResetUnfinishedJobs]
AS
BEGIN
 -- Delete all unfinished jobs where the force flag has not been set...
 DELETE FROM h_AS_mds_MetaDataStatus
 WHERE mds_status NOT IN (11,12) AND mds_force = 0
END
Run Code Online (Sandbox Code Playgroud)

c# sql-server stored-procedures

3
推荐指数
1
解决办法
4924
查看次数

我应该学习汇编语言还是C,了解"真正的编程"是如何工作的?

我是一名Web开发人员,主要从事Ruby和C#...

我想学习一门低级语言,所以我看起来不像我(计算机科学专家)老板面前的屁股.

我听过很多纯粹的嗡嗡声,关于汇编语言是如何学习计算机实际工作的唯一方法,但另一方面,C语言可能更有用,而不仅仅是理论.

所以我的问题是......

学习C会教我足够的计算机科学理论/低级编程,看起来不像一个普通的花花公子(完整工具)吗?

谢谢!

丹尼尔


多谢你们!

一些非常好的答案,

我想我会学习C只是为了掌握内存管理,但我认为你的权利,我会更好地学习更多我使用的语言!

c theory assembly computer-science low-level

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

在DOM属性更改上触发事件

是否有任何方法可以触发属性更改事件(可能是自定义)?

让我们说,当IMG src被改变或DIV的innerHtml?

javascript jquery events dom dom-events

62
推荐指数
3
解决办法
6万
查看次数

为什么我不能将模板参数传递给另一个模板?

好的,我将举一个简单的问题示例:

void Increment(Tuple<int, int>& tuple) {
    ++tuple.Get<0>();
}

int main() {

    Tuple<int, int> tuple;

    tuple.Get<0>() = 8;

    Increment(tuple);

    printf("%i\n", tuple.Get<0>()); // prints 9, as expected

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

编译得很好,一切都很好.Increment函数只增加元组中的第一个元素,然后我打印该元素.但是,如果我的Increment函数可用于任何类型的元素,那不是很好吗?

template <typename T>
void Increment(Tuple<T, T>& tuple) {
    ++tuple.Get<0>(); // <-- compile ERROR
}

int main() {

    Tuple<int, int> tuple;

    tuple.Get<0>() = 8;

    Increment<int>(tuple);

    printf("%i\n", tuple.Get<0>());

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

我的第二个例子在编译时吐出以下错误:

error: expected primary-expression before ')' token
Run Code Online (Sandbox Code Playgroud)

我最终在试图找出导致问题的原因.由于模板参数为'int',因此生成的代码应我的硬编码示例相同.我怎样才能让它发挥作用?

c++ parameters templates compilation

6
推荐指数
2
解决办法
1283
查看次数