小编enz*_*m83的帖子

导出的服务不需要许可:这是什么意思?

我创建了一个由其他应用程序通过AIDL绑定的服务,并将其添加到清单中,如下所示:

<service android:name=".MyService">
    <intent-filter>
        <action android:name="org.example.android.myservicedemo.IService" />
    </intent-filter>
</service>
Run Code Online (Sandbox Code Playgroud)

其中IService是AIDL接口.

通过这种方式,Eclipse向我显示警告导出的服务不需要权限.如果我删除intent-filter,警告消失,但显然应用程序无法绑定到服务.

这个警告意味着什么?

android android-service

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

WPF应用程序的切入点是什么?

Main方法是C#控制台应用程序的入口点.因此,例如,如果我必须启动一些线程或服务,我将在该Main方法中执行.

我没有Main在WPF项目中看到该方法,那么WPF应用程序的入口点是什么?如果我必须启动一些线程或服务,应该在哪里编写启动它们的代码?

更新: 这个答案总结了可用的解决方案,但每个解决方案的优缺点是什么?

.net c# wpf c#-4.0

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

包含引用类型的Struct

struct是一个值类型,所以如果我将一个struct分配给另一个struct,它的字段将被复制到第二个struct中.但是,如果结构的某些字段是引用类型会发生什么?

public struct MyIPEndPoint
{
    public String IP;
    public UInt16 Port;

    public MyIPEndPoint(String ipAddress, UInt16 portNumber)
    {
        IP = ipAddress;
        Port = portNumber;
    }

    public override string ToString()
    {
        return IP+":"+Port;
    }
}

...

static int Main(string[] args)
{
    MyIPEndPoint address1 = new MyIPEndPoint("127.0.0.1", 8080);
    MyIPEndPoint address2 = address1;

    address2.IP = "255.255.255.255";
    address2.Port = 9090;

    Console.WriteLine(address1);
    Console.WriteLine(address2);
}
Run Code Online (Sandbox Code Playgroud)

输出是:

127.0.0.1:8080
255.255.255.255:9090
Run Code Online (Sandbox Code Playgroud)

为什么IP(一个字符串,即参考类型)address1不会改变?如果我更换会发生同样的行为stringIPAddress代表IP内MyIPEndPoint虽然:IPAddress是一类(即引用类型),它不表现为引用类型.为什么?

实际上,如果我string使用一个新的简单类来包装代表IP 的那个MyIP,那么行为就会改变. …

.net c#

25
推荐指数
2
解决办法
7410
查看次数

我可以让语音识别器无限期地听吗?

当我调用对象的startListening方法时SpeechRecognizer,语音识别器开始收听语音.我想创建一个等待特定关键字语音的服务:当用户说出该关键字并且语音识别器检测到该关键字时,该服务就准备好接收用户语音命令.

为此,在SpeechRecognizer实例化之后,我应该调用它的startListening方法:我可以让语音识别器无限期地监听吗?

android

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

是否应该对超类方法的调用是第一个语句?

可以在该onActivityResult(int requestCode, int resultCode, Intent data)方法中读取语音识别的结果,如该示例中所示.这个方法在类中重写了相同的方法Activity:为什么对超类方法的调用不是第一个语句?

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {
        // Fill the list view with the strings the recognizer thought it could have heard
        // ...
    }

    super.onActivityResult(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)

android android-lifecycle android-activity

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

防止Android服务在解除绑定后被销毁

我有一项活动通过调用启动的服务的情景startService方法:无论是ActivityService是在同一个包.然后,服务根据其配置参数,可以启动ExternalActivity包含在不同包中的活动(让我们称之为):此活动通过以下方式绑定服务bindService; 一旦这个活动完成了它的任务,就会调用以下unbindService方法......

// method of ExternalActivity
@Override
public void onDestroy() {
    super.onDestroy();
    unbindService(...);
}
Run Code Online (Sandbox Code Playgroud)

结果,该服务也被销毁.是否有可能避免破坏服务?

android android-service

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

使用负索引索引std :: vector

我试图vector使用负索引索引a .所述vector::at()成员函数检查指定索引是否是向量的边界内,并且如果这种情况不会发生,一个out_of_range则抛出异常.

vector<float> array;   // sample vector
array.push_back(0.123);
array.push_back(1.234);
array.push_back(2.345);
array.push_back(3.456);
array.push_back(4.567);

int index = -1;
float f = array.at(index);
cout << f << endl;
Run Code Online (Sandbox Code Playgroud)

vector::at()成员函数的签名要求指定的参数是vector<T>::size_type类型,并且此类型unsigned int用于向量,因此编译器应执行从int(index变量的类型)到的隐式转换unsigned int.由于index值是-1在上述例子中,隐式转换index4294967295(即所述的最大值unsigned int型):此值被传递给vector::at()成员函数,其抛出out_of_range异常.

换句话说,没有引发这种异常,因为vector::at()成员函数看到的是,index小于零,而是由于隐式转换index比的当前大小更大vector.这是正确的解释吗?

c++ type-conversion implicit-conversion

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

快速计算两个数组之间的相等字节数

我编写了该函数int compare_16bytes(__m128i lhs, __m128i rhs),以便使用SSE指令比较两个16字节数:该函数返回执行比较后相等的字节数.

现在我想使用上面的函数来比较任意长度的两个字节数组:长度可能不是16字节的倍数,所以我需要处理这个问题.我怎样才能完成下面这个功能的实现?我怎样才能改进下面的功能?

int fast_compare(const char* s, const char* t, int length)
{
    int result = 0;

    const char* sPtr = s;
    const char* tPtr = t;

    while(...)
    {
        const __m128i* lhs = (const __m128i*)sPtr;
        const __m128i* rhs = (const __m128i*)tPtr;

        // compare the next 16 bytes of s and t
        result += compare_16bytes(*lhs,*rhs);

        sPtr += 16;
        tPtr += 16;
    }

    return result;
}
Run Code Online (Sandbox Code Playgroud)

c c++ sse simd sse2

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

快速计算__m128i寄存器中的设置位数

我应该计算__m128i寄存器的设置位数.特别是,我应该使用以下方法编写两个能够计算寄存器位数的函数.

  1. 寄存器的设定位总数.
  2. 寄存器的每个字节的设置位数.

是否有可以完全或部分执行上述操作的内在功能?

c c++ sse simd sse2

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

部分课程的目的是什么?

我读了部分类,例如,我理解Visual Studio创建Windows窗体时使用它们的原因,但没有排除它

在处理大型项目时,将类分布在单独的文件上可以让多个程序员同时处理它

.

后来我读了这个例子,我注意到大多数类被声明为partial.为什么?

.net c#

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