ActionBarSherlock,是一个开源的Actionbar项目(http://actionbarsherlock.com/download.html)。为什么我们要用它呢?谷歌已经不强制要求厂商支持menu键了,目前我使用的三星T705C已经做出改变了,menu键已经改成其它功能了,那么如何才能在程序中做到有菜单呢?actionbar就是谷歌解决这个问题的方式,不过这个actionbar是谷歌在3.0才推出的功能,对于先前版本谷歌就不管了!现在还有很多设备运行低于3.0的安卓,如果想开发适合所有版本安卓的程序,那么必须解决这个actionbar问题,ActionBarSherlock可以在低于3.0的版本安卓上提供actionbar,可以不夸张地说,只要你想做的安卓程序,并且想适合所有版本安卓,那么你肯定要使用ActionBarSherlock!!!

昨天我知道ActionBarSherlock的重要性后,就尝试使用它,结果在网上找了很多文章,最后发现,没有一篇能够完整正确解决使用它,最终自己解决了,但是也谢谢那些写博文的朋友,分享就是一种美德!!为了大家更方便使用它,我把我的解决过程完整讲解下来,希望对大家有帮助!!!

在使用ActionBarSherlock的时候,遇到一个问题,就是lib目录中的“android-support-v4.jar”版本不一致问题。我认为,一个成熟的软件,应该保持向下兼容,对以前发布的接口,应该最大限度保证兼容,而不是改来改去,所以,我选择最新版的“android-support-v4.jar”,而不是旧版本的。我的选择是否正确,还有待使用中进一步验证,不过目前从我写的简单例子看,工作正常!!

下面详细讲解:

一,新建一个安卓工程。为什么要新建一个安卓工程?建立这个工程后,系统自动加入一个库“appcompat_v7”,这个库的lib目录中就包含了当前Eclipse使用的版本的支持库“android-support-v4.jar”。我们通过先建立这个工程,从而得到最新版的“android-support-v4.jar”,以便一会同步这个库。

我们建立一个名叫"Test"的安卓工程,建立过程很简单,我就不讲了,自己弄一下吧。有一点需要注意,我们选择最低版本SDK时候,应该低于3,那样才能体验到 ActionBarSherlock。建立Test安卓工程后Eclipse的样子。

二,引入 ActionBarSherlock库和例子。下载完zip版的 ActionBarSherlock后,解压缩到任意位置,看目录,确定我们要引入的库和例子。

库和目录确定完毕后,就开始引入了,首先引入库:

1,在工程空白区点鼠标右键,在右键菜单中选择“import”,对所有已经存在的工程引入都是这样操作。

2,选择引入已经存在的安卓工程。

3,选择我们要引入的工程。

引入我们需要的工程后,像下面的样子。

4,引入成功后的工程目录。

5,确认我们引入的库是否已经作为库可以让其它工程直接引入。

到此,ActionBarSherlock引入完毕。

接下来,第一件事就是同步“android-support-v4.jar”。我们比较一下“appcompat_v7->lib”和“actionbarsherlock->lib”里的“android-support-v4.jar”,我们会发现“appcompat_v7->lib”的“android-support-v4.jar”最后修改时间比“actionbarsherlock->lib”里的要晚,也要比那个大,那么我们选择用“actionbarsherlock->lib”里的“android-support-v4.jar”去覆盖

“actionbarsherlock->lib”里的“android-support-v4.jar”。直接拷贝覆盖就可以了,这样两个工程里的“android-support-v4.jar”就同步了。接下里对其它工程“android-support-v4.jar”的同步也是这样操作。

接着我们引入actionbarsherlock的例子。引入过程和上面的过程一样。引入后应该是这样了,一下子错误。

别怕啊,这些错误应该是两个原因造成的:

一,这个例子没有正确引用actionbarsherlock。

二,Eclipse没有使用UTF-8编码。

首先,解决引入actionbarsherlock库:

在例子工程上鼠标右键,在右键菜单上选择“Properties”,打开当前工程属性。

删除先前引入的包,现在包路径不正确了。

添加正确的包。

现在我们安装上面覆盖“android-support-v4.jar”的步骤,把当前例子工程里的lib中的“android-support-v4.jar”也覆盖掉,不用管错误,重新启动一下Eclipse。发现只有一个错误了。

下面修改工程的默认编码为UTF-8:

现在你就可以连接虚拟机或者真机,直接运行“ActionBarSherlock”的例子了!!

在下一篇中,我将直接用刚才建立的安卓工程使用我引入的ActionBarSherlock库!

ActionBarSherlock(一)在Eclipse中如何引入ActionBarSherlock和它的例子?的更多相关文章

  1. eclipse中myBatis引入

    1.添加config.xml配置文件 2.定义与数据库的数据实体映射类 3.创建操作表的是sql映射文件 即:mapper.xml 4.在配置文件config.xml中注册sql映射文件(步骤三创建的 ...

  2. 在Eclipse中创建Maven多模块工程的例子

    .配置eclipse的maven .在Eclipse里面New -> Maven Project -> 选择“Create a simple project” Group Id: com. ...

  3. eclipse中tomcat配置JNDI链接Oracle数据源例子

    最近换到新公司,第一次接触JNDI方式连接数据库. 一开始怎么找也没找到数据库地址在哪里配置的,后面跟代码发现spring中初始化dataSource是通过这个类JndiObjectFactoryBe ...

  4. eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错? java.lang.ClassNotFoundException: com.branchitech.app.startup.AppStartupContextListener java.lang.ClassN

    eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错?java. ...

  5. Android 2.x中使用actionbar - Actionbarsherlock (2)

    先前有一个项目,是基于android4.0来开发,使用到了Fragment及ActionBar,没打算支持android2.1-android2.3系列版本 写完之后,我将此应用发布到百度应用,一天以 ...

  6. Java SE Eclipse中引入第三方jar及class

    使用eclipse开发Java SE 总免不了需要引入第三方的jar或者calss文件.这里给大家说一下如何在eclipse中引入第三方jar或者calss文件. 让我们先了解一下eclipse项目中 ...

  7. 【eclipse jar包】在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可。

    Eclipse中导入外部jar包 在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可. 工具/原料 Eclipse 需要 ...

  8. Eclipse中的工程引入jar包后没有整合到一个文件夹而是全部在根目录下显示

    Eclipse中的工程引入jar包后没有整合到一个文件夹而是全部在根目录下显示 解决方案: 1,在Eclipse中,点击window-->Preferences-->Java-->B ...

  9. 在eclipse中引入mybatis和spring的约束文件

    eclipse中引入mybatis约束文件步骤: 首先: config的key值 http://mybatis.org/dtd/mybatis-3-config.dtd mapper的key值 htt ...

随机推荐

  1. leetcode738

    public class Solution { public int MonotoneIncreasingDigits(int N) { var num = N.ToString(); var len ...

  2. 「小程序JAVA实战」小程序开源搜索组件(53)

    转自:https://idig8.com/2018/09/22/xiaochengxujavashizhanxiaochengxukaiyuansousuozujian52/ 上次说了可以在视频中通过 ...

  3. vb.net 与 c# 运算符区别

    vb.net vs c# 详细的Operators运算符区别 vb.net ===================== Comparison = < > <= >= <& ...

  4. js Excel导出

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http ...

  5. BTN事件的响应区域

    是其下所有小图片的区域组合.是并集

  6. Linux学习---linux系统下安装配置Jenkins

    1.首先准备java环境,安装JDK 2.下载jenkins至Linux服务器 下载地址:https://wiki.jenkins-ci.org/display/JENKINS/Installing+ ...

  7. Unity加载二进制数据

    [Unity加载二进制数据] The first step is to save your binary data file with the ".bytes" extension ...

  8. Linux下编译busybox时出现的问题

    编译busybox的时候出现了一个问题: sync.c:(.text.sync_main+0x78): undefined reference to `syncfs' collect2: ld ret ...

  9. 如何用Word发布WordPress博客

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

  10. 书籍索引 #C++

    卷 计算机 的文件夹 PATH 列表卷序列号为 00000200 0001:8890F:.│ 21天学通C++.pdf│ C++ Primer Plus 第6版 中文版.pdf│ C++ Templa ...