小编And*_*dre的帖子

在运行时构建9个可绘制的补丁

我使用Brian Griffey提供的优秀要点(在此处找到),在Android 3.0+上成功构建了一个9patch drawable .

基本上我从网络加载原始(无补丁)图形文件,文件名包含我需要使用的上限,以便相应地缩放图像.然后我使用这些值与上面找到的类,并应用该图像作为背景的各种元件(如TextView,ImageButton,Button,ViewGroup,等等).

这可以完美地工作,你可以在这里看到:

Android 3.0+结果

但是,在Android 2.3.x上运行相同的代码会产生结果:

Android 2.x结果

我查看了Android中使用的源代码来解析9patch图像(此处此处),但没有找到使其正常工作的方法.我已经尝试了几乎所有我可以抛出的东西都无济于事.

为了记录,9patch由每个轴上的三列组成,一个固定,一个可伸缩,一个固定.

这里希望别人之前解决过这个问题.

提前致谢.

编辑我只对在Android 2.3及更高版本上复制此行为感兴趣(我最初有2.x).

编辑#2这个要点准确描述了我正在尝试做的事情 +源图像:源图像

编辑#3图像的大小为22px/58px(宽度/高度),插图为14/6/14/6(上/左/下/右).

graphics android bytearray nine-patch android-drawable

13
推荐指数
2
解决办法
4855
查看次数

计算两组之间的差异(排序和简单)

有没有办法计算两个有序集(zset)之间的差异,还是我必须使用简单集?

问题:

  1. 集合F包含已排序的ID列表(已排序集,完整列表)
  2. K包含id的列表(简单集,F的子集)

我想按顺序检索F中的每个条目,这不在K中.

这可能是单独使用Redis还是我必须对应用程序进行计算?如果是,最好的方法是什么?

编辑:SDIFF不适合此目的,因为它不允许排序集.

redis

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

访问DI容器

我正在开始一个新项目并建立基础来开展工作.一些问题已经上升,我可能会在这里问一些问题,希望我会找到一些答案.

第一步是处理对象的依赖关系.我已经决定使用依赖注入设计模式,我有点新,为应用程序处理所有这些.

实际编码时,我遇到了一个问题.如果一个类有多个依赖项,并且您希望通过构造函数传递多个依赖项(以便在实例化对象后无法更改它们).

如何在不传递依赖数组的情况下使用call_user_func_array(),eval()或Reflection?这就是我要找的:

<?php

class DI
{
    public function getClass($classname)
    {
        if(!$this->pool[$classname]) {
            # Load dependencies
            $deps = $this->loadDependencies($classname);

            # Here is where the magic should happen
            $instance = new $classname($dep1, $dep2, $dep3);

            # Add to pool
            $this->pool[$classname] = $instance;

            return $instance;
        } else {
                return $this->pool[$classname];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

同样,我想避免使用最昂贵的方法来调用该类.还有其他建议吗?

另外,如何在类中访问DI类,例如,在需要访问不同模型的控制器中?我应该静态地调用它还是将它传递给需要它的每个类?我不认为最后的想法是可行的.

感谢大家.

php dependency-injection

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

在许多诺基亚设备上开发应用程序的方法

首先,向大家致意,并感谢您对我的问题感兴趣.

我目前正在一家移动创业公司工作.我们的产品是适用于Android,iOS和BlackBerry设备的通信应用程序,我们正在寻求扩展到一些诺基亚平台.

我对Symbian的细节知之甚少,因为我之前从未在平台上进行过实际编程,但这是我能够收集到的所有信息.

支持的平台是Symbian S60,Symbian ^ 3/Symbian"Anna",Maemo + Meego.

为了实现这一目标,我们可以使用多种工具,但我们不确定使用哪种工具.

诺基亚Qt似乎不支持Symbian S40设备(我们似乎坚持使用J2ME)和Symbian S60设备之前的第3版功能包1

在Symbian的C++中,我们不能依赖于C++的STL.这意味着我们可以创建相同软件的两个版本,也可以创建我们自己的与Symbian兼容的STL(我想避免这种情况).

途径

在团队中,共识似乎是将其分为两个逻辑块:

  • C++中的核心业务逻辑+库
  • 使用Qt或本机UI工具的特定于设备的UI分支

记住所有这些信息,我问:

  1. 这个问题的一般方法是什么?提到的那个是否有任何相当大的缺陷,即在旧平台上与Qt不兼容或不一致?

  2. 在列出的所有诺基亚设备上,我们应该避免哪些陷阱来确保应用程序的兼容性和性能?

  3. 有没有办法绕过Symbian的STL限制?我们能以某种方式捆绑Qt资源吗?

欢迎提出建议和其他方法.感谢您的所有反馈.

c++ qt symbian nokia java-me

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