首页 文章 精选 留言 我的

精选列表

搜索[开源生态],共10000篇文章
优秀的个人博客,低调大师

在Android中开源类库使用过程中兼容性等问题的讨论

1、在Android4.0环境下编译的actionbarsherlock、slidingmenu类库,能不能在4.0以下的版本中使用 相信很多人跟我一样,都以为在低版本(如Android2.1或2.3版本)编译的应用能够在高版本中运行,但高版本(比如Android3.0或4.0)中编译的应用恐怕就不能在低版本中运行。于是,我们可能就会想方设法地把一些在高版本中编译的代码,改成在低版本的Android SDK中编译,以便兼容。我们一直忽视了在<manifest>文件中关于兼容性的声明,如下面代码段。 <uses-sdk android:minSdkVersion="integer" android:targetSdkVersion="integer" android:maxSdkVersion="integer" /> android:minSdkVersion就声明了应用可以运行在最小的什么API版本之上。我们如何知道,一个应用可以运行在什么API上面呢?常查Android Reference(API文档)的同学,应该对下面这幅图很熟悉。 在API Reference中不仅说明了你调用的函数的功能,也说明了它是在什么版本API中引入的(见红框处)。从而我们需要检查一下自己应用中的系统调用函数的是在什么版本的API中引入的。 slidingmenu的兼容性声明 actionbarsherlock的兼容性声明 上面两幅图分别是slidingmenu、actionbarsherlock的兼容性说明。如果我们只使用slidingmenu,那么我们的应用里面的兼容性说明的android:minSdkVersion只要大于5就行了,如果同时使用slidingmenu、actionbarsherlock,那么android:minSdkVersion就必须至少是7。 对于Android高版本中引入的SDK,一般google都会推出相应的兼容包。比如在Android3.0才推出的Fragment相关API,在android-support-v4这个兼容包中就有对应的兼容API,详见创建Fragment。 最后,做一个结论,在高版本的环境下(如Android4.0)编译的应用能不能在低版本的Android系统中运行不是看编译的SDK版本,而是取决于android:minSdkVersion这个最小API版本声明。 当然,你不能声明了android:minSdkVersion是5,结果在引用中使用了android:minSdkVersion为11才引入的API。 2、遇到“IllegalStateException:Both setBehindContentView must becalled in onCreate in addition to setContentView.”错误 这个错误是在一启动,还没见到界面的时候,就爆出的错误。这是因为在代码中,缺少 setBehindContentView(R.layout.menu_frame)。而这个函数主要就是用来决定侧边栏长什么样的。 public class BaseActivity extends SlidingFragmentActivity 而这又是因为我的Activity继承了SlidingFragmentActivity(见下面代码段),这个特殊的Activity本身就带有侧边栏,因此必须在OnCreate函数那里就调用setBehindContentView()函数来设置侧边栏的样式。 本文转自陈哈哈博客园博客,原文链接http://www.cnblogs.com/kissazi2/p/3450800.html如需转载请自行联系原作者 kissazi2

优秀的个人博客,低调大师

一周开源新闻:Debian GNU/Linux 9 "Stretch" 将于2017年初发布

【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 2016 年 11 月 5 日,Debian 发布经理 Emilio Pozuelo Monfort 和 Niels Thykier 高兴地宣布 Debian GNU/Linux 9 "Stretch" 操作系统进入冻结开发阶段。 在一个开发周期中,GNU/Linux 有多个里程碑,如 Alpha、Beta、RC、Beta Freeze、Feature Freeze,等等, Debian GNU/Linux 9 "Stretch" 即 Debian OS 的下一个重大发布,此版本已经是功能完善的版本。 "这意味着不再有新的库或包的大变化。不过之后几天还会有小的改变,我们尽量使其工作更流畅,所以请耐心等待***的调整。"通知中写道。 按 Debian 开发周期,下一步是 2017 年 1 月 5 日进入 Soft Freeze 阶段。这意味着,此日期前所有更新必须纳入 Debian 测试计划中。 2017 年 2 月 5 日进入 Full Freeze 阶段,意味着所有更新需要获批。也意味着,此系统离最终发布不远了,预计是 2 月末或者 3 月初。 SUSE Linux Enterprise Server for Raspberry Pi 3推出,支持蓝牙 & Wi-Fi SLES for Raspberry Pi 是 SUSE Linux Enterprise Server 支持树莓派的单板计算机的官方版本,支持树莓派 2 和新的树莓派 3 设备。 SLES for the Raspberry Pi 支持 Broadcom BCM2837 64-bit A53 ARM 处理器,以及集成的蓝牙和 Wi-Fi。 Ubuntu Budgie 成为 Ubuntu 官方流派发行版 在 11 月 8 日 Ubuntu 技术会议投票中,budgie-remix 被正式接纳为 Ubuntu 官方流派发行版,称为 Ubuntu Budgie。 Ubuntu Budgie (之前称为 budgie-remix )是使用 Budgie 作为默认桌面环境的 Ubuntu 发行版。它与其它Ubuntu 版本相似,只是更轻型,友好,简易。 运行 Budgie Desktop 10.2.8 的Ubuntu Budgie 16.10 Mythbuntu Linux 正式宣布不再继续 而另一方面,与 Ubuntu Budgie 成功成为官方流派不同,2016 年 11 月 5 日,Mythbuntu GNU/Linux 团队宣布该项目中止,不再有新的发布。 团队建议希望使用 Mythbuntu 的用户安装 Xubuntu Linux ***版本,然后增加 Mythbuntu PPA (Personal Package Archive),提供*** MythTV 发布和相关包。如有人想接管此项目,可通过官网联系原团队。 支持垂直面板的 Cinnamon 3.2 桌面环境现已可用 2016 年 11 月 7 日,Cinnamon 3.2.0 桌面环境即将发布,用户如想提前体验可在这里下载。不过如果发现 bug 的话, Linux Mint 18.1 可能最终使用一个不同的 Cinnamon 3.2 版本,如 3.2.1 或 3.2.2。 带有垂直面板的 Cinnamon 3.2

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册