小编Tro*_*jan的帖子

如何制作适用于Apple Airplay的Android应用?

我读过一篇关于Apple Airplay的文章,我搜索了一些像Air bubble这样的应用程序,但我还是有一些问题:

  1. 可以为非iOS制作Airplay应用程序吗?有许可证问题吗?
  2. Apple的MFI计划(或开发者许可证)是否涵盖Android/Windows操作系统?
  3. 是否有适用于Android的Airplay SDK?
  4. 如果没有,我应该学习什么来制作Airplay接收器/发送器应用程序?

sdk android airplay

6
推荐指数
0
解决办法
2196
查看次数

AndroidManifest.xml <manifest>包属性没有命名空间

来自Rick Rogers的O'Reilly着作"Android应用程序开发",John Lombardo,Zigurd Mednieks和Blake Meike,第44页:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.microjobsinc.mjandroid" android:versionCode="1"
    android:versionName="1.0">
Run Code Online (Sandbox Code Playgroud)

上面的XML代码具有该package属性.但是,在XML的其余部分中,其余属性都具有命名空间.

为什么所有属性都有一个名称空间除外package

xml android

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

句柄是否与智能指针相同?

我刚刚完成了Koenig&Moo的Accelerated C++,在第13章和第14章中,他们列出了一些Handle类的想法和实现(简单,共享,引用计数).

这些类包含一个原始指针,并从客户端代码中抽象出动态对象的分配/释放,以避免原始指针的所有危险,同时允许用户取消引用它们以访问指向的对象.基本上是一种与原始内存资源接口的"更安全"方式.

这些章节中介绍的类是否基本上是智能指针的实现?智能指针对我来说仍然是一个新手,但据我所知,这些Handle类正在执行相同的功能.

  1. 这两者之间是否有区别,或者它只是同一件事的另一个名称?
  2. 假设它们在功能上是等价的,实际上这样的类会从头开始写而不是使用已经制作的智能指针解决方案吗?

编辑

我应该补充一点,他们在这些章节中开发的类是模板类,因此它们不受特定资源的约束,例如,他们没有设计特定的FileHandle类.

这里的第一个代码片段7.1 中的代码几乎就是他们在我所指的章节中得到的代码.

c++ smart-pointers handle

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

EJS错误:未定义; 找不到模块'undefined'; 找不到模块'ejs'; 身体没有定义

在O'Reilly的书"Node.js Up and Running"的第2章中,我对"Let's build twitter"节点应用程序感到非常沮丧.

