我计划将一些游戏从 iPhone/Windows Mobile 移植到 Android 平台。这些游戏是用 C++ 编写的,因此我计划使用 NDK 和瘦 java 包装器。

我是 Android 平台的新手,需要一些有关购买哪款手机进行开发的建议。我怀疑像 Windows Mobile 一样,不同的手机支持不同的功能(键盘/旋转/屏幕尺寸/电容式触摸屏/等),存在一定程度的碎片化。

在 Android 平台上进行开发的最佳设备是什么?

它们还必须在英国/欧洲销售。

先感谢您。尼科斯。

有帮助吗?

解决方案

如果您想支持OS的所有版本,我会推荐一个英雄,因为它具有野外最古老的OS版本(1.5),这可能是有问题的。它也很受欢迎。

G1和纹身的两个最慢的设备是其中的,但它们都在1.6上,使事情变得复杂。

如果您想支持最新的艺术品,并且对大型安装基础不那么困扰,请选择N1(2.1)或Droid/Milestone(2.0)。

其他提示

据我说,如果您想为Android开发应用程序,并且要在设备上测试它,我的意思是真实的设备,那么最好的选择是Android Dev Phone2。您可以从以下链接中获取有关该手机的更多详细信息。

这款手机专门适合开发人员。它提供所有必需的功能以及服务。

即使我也使用同样的方法来测试我正在开发的应用程序。

Androi开发人员电话2

此外,与其他最新设备型号相比,该设备型号的成本不高。您可以使用Android OS v1.5及更高版本获得此设备。

我觉得 Android开发人员电话1 如果您在其上安装Android 1.5,仍然是开发的最佳选择。 1.5仍然有足够大的用户群,如果您想在市场上发挥任何形式,那么对他们来说很重要(用法统计)。另外,它是CPU和RAM方面具有最小功率的最古老的Android设备之一,因此您知道您的应用程序在ADP1上运行良好,它几乎可以在任何其他Android手机上运行良好。

我目前在HTC英雄(或T-Mobile被称为它的G2 Touch)上发展。不幸的是,它没有硬件键盘,而是一部功能强大的小手机。用定制的牢固的植物扎根这些手机之一是一块蛋糕(请参阅 http://forum.xda-developers.com/forumdisplay.php?f=512)

在英国,我们仍然坚持1.5 O/S-因此在为Android开发时会牢记这一点。我们已向今年晚些时候向我们提供了新的2.1 O/S。

我的看法可能不是最好的,因为这是我的第一个Android设备,但是我发现它在它上几乎没有痛苦。

祝你好运!

它似乎为我工作(虽然它确实抛出了严格的警告)与以下测试用例:

class PassMeIn
{

}

class PassMeInSubClass extends PassMeIn
{

}

class ClassProcessor
{
    public function processClass (PassMeIn $class)
    {
        var_dump (get_class ($class));
    }
}

class ClassProcessorSubClass extends ClassProcessor 
{
    public function processClass (PassMeInSubClass $class)
    {
        parent::processClass ($class);
    }
}

$a  = new PassMeIn;
$b  = new PassMeInSubClass;
$c  = new ClassProcessor;
$d  = new ClassProcessorSubClass;

$c -> processClass ($a);
$c -> processClass ($b);
$d -> processClass ($b);
.

如果严格的警告是你真的不想要的东西,你可以像这样解决它。

class ClassProcessor
{
    public function processClass (PassMeIn $class)
    {
        var_dump (get_class ($class));
    }
}

class ClassProcessorSubClass extends ClassProcessor 
{
    public function processClass (PassMeIn $class)
    {
        if ($class instanceof PassMeInSubClass)
        {
            parent::processClass ($class);
        }
        else
        {
            throw new InvalidArgumentException;
        }
    }
}

$a  = new PassMeIn;
$b  = new PassMeInSubClass;
$c  = new ClassProcessor;
$d  = new ClassProcessorSubClass;

$c -> processClass ($a);
$c -> processClass ($b);
$d -> processClass ($b);
$d -> processClass ($a);
.

你应该牢记的一件事,这是严格不是最好的oop术语。如果超类可以接受特定类作为方法参数的对象,那么它的所有子类也应该能够接受该类的对象。防止子类从处理类中,超类可以接受意味着您无法使用子类代替超类,并且100%相信它将在所有情况下工作。相关的做法被称为 liskov替换原则,它指出,在其他事情中,方法类型的类型只能在子类中变弱,返回值的类型只能变得更强大(输入只能获得更多一般,输出只能获得更多特定)。

这是一个非常令人沮丧的问题,我自己刷了很多次,所以如果在特定情况下忽略它是最好的事情,那么我建议你忽略它。但不要习惯它或者你的代码将开始开发各种微妙的相互依赖性,这将是调试的噩梦(单位测试不会捕获它们,因为各个单位将按预期行为,这是它们之间的互动问题所在的地方)。如果您确实忽略它,那么评论代码以让别人了解它,这是一个刻意的设计选择。

您想在尽可能多的设备上测试。去年,有人向Android团队问了这个问题,他们说:“您需要大口袋,但是我们每个人都有大约5或6个手机来测试我们的应用程序”。

Nexus S是当前的Google推荐Dev Phone,但仅在百思买出售。这些手机能够解锁其引导加载程序,并允许您放置自定义ROM,上传自己的操作系统等。

我的建议是获取所有类型的电话。最重要的是,甚至运行Android 1.5的HTC英雄,因此您可以针对所有市场。

我注意到由于HTC Sense UI,我的感觉发生了一些奇怪的事情。某些控件没有显示。使用自定义UI的手机获得不同的手机也可能是个好主意。

什么是 最好的设备 用于Android平台上的开发...?

拿起任何带有 2.1 的机载就可以了。Android 此时才刚刚开始发展势头,因此未来的用户群将主要拥有 >= 2.1 操作系统。

至于最好的,那是不存在的。客户多年来一直在等待完美的设备,但始终找不到。事实上,这就是行业的动力,即对最佳设备的追求。它不存在。

由于经常出现许多新型号,因此需要定期更新。需要添加的一件事是基于Android的平板电脑,现在很常见的是三星Galaxy Tabs。

Netflix Android应用程序开发人员已经解释了他们的测试方法,您可以在此处阅读: http://techblog.netflix.com/2012/03/testing-netflix-on-android.html

根据我的看法,您的开发手机应该具有“ USB调试”选项。许多低成本手机没有此选项:(

当您的应用程序在统计信息中得到满足时,您将看到您的下载器手机模型。因此,最好的开发人员电话是您的用户的流行手机:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top