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. WebFont-前端字体

    WebFont-前端字体 前端设计时使用了一些不常用的字体,如何在客户的浏览器中正确展示? 解决方案是使用webfont,将字体置于服务端,利用 css 中的font-family进行设置,客户端展现 ...

  2. freemaker在表格中遍历数据

    Controller层如下所示: @RequestMapping(value = "/test", method = RequestMethod.GET) public Strin ...

  3. Binary Watch二进制时间

    [抄题]: A binary watch has 4 LEDs on the top which represent the hours (0-11), and the 6 LEDs on the b ...

  4. 22-python爬虫解决gbk乱码问题

    转载自: python爬虫解决gbk乱码问题   今天尝试了下爬虫,爬取一本小说,忘语的凡人修仙仙界篇,当然这样不好,大家要支持正版. 爬取过程中是老套路,先获取网页源代码 # -*- coding: ...

  5. LAMP环境配置踩坑2外网无法访问

    理论上我们配置LAMP环境的时候都会对httpd.config进行更改 vi /etc/httpd/conf/httpd.conf 把override node改成override all 并且开启8 ...

  6. Devexpress + wcf +ef 批量更新处理

    项目结构: 1.客户端:Winform, 2.数据访问:EF4.0(从数据库生成模型-懒人必需这样) 3.DTO:直接使用EF实体 4.服务端:WCF 托管在IIS中采用basicHttp帮定(这样可 ...

  7. 复杂HTML页面解析

    1.层叠样式表CSS可以让html元素呈现出差异化,网络爬虫可以通过class属性的值,轻松分出不同标签 findAll函数通过标签的名称和属性来查找标签 from urllib.request im ...

  8. 如何用word文档在博客里发表文章

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

  9. IKAnalyzer兼容Lucene 5.4.0版本抛出异常?

    ava.lang.AbstractMethodError: org.apache.lucene.analysis.Analyzer.createComponents(Ljava/lang/String ...

  10. (转)JDBC模板类。

    Spring JDBC抽象框架core包提供了JDBC模板类,其中JdbcTemplate是core包的核心类,所以其他模板类都是基于它封装完成的,JDBC模板类是第一种工作模式. JdbcTempl ...