小编Lei*_*sen的帖子

Android 中浏览 XML(特别是 rss)的 Intent 过滤器

我有一个活动,我想在每次用户访问浏览器中的 xml(特别是 rss)页面时运行该活动(至少假设用户从可以支持它的应用程序列表中获取它)。

我目前已经有了当前的意图过滤器:

    <activity android:name=".activities.EpisodesListActivity"
        android:theme="@android:style/Theme.NoTitleBar">
        <intent-filter>
            <category android:name="android.intent.category.BROWSABLE"></category>
            <category android:name="android.intent.category.DEFAULT"></category>
            <action android:name="android.intent.action.VIEW"></action>
            <data android:scheme="http"></data>
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

现在您可以猜到,这是一个邪恶的意图,因为它希望在通过 http 请求页面时打开。但是,当我广告该行时:

<data android:mimeType="application/rss+xml"></data>
Run Code Online (Sandbox Code Playgroud)

做到这一点:

    <activity android:name=".activities.EpisodesListActivity"
        android:theme="@android:style/Theme.NoTitleBar">
        <intent-filter>
            <category android:name="android.intent.category.BROWSABLE"></category>
            <category android:name="android.intent.category.DEFAULT"></category>
            <action android:name="android.intent.action.VIEW"></action>
            <data android:scheme="http"></data>
            <data android:mimeType="application/rss+xml"></data>
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

该应用程序不再声称能够运行 rss 文件。

另外,如果我将该行更改为:

<data android:mimeType="application/xml"></data>
Run Code Online (Sandbox Code Playgroud)

它也不起作用(甚至对于通用 xml 文件)。

那么我需要做什么意图过滤器才能声明该活动支持 rss。

(另外,如果你能告诉我如何知道用户打开的 URL,那就加分了。到目前为止,我总是使用附加功能将信息从一个活动发送到另一个活动)。

感谢您的帮助

android android-intent

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

告诉git永远不要更新文件

我在git中有一些文件(即配置文件),我需要在git repo中,但我不希望它们更新(出于某种原因,运行它们,make,更改配置文件).

那么有什么方法可以告诉git忽略对文件的任何更改,但保持原始文件仍然在repo中?目前,我发现这样做的唯一方法是将文件添加到.gitignore文件中,然后git直接将文件添加到项目中(使用-f覆盖).有没有更好的方法?

git gitignore

5
推荐指数
2
解决办法
3657
查看次数

C中的Const返回类型

我正在阅读一些代码示例,并返回了一个const int.当我尝试编译示例代码时,我遇到了有关冲突返回类型的错误.所以我开始搜索,认为const是问题(当我删除它时,代码工作正常,不仅编译,而且按预期工作).但我从来没有能够找到特定于const返回类型的信息(我为结构/参数/等等做了,但没有返回类型).所以我尝试编写一段代码来简单地展示const可以做什么.我想出了这个:

#include <stdio.h>

int main() {
    printf("%i", method());
}

const int method() {
    return 5;
}
Run Code Online (Sandbox Code Playgroud)

当我编译这个时,我得到:

$ gcc first.c 
first.c:7: error: conflicting types for ‘method’
first.c:4: note: previous implicit declaration of ‘method’ was here
Run Code Online (Sandbox Code Playgroud)

但是,每当我删除const时,它就像预期的那样,只打印出一个5,一个继续生命.所以,任何人都可以告诉我当用作返回类型时const应该是什么意思.谢谢.

c const

4
推荐指数
3
解决办法
9078
查看次数

Pthread在互斥锁中间死亡

我在想以下情况在pthread运行时发生:

pthread_mutex_lock(...);
... // <- Thread dies here
pthread_mutex_unlock(...);
Run Code Online (Sandbox Code Playgroud)

换句话说,pthread启动,在某个时候它锁定了一个互斥锁,并且由于某种原因,它在能够调用匹配的解锁函数之前就死了,要么是因为另一个线程杀死了它,要么是因为操作系统本身(在这种情况下是android) ),决定出于某种原因(需要做其他事情等)将其杀死。

