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. selenium webdriver——JS滚动到指定位置

    1.DOM滚动方法 1.scrollIntoView(alignWithTop)  滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素.如果alignWithTop为true,或者省略它, ...

  2. @JsonIgnore的源码说明

    @JsonIgnore不仅仅是在getter上有影响,也对setter方法有影响: 所在包:com.fasterxml.jackson.annotation; 源码: import java.lang ...

  3. 小程序-Now you can provide attr "wx:key" for a "wx:for" to improve performance

    转自:https://www.cnblogs.com/xpwi/p/9878871.html 小程序开发-Now you can provide attr "wx:key" for ...

  4. LevelDb日知录之五:MemTable详解

    [LevelDb日知录之五:MemTable详解] LevelDb日知录前述小节大致讲述了磁盘文件相关的重要静态结构,本小节讲述内存中的数据结构Memtable,Memtable在整个体系中的重要地位 ...

  5. 一些jquery常用方法

    1.jquery实现平滑滚动到指定锚点 $(document).ready(function() { $("a.topLink").click(function() { $(&qu ...

  6. ADT离线安装

    1.安装eclipse软件.安装后点击HELP菜单,找到下面的Install New Software并点击. 2.之后会弹出一个对话框,然后我们点击add,接下来弹出ADD对话框,然后我们再点击ar ...

  7. socket的protocal参数

    Documentation for socket() on Linux is split between various manpages including ip(7) that specifies ...

  8. 10 Consensus and Profile

    Problem A matrix is a rectangular table of values divided into rows and columns. An m×nm×n matrix ha ...

  9. Spring Boot配置FastJson报错'Content-Type' cannot contain wildcard type '*'

    升级到最新版本的fastjson以后报的错,查了一下资料,发现 fastjson从1.1.41升级到1.2.28之后,请求报错:json java.lang.IllegalArgumentExcept ...

  10. CSS3: box-sizing & content-box 属性---元素的border 和 padding 影响内容的 width 和 height解决方案

    /* 关键字 值 */ box-sizing: content-box; box-sizing: border-box; /* 全局 值 */ box-sizing: inherit; box-siz ...