标签: compatibility

处理新版Android(3.x及更高版本)中缺少的MENU按钮

我是Android <3.0中使用的菜单按钮的粉丝,因为它对我的游戏应用程序非常有用 - 它允许我采取重要但游戏玩法无关的功能(保存游戏,参考信息链接)并将其放置在它的某个地方没有弄乱主游戏界面,但仍然很容易访问(选项菜单).

这种键的使用成为3.0的问题,因为它删除了MENU按钮并用Action Bar替换它.动作栏真的不适合喜欢全屏运行的游戏,所以这真的很痛苦.没有操作栏 - 无法访问选项菜单.但是,我可能暂时忽略它,因为我在平板电脑上没有那么多用户,并且没有时间来测试它.

然而,ICS使这成为一个严重的问题,因为MENU按钮显然没有回来.现在我不仅要在平板电脑上处理这个问题,还要在手机上处理这个问题.

我对此问题的初步解决方案是在我的GUI中放置一个软按钮来替换硬菜单按钮

this.openOptionsMenu();
Run Code Online (Sandbox Code Playgroud)

一切都恢复到ICS的完美运作.

但是,这对Honeycomb不起作用.如果您没有可见的ActionBar,则调用openOptionsMenu绝对没有任何作用.

有关如何处理这个的任何想法?

  • 我想我总是可以回到使用TargetSDK <11(从而迫使ActionBar出现在平板电脑上),但据我所知,这只是将问题推向未来,我不愿意这样做.

  • 完全删除选项菜单,然后转到仅使用上下文菜单?[澄清:我的意思是,不是打开选项菜单 - 我只使用上下文菜单 - 至少现在 - 这些工作在所有设备上].

有兴趣听听其他人在整个选项菜单/ ActionBar混乱中遇到类似问题的决定.

compatibility android android-3.0-honeycomb android-4.0-ice-cream-sandwich android-4.2-jelly-bean

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

.NET 4.0是否与Windows XP SP2或更低版本兼容?

我在这里阅读http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5765d7a8-7722-4888-a970-ac39b33fd8ab要安装.NET 4.0 CP(客户端配置文件),您必须拥有WinXP SP3或以上.这有点令我担心,因为有很多人在SP2或更低版本.

有什么办法可以在任何版本的Windows XP及更高版本上运行.NET 4.0应用程序吗?(不用担心他们有哪些服务包)?

如果没有,那么.NET 3.5,3.0或2.0呢?

我的问题如下:

  1. 在我的.NET Framework版本选择中,我需要多少才能确保WinXP SP2或更高版本的兼容性?

  2. 在我的.NET Framework版本选择中,我需要多少才能确保WinXP(无服务包)或更高版本的兼容性?

.net c# vb.net windows compatibility

38
推荐指数
2
解决办法
4万
查看次数

如何编写尽可能与Python 3.x兼容的Python 2.x?

有许多方法可以在Python 2.x中包含Python 3.x功能,因此Python 2.x脚本的代码将来可以很容易地转换为Python 3.x. 其中一个例子是用函数替换print语句print():

>>> from __future__ import print_function
Run Code Online (Sandbox Code Playgroud)

是否有任何列表或资源可以提供一些想法如何使Python 2.x代码尽可能接近Python 3.x?

您能举例说明其他有用的导入或定义可以使Python 2.x的外观和行为更像Python 3.x吗?

让我们假设我们拥有最新的Python 2.x(目前为2.7.2,我相信).

python compatibility python-2.x python-3.x

35
推荐指数
4
解决办法
7110
查看次数

c ++ #ifdef Mac OS X问题

我是C++的新手.我目前正在开展一个小组项目,我们希望我们的课程兼容实验室计算机(Windows)和我的计算机(Mac OS X).

以下是我们在文件顶部放置的内容:

#ifdef TARGET_OS_X
#    include <GLUT/glut.h>
#    include <OpenGL/OpenGL.h>
#elif defined _WIN32 || defined _WIN64
#    include <GL\glut.h>
#endif
Run Code Online (Sandbox Code Playgroud)

我意识到之前已经问过这个问题,但是我的搜索给了我相互矛盾的答案,例如"_MAC","TARGET_MAC_OS","MACINTOSH"等.在#ifdef语句中输入的当前和正确的声明是什么兼容Mac?现在它不起作用.