如果不调用pthread_kill()或类似的东西,这种情况是否会在android(或其他任何操作系统)上发生?即使您这样做了,避免这种事情发生的正确方法是什么?谢谢。

c++ android mutex pthreads android-ndk

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

在Octave/Matlab中对一个int进行类型转换

我需要调用使用linspace命令生成的矩阵的索引,并基于从示波器获取的一些数据.因此,输入的数据是双倍的.但是,我真的不能打电话:

Time[V0Found]
Run Code Online (Sandbox Code Playgroud)

其中V0Found类似5.2,但是索引5足够接近,所以我需要删除小数.我使用这个等式来删除小数:

V0FoundDec = V0Found - mod(V0Found,1)
Time[V0FoundDec]
Run Code Online (Sandbox Code Playgroud)

然而,即使减少小数,八度音仍然会抱怨它.

那么,我可以做些什么来将它强制转换为int?

arrays indexing matlab casting octave

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

是否可以从 .apk 文件中获取 Android.mk 或本机源文件?

从 .apk 文件中获取 Java 源文件似乎很容易。但是是否可以通过工具或棘手的方法从 .apk 文件中获取Android.mk本机源文件?

我正在研究 Android 应用程序本机代码安全性,因此这些文件对我来说非常重要。谢谢。

security android decompiling native-code android-ndk

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

在R中生成命名列表

如果我想创建一个命名列表,我在其中命名文字,我可以这样做:

list(foo=1,bar=2,baz=3)
Run Code Online (Sandbox Code Playgroud)

如果我想用任意计算制作一个列表,我可以使用lapply,例如:

lapply(list(1,2,3), function(x) x)
Run Code Online (Sandbox Code Playgroud)

但是,生成的列表lapply将始终是常规编号列表.有没有办法可以使用像lapply名字这样的函数生成列表.

我的想法是这样的:

lapply(list("foo","bar","baz), function(key) {key=5}
Run Code Online (Sandbox Code Playgroud)

==>

list(foo=5,bar=5,baz=5)
Run Code Online (Sandbox Code Playgroud)

这样我就不必将键和值作为文字.

我知道我可以这样做:

res = list()
for(key in list("foo","bar","baz") {
    res[key] <- 5;
}
Run Code Online (Sandbox Code Playgroud)

但我不喜欢我必须创建一个空列表并将其变异以填充它.

编辑:我还想根据密钥进行一些计算.像这样的东西:

lapply(c("foo","bar","baz"), function(key) {paste("hello",key)=5})
Run Code Online (Sandbox Code Playgroud)

r

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

在Racket的递归中堆栈溢出

作为函数式编程的一部分,在Racket中高度推广递归.但是,堆栈溢出是递归时通常提到的一个重要问题.在Racket中是否存在可能发生堆栈溢出的情况以及应采取哪些预防措施来防止此类事件发生?

lisp recursion racket

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

在C中将指针取消引用作为参数的目的

我最近出现了这行代码:

CustomData_em_free_block(&em->vdata, &eve->data);
Run Code Online (Sandbox Code Playgroud)

我想,不是:

a->b
Run Code Online (Sandbox Code Playgroud)

只是语法糖:

(*a).b
Run Code Online (Sandbox Code Playgroud)

考虑到这一点,这条线可以重写为:

CustomData_em_free_block(&(*em).vdata, &(*eve).data);
Run Code Online (Sandbox Code Playgroud)

如果是这样的话,传递的重点是什么

&(*a),作为参数,而不只是一个?似乎指针等效于 - ( - a)正在传入,是否有任何逻辑?

谢谢.

c pointers indirection

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

python中带括号的参数

如果你看下面的python代码行:

bpy.ops.object.particle_system_add({"object":bpy.data.objects[2]})
Run Code Online (Sandbox Code Playgroud)

你会看到参数中有大括号括起来的东西.任何人都可以告诉我括号是什么(一般来说)?我在python中没有真正看到这种类型的语法,我找不到任何文档.

任何帮助是极大的赞赏.谢谢.

python parameters curly-braces python-3.x

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