将现有应用程序迁移到 Android 3.x
我有一个适用于 Android 1.x 和 2.x 的已发布应用程序,现在我想让它支持 3.x。
但是Android 3.0有大量的API变化,特别是在UI上,因此如果我想让一个应用程序兼容2.x和3.x,代码会很丑陋,包文件也会很大。
另一方面,如果我为 3.x 制作另一个应用程序,那么我需要维护其公共代码的两个副本。这真的很烦人。
我应该选择什么,或者有人有更聪明的解决方案吗?谢谢!
I have a published app for Android 1.x and 2.x, and now I want to make it support 3.x.
But Android 3.0 has massive API change, especially on UI, thus if I want to make one app compatible to 2.x and 3.x, the code will be ugly and package file will be huge.
On the other hand, if I make another app for 3.x, then I need to maintain two copies of their common codes. That's really annoying.
What should I choose, or does anyone have a more smart solution? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果将它们打包在一起,您仍然可以单独维护所有内容 - 例如:在 3.x 的每个布局和类前面放置一个前缀,例如 honeyMain.class 和 honeymain.xml
或者您可以通过一种方式来实现更多功能对你来说有感觉。
或者将它们部分放在一起。
它会让你的应用程序变得更大,但是当 15 个 3.x 的人下载它,60 个 2.x 的人下载它时,你会得到 75 次下载,而不是一个应用程序下载 15 次,另一个应用程序下载 60 次。相对于市场上的所有排名,75 的累计排名在应用程序上看起来会更好。
另一方面,如果 3.x 真的很丑或 FC,那么负面评级将影响 2.x 和 3.x,但这很容易通过测试、测试、测试来控制。
另外,我个人讨厌管理两个不同应用程序的代码。实在是太重复了。
所以,我的建议是将它们打包在一起。
If you package them together you could still maintain everything separately - For example: put a prefix in front of every layout and class for 3.x, such as honeyMain.class, and honeymain.xml
Or you could do it a way that makes more sense for you.
Or keep them partially together.
It WILL make your app larger, but then when 15 people with 3.x download it and 60 people with 2.x download it, you get 75 downloads, instead of 15 for one app and 60 for the other. The 75 cumulative will look better on the apps over all ranking on the market.
On the other hand, if the 3.x is really ugly or FCs, then negative ratings will impact both 2.x and 3.x, but that is easily controlled for by testing, testing, testing.
Also, I personally hate managing code for two different apps. It's overly repetitive.
So, my recommendation is to package them together.
利用资源限定符,例如 -xlarge、-v11 等。
必要时使用反射或其他技术来避免引入 API 级别不支持的内容。
使用兼容性库,这样您就可以将代码分段,避免重复,并且轻松处理不同的屏幕尺寸。
请参阅提供资源
请参阅多屏幕
请参阅 兼容库
Make use of resource qualifiers, e.g. -xlarge, -v11, etc.
Use reflection where necessary or other techniques to avoid pulling in stuff not supported by API level.
Use the compatability library, that way you can fragmentize your code regardless, avoiding duplication, and with little effort handle different screen sizes.
See providing resources
See multple screens
See compat lib
右键单击您的项目并选择“属性”,从窗口中选择“android”,以及您想要的版本类型检查并应用
Right click on your project and select "properties",select "android" from window,and which type of version you want check it and apply