谢谢!

c++ macos compatibility conditional-compilation

34
推荐指数
4
解决办法
4万
查看次数

33
推荐指数
2
解决办法
4万
查看次数

从.net调用R(编程语言)

我正在开发一个应用程序,它需要大量的stastical处理和输出作为.net桌面应用程序中的图像.这些问题,包括生成输出图像,似乎很适合R http://www.r-project.org/

是否有允许我从.net调用R的包装器,API,SDK或端口?

.net statistics compatibility interop r

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

sun.misc.Signal的替代品

我开始研究找到sun.misc.Signal该类的替代方案,因为它可能在即将到来的JDK中不受支持(我们目前正在研究1.6).当我构建项目时,我得到:

警告:sun.misc.SignalHandler是Sun专有API,可能会在将来的版本中删除

我遇到了多种解决方案,但它们不适合我的项目,例如在这个问题中.

这在我的情况下是不可接受的,因为:

  • 信号不仅用于杀死应用程序
  • 应用程序非常庞大 - 模块/ JVM之间的每次概念交换都需要数年才能实现

因此,理想的解决方案是找到像这个类的新Oracle版本或者以相同方式工作的东西.这样的解决方案是否存在?

java compatibility signals sun

32
推荐指数
3
解决办法
9970
查看次数

使用Visual Studio 11编译的可执行文件有什么特别之处,导致无法在Windows XP上执行可执行文件?

我用Visual Studio 11 Developer Preview编译我的C++源代码.我静态链接到运行时库.

生成的可执行文件无法在Windows XP上执行.当我尝试在Windows XP上执行它时,我收到错误消息"[可执行路径]不是有效的Win32应用程序.".

根据Microsoft Visual Studio 11将不支持Windows XP.

如何在Windows XP上无法执行生成的可执行文件?可执行文件中有什么特别之处吗?

c++ compatibility windows-xp visual-studio visual-studio-2012

31
推荐指数
2
解决办法
8596
查看次数

如何以编程方式设置"以管理员身份运行此程序"

我在Vista中遇到了很好的ol'bdeadmin.exe问题.首先,让我们得到可预测的响应:

"你不应该要求你的申请被提升."
这一个.这就是生活.

"你需要嵌入一个清单文件."
它已经编译,它已经很多年了,创建它的公司无意再做它,它是从一个合并模块(MSM文件)安装的.

"BDE已经过时,你应该使用dbExpress"
一百五十万行代码.'努夫说.

"删除EXE旁边的清单文件."
试过,什么也没做.作为测试,同一个清单文件能够使其他几个EXE文件需要提升,而不是我想要的那个.那里的东西阻止了外部清单的读取.

"创建快捷方式并设置SLDF_RUNAS_USER."
不能这样做,它是一个控制面板小程序.

唯一有效的方法是在"属性"窗口的"兼容性"选项卡下设置"以管理员身份运行此程序".我不应该告诉用户这样做.对业务不利.我需要让安装程序执行此操作.MSM文件使用静态路径.

windows compatibility properties admin runas

30
推荐指数
2
解决办法
6万
查看次数

如何处理Android中已弃用的类以保持兼容性

我正在重新开始研究我之前工作的应用程序,当时我已经围绕Android 2.2 Froyo构建了所有内容.

我已经更新了我的SDK以获取最新的API,并注意到我使用的ClipboardManager功能已被弃用.我更新了代码以使用较新的ClipData模型并在我的Froyo手机上试用了它,当然,我在新代码中得到了一个N​​oClassDefFoundError.

我已经浏览了一下,并没有找到任何关于保持向后兼容性的一般策略的真实讨论.

我不完全确定我应该如何处理这个以及API不同的其他情况,因为我希望所有版本的用户都能够使用我的应用程序.

我应该按如下方式进行检查吗?

if(version == old){
   use old API;
} else {
   use new API;
}
Run Code Online (Sandbox Code Playgroud)

如果是这样,我已经弃用了我的类中的代码,Eclipse将永远发出警告.

另一方面,我可以构建一个旧版本的API,并希望新版本可以正常处理它.但是当有更好的替代方案时,我冒着构建有缺陷或低性能代码的风险.

处理这个问题的最佳方法是什么?

compatibility android backwards-compatibility deprecated

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