我从未使用过EJS,甚至不知道为EJS文件添加什么扩展名.另外,我无法让我的应用程序正常运行以获取这些错误:

  • 部分未定义
  • 无法找到模块'undefined'在哪里做app.render('index'...
  • 找不到模块'ejs'
  • 身体没有定义

它更令人沮丧,因为它只是第2章,我想知道切换到另一种材料是不是更可取的......

ejs node.js express

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

在for循环中创建的Javascript多动态addEventListener - 传递参数不起作用

我想使用事件监听器来防止事件在具有onclick函数的div内的div上冒泡.这工作,传递参数我的意图:

<div onclick="doMouseClick(0, 'Dog', 'Cat');" id="button_id_0"></div>
<div onclick="doMouseClick(1, 'Dog', 'Cat');" id="button_id_1"></div>
<div onclick="doMouseClick(2, 'Dog', 'Cat');" id="button_id_2"></div>

<script>
function doMouseClick(peram1, peram2, peram3){
    alert("doMouseClick() called AND peram1 = "+peram1+" AND peram2 = "+peram2+" AND peram3 = "+peram3);
}
</script>
Run Code Online (Sandbox Code Playgroud)

但是,我尝试在循环中创建多个事件侦听器:

<div id="button_id_0"></div>
<div id="button_id_1"></div>
<div id="button_id_2"></div>

<script>
function doMouseClick(peram1, peram2, peram3){
    alert("doMouseClick() called AND peram1 = "+peram1+" AND peram2 = "+peram2+" AND peram3 = "+peram3);
}

var names = ['button_id_0', 'button_id_1', 'button_id_2'];

    for (var i=0; i<names.length; i++){

        document.getElementById(names[i]).addEventListener("click", function(){
        doMouseClick(i, "Dog", "Cat"); …
Run Code Online (Sandbox Code Playgroud)

javascript events parameter-passing addeventlistener

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

模板出错:没有匹配的函数调用

我正在通过加速C++工作并且遇到Ex的问题.10.2问题涉及从前一章重写中值函数,因此现在可以用向量或内置数组调用中值.中值函数还应允许任何算术类型的容器.

我无法在下面详细说明两次调用中位数 - 我收到错误消息

No matching function for call to 'median'
Run Code Online (Sandbox Code Playgroud)

我从一些研究中得知,当使用模板时,应该在编译时知道Type.这可能是潜在的问题吗?有没有办法以某种方式传递Type作为模板参数?

到目前为止,这是我的代码:

#include <iostream>
#include <vector>
#include <stdexcept>
#include <algorithm>
#include <cstddef>

using namespace std;

template <class Iterator, class Type>
Type median(Iterator begin, Iterator end)
{
    vector<Type> vec(begin,end);
    typedef typename vector<Type>::size_type container_sz;
    container_sz size = vec.size();

    if (size == 0) {
        throw domain_error("median of an empty vector");
    }

    sort(vec.begin(), vec.end());

    container_sz mid = size/2;
    return size % 2 ==  0 ? (vec[mid] + vec[mid - 1]) / 2 : …
Run Code Online (Sandbox Code Playgroud)

c++ templates

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

结构声明WLAN_AVAILABLE_NETWORK网络[1];

鉴于此结构:

typedef struct _WLAN_AVAILABLE_NETWORK_LIST {
    WLAN_AVAILABLE_NETWORK Network[1];
} *PWLAN_AVAILABLE_NETWORK_LIST;
Run Code Online (Sandbox Code Playgroud)

宣言WLAN_AVAILABLE_NETWORK Network[1]是什么意思?

c struct

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

复制/插入矢量

我正在阅读Accelerated C++,我对下面发布的问题提出的建议很少.

  1. 这段代码有什么作用?

    vector<int>u(10,100)    
    vector<int>v;    
    copy(u.begin(), u.end(), v.end());
    
    Run Code Online (Sandbox Code Playgroud)
  2. 提供2种可能的方法来纠正程序,并列出其优缺点.

第一部分非常简单,但我在第二部分需要帮助.我提供了3种方法,我想知道是否有更多可能的解决方案.

另外,我不确定我的方法的优点和缺点.我试过了,所以请告诉我你的意见.


copy()

std::vector<int> u(10, 100);
std::vector<int> v;
std::vector<int> w ;
std::vector<int> x ;
std::copy(u.begin(), u.end(), back_inserter(v)); // 1st way of doing
Run Code Online (Sandbox Code Playgroud)

好处

  • std::copy() 不会更改迭代器的值
  • 由于参数std::copy()不依赖于特定容器,因此代码可以与不同的容器一起使用

缺点

  • std::back_inserter() 仅适用于顺序容器,因此不能与地图一起使用
  • 将错误的迭代器值分配给第三个参数std::copy()不会导致编译器错误,但程序可能表现不同

insert()

w.insert(w.end(), u.begin(), u.end() );
Run Code Online (Sandbox Code Playgroud)

好处

  • insert() 可与大多数容器一起使用

缺点

想不到任何.


push_back()

for ( std::vector<int>::const_iterator it = w.begin(); it != w.end(); ++it )
{
    x.push_back( *it );
}
Run Code Online (Sandbox Code Playgroud)

好处

不能想到任何.

缺点

  • std::copy()或相比较慢vector::insert().

我的方法是否正确?还有哪些其他可能的解决方案?

c++ copy insert vector

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

预处理器指令if-elses是否正常运行?

如何编写不可维护的代码(结构的缩进矿):

我听说过预处理器最具想象力的用途之一是在代码准备好编译之前要求通过CPP五次.通过巧妙地使用define和ifdef,混淆的主人可以使头文件根据它们包含的次数声明不同的东西.当一个标题包含在另一个标题中时,这变得特别有趣.这是一个特别狡猾的例子:

#ifndef DONE
    #ifdef TWICE
        // put stuff here to declare 3rd time around
        void g(char* str);
        #define DONE
    #else // TWICE
        #ifdef ONCE
            // put stuff here to declare 2nd time around
            void g(void* str);
            #define TWICE
        #else // ONCE
            // put stuff here to declare 1st time around
            void g(std::string str);
            #define ONCE
        #endif // ONCE
    #endif // TWICE
#endif // DONE
Run Code Online (Sandbox Code Playgroud)

鉴于此代码,我希望这种行为:

  1. 评估#ifndef DONEtrue,进入该区块
  2. 评估#ifdef TWICEfalse
  3. 分支进入 …

c++ obfuscation preprocessor-directive

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

Three.js通过点击按钮更改相机lookat

我想lookat在点击按钮或链接时更改相机位置.这是我的代码:

HTML:

 <a href="#" id="testButton">TEST</a>
Run Code Online (Sandbox Code Playgroud)

JS:

render();
function render() {
    trackballControls.update(60);
    requestAnimationFrame(render);
    webGLRenderer.render(scene, camera);
}

// test button function
// this does not work
var testButton = document.getElementById('testButton');
testButton.onclick = function ()
{
     camera.lookAt(new THREE.Vector3(50,60,70));
}; 

// another test button function
// this does work but then the camera bounces back to what it was looking at before
var testButton2 = document.getElementById('testButton');
testButton2.onclick = function ()
{
     camera.lookAt(new THREE.Vector3(50,60,70));
     webGLRenderer.render(scene, camera);
}; 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?这是测试页面(等待埃菲尔铁塔加载).

javascript three.js

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