小编The*_*heo的帖子

片段中的动态广播接收器

是否有可能在片段中动态注册广播接收器以侦听连接状态变化?如果是这样的话?如果没有,片段有哪些变通方法?

编辑:要注册BroadcastReceiver,您需要一个Context.由于片段存在于活动中,因此获取Context的最佳方法可能就是使用getActivity().但是,正如gnorsilva在下面解释的那样,有一些特殊情况需要注意.

android broadcastreceiver android-fragments

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

YouTube Android Player API的配额限制

我想在新的Android应用中使用YouTube Android播放器API.您能否了解一下这个API的免费使用限制是什么?我对在达到免费API限制之前每天可播放的视频数量感兴趣.

我已经做了一些背景研究,这就是我所知道的:

  1. Android Player API使用YouTube应用和YouTube Data API v3播放视频.
  2. 程序员必须提供跟踪使用情况的Data API v3密钥.
  3. 每个应用程序每天限制访问Data API v3 500万个单元.
  4. 通过Data API v3进行的不同操作在单位方面具有不同的成本.

据我所知,YouTube应用程序可以控制向Data API发出请求.当我没有源代码时,如何计算YouTube应用程序代表我使用的读/写/更新等?如何将这些操作转换为单元,然后转换为实际视频?视频是我关心的,以及我可以通过Android Player API实际控制的内容.

让我们以Justin Beiber的Baby视频为例.它长3分45秒,ID为kffacxfA7G4,完整网址为http://www.youtube.com/watch?v=kffacxfA7G4.如果我以Android Player API为起点提供id,那么播放此视频需要多少才能播放?每天可以通过API播放多少个不同的视频?

编辑:此问题主要针对YouTube API团队@Google上的人员(如/sf/users/27019821/),他们使用youtube-apiStackOverflow上的标记获取技术支持.有关详情,请参阅此博文:https://youtube-eng.googleblog.com/2012/09/the-youtube-api-on-stack-overflow_14.html

android youtube-api

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

c库的C++/CLI类包装器 - 回调

我正在使用C++/CLI包装C库.C库旨在从非托管C++类中使用.这意味着库函数接受C++对象指针,然后在回调中提供该指针.这使得回调代码能够将请求重定向到调用C++对象中的相应事件函数.

实际的功能非常复杂,所以我将问题空间简化为几个基本项:

// C library function signature
void CLibFunc(CLIBCALLBACK *callback, void *caller);

// C callback signature
// Second parameter is meant to point to the calling C++ object
typedef int (__stdcall CLIBCALLBACK) (int param1, void *caller);

// C callback implementation
int CallBackImpl(int param1, void* caller)
{
    // Need to call the ManagedCaller's EventFunction from here
    // ???
}

// C++/CLI caller class
public ref class ManagedCaller
{
    public:
        void CallerFunction(void)
        {
            // Call the C library function
            // Need to …
Run Code Online (Sandbox Code Playgroud)

c++-cli callback

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

C++/CLI IEnumerable和IEnumerator实现

有没有人有一个如何在C++/CLI中实现IEnumerable和IEnumerator的有效的分步示例?或者,是否有人知道如何修复MS Connect中的以下代码,这些代码无法在Visual Studio 2005中编译?

http://connect.microsoft.com/VisualStudio/feedback/details/101089/how-to-implement-ienumerable-t-and-ienumerable-c-cli

using namespace System;
using namespace System::Collections::Generic;

generic <class T>
public ref struct MyArray : public IEnumerable<T>
{    

    MyArray( array<T>^ d )
    {
        data = d;
    }
    ref struct enumerator : IEnumerator<T>
    {
        enumerator( MyArray^ myArr )
        {
            colInst = myArr;
            currentIndex = -1;
        }

        bool MoveNext()
        {
            if( currentIndex < colInst->data->Length - 1 )
            {
                currentIndex++;
                return true;
            }
            return false;
        }

        property T Current
        {
            T get()
            {
                return colInst->data[currentIndex];
            }
        };
        // This …
Run Code Online (Sandbox Code Playgroud)

ienumerable ienumerator c++-cli

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

使用Win32 API将文本插入到特定偏移量的文件中

我正在寻找一种方法来快速修改大型的千兆字节文件.Win32 API是否支持将文本插入到特定偏移量的文件中,而无需从一开始或从更改的偏移量将整个文件重写回磁盘?

考虑一个例子.假设我们在一个大小为1 GB的文件中反复重复文本"test".如果我想转到500 MB的偏移并插入文本"new",有没有办法插入它而不必从头开始重写整个文件,和/或无需重写最后500 MB的文件?

可以使用Win32 API完成吗?如果没有,是否有任何策略来优化这样的文本插入操作以最大化速度?

c file-io winapi

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