安卓引入fragment之后,程序写法发生了变化,新写法写的应用能在旧版本上运行吗?

疯癫行者 2014-07-08 04:50:48
安卓引入fragment之后,程序写法发生了变化,新写法写的应用能在旧版本上运行吗?
能的话该怎么设置?不能的话有什么解决办法?不至于写两种版本的代码吧?
...全文
235 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
疯癫行者 2014-07-09
  • 打赏
  • 举报
回复
明白了,谢谢两位!结贴。
gao_chun 2014-07-09
  • 打赏
  • 举报
回复
引用 7 楼 stonefeng 的回复:
[quote=引用 5 楼 gao_chun 的回复:] 设置向下兼容就可以了。 低版本的代码在高版本是可以运行的,但是高版本的代码在低版本不一定能运行的起来。 比如在2.2上开发,引入必要的support.v4 jar包之后,注意以下几点: 1.activity继承v4包中的FragmentActivity 2.必须导入v4包中的Fragment 3.如果要使用FragmentManager,必须使用getSupportFragmentManager(); 比如:getActivity().getSupportFragmentManager().findFragmentById(R.id.xxx);
谢谢。 support.v4 jar包是不是安卓4版上新增加的功能?然后为了让4版SDK的API在2.2上使用,需要引入新版的包,然后开发过程中注意引用新版的包? 那么这是否意味着在2.2上开发的代码与新版本上的代码是不同的?这样需要同时维护两个版本的代码吗?[/quote] 你好,哥们。 这个support.v4 ja包是在android3.0之后引入进android的,加入了新的api,这个你可以在官方文档查阅。 3.0后新增api主要有: 一、Fragments 碎片容器 二、Action Bar 活动栏 三、System clipboard系统剪切板 四、拖拽 五、增强的appWidgets 六、增强的状态提示栏 七、内容加载器 八、A2DP蓝牙和耳机控制API 九、动画框架 十、扩展UI框架 新增以下UI控件   AdapterViewAnimator   AdapterViewFlipper   CalendarView   ListPopupWindow   NumberPicker   PopupMenu   SearchView   StackView 十一、图形相关 所以要使用以上功能的,在3.0以下版本,都需要引入这个包。 也不存在什么两个版本的代码,首先定义好自己的apk适用于那个版本阶段,比如8 - 19 其次,上面已经说了,低版本的代码在高版本是兼容的。写代码的时候考虑低版本的兼容,并在低版本模拟器或 手机上测试,没问题就行了,为何一直纠结于两个版本的代码呢?
疯癫行者 2014-07-08
  • 打赏
  • 举报
回复
引用 5 楼 gao_chun 的回复:
设置向下兼容就可以了。 低版本的代码在高版本是可以运行的,但是高版本的代码在低版本不一定能运行的起来。 比如在2.2上开发,引入必要的support.v4 jar包之后,注意以下几点: 1.activity继承v4包中的FragmentActivity 2.必须导入v4包中的Fragment 3.如果要使用FragmentManager,必须使用getSupportFragmentManager(); 比如:getActivity().getSupportFragmentManager().findFragmentById(R.id.xxx);
谢谢。 support.v4 jar包是不是安卓4版上新增加的功能?然后为了让4版SDK的API在2.2上使用,需要引入新版的包,然后开发过程中注意引用新版的包? 那么这是否意味着在2.2上开发的代码与新版本上的代码是不同的?这样需要同时维护两个版本的代码吗?
ipip2005 2014-07-08
  • 打赏
  • 举报
回复
SDK版本是开发工具的版本, API level对应了android系统的版本,参见 http://baike.baidu.com/link?url=aUjDbjLQjZbH0cbWqBO8h_0vYH25mS6Wb1BZct8W3TzrKoIvJtN79X_auYA0iggRihqPOmjrLrmN4ThxY3PzC_
gao_chun 2014-07-08
  • 打赏
  • 举报
回复
设置向下兼容就可以了。 低版本的代码在高版本是可以运行的,但是高版本的代码在低版本不一定能运行的起来。 比如在2.2上开发,引入必要的support.v4 jar包之后,注意以下几点: 1.activity继承v4包中的FragmentActivity 2.必须导入v4包中的Fragment 3.如果要使用FragmentManager,必须使用getSupportFragmentManager(); 比如:getActivity().getSupportFragmentManager().findFragmentById(R.id.xxx);
疯癫行者 2014-07-08
  • 打赏
  • 举报
回复
引用 3 楼 ipip2005 的回复:
在AndroidManifest.xml中定义版本要求,包括最低版本和目标版本。 有些强大又新颖的方法需要API版本在一个固定数值以上的,你用的时候会提示你最低版本过低,解决的办法是提高最低版本。 但有时候为了兼容那些使用低版本API的设备,开发者更愿意换个等价的方法。
嗯,有些明白了。 提这问题的根本原因是还有一事不明: 安卓系统版本、SDK系统版本的版本号看上去好像不是一一对应的,比如android现在4.4(L ?),而sdk现在23,他们之间有什么关联吗?难道不是一起升级的吗?sdk23是为了L而发布的吗? (给帖子加分)
ipip2005 2014-07-08
  • 打赏
  • 举报
回复
在AndroidManifest.xml中定义版本要求,包括最低版本和目标版本。 有些强大又新颖的方法需要API版本在一个固定数值以上的,你用的时候会提示你最低版本过低,解决的办法是提高最低版本。 但有时候为了兼容那些使用低版本API的设备,开发者更愿意换个等价的方法。
疯癫行者 2014-07-08
  • 打赏
  • 举报
回复
引用 1 楼 ipip2005 的回复:
又没有抬高最低系统版本,为什么不能运行。。。 :我是这么想的。
谢谢回答。那么最低系统版本是随意设置的吗?还是有一定限制的?会不会随着SDK升级而要求提高最低版本?
ipip2005 2014-07-08
  • 打赏
  • 举报
回复
又没有抬高最低系统版本,为什么不能运行。。。 :我是这么想的。

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