本文转自http://blog.csdn.net/a396901990/article/details/25158223,仅供学习使用,所有权力归原作者所有。

开源项目里有两个关于Crad类型的自定义view,一个是cards-ui-android,另一个就是本文的cardslib。cardslib的下载地址

关于cards-ui-android的介绍,请看我之前的一篇文章:酷炫开源项目cardsui-for-android-超详细源码分析,详解所用特效是如何实现的

接下来开始介绍cardslib开源项目

先来一张效果图

这个开源项目很大,里面有各种各样的card自定义视图。功能很全面而且效果很赞,所以我准备将cardslib中的一些实用功能和效果结合到之前一篇文章提过的开源项目cardsui-for-android中。

但由于cardslib的作者是用Android Studio写的,所以他的导入方法和正常的导入方法不一样,下面我来介绍一下正确的导入方式:

1.首先下载之后解压缩,在eclipse点击import导入android项目

2.完成第一步后会选择你要导入的文件,这里选择下面打勾的两个,一个是例子程序,一个lib包。(另外两个看名字很清楚,是额外的例子程序和lib包,这个额外的会多一个grid效果,需要单独导入另一个开源项目StaggeredGridView,这里就不介绍如何导入了,有问题可以看我另一篇文章android引入开源项目方法,和解决android-support-v4.jar冲突问题)

3.导入成功后如下图,会报错误先不用管。这里推荐给两个文件重新命名一下,随便改什么都行,主要是防止以后导入别的项目的时候重名。我是将main修改成cardslib,MainActivity修改成cardslibSample

4.如图,接下来配置cardslib。鼠标右键点击java文件夹—>Build Path—>use as source folder

5.右键点击cardslib—>Properties—>Android—>在Is Library打上勾,将这个项目标记为library

6.clean一下,看看是否有错误,如果有错误就看看SDK版本是什么,如果低于16的话就换成高于16的。最好是选19也就是4.4版本的。这样就不会出问题了,导入其他开源项目也会遇到这种问题,应该就是作者的target SDK版本的原因。

7.接下来到cardslibSample,这里仿照第4步,将aidl和java文件都加入到BuildPath中

8.将library包加入到工程中,cardslibSample—>Properties—>Android—>add—>选择刚才标记为library的cardslib

9.同第6步,查看SDK版本,改成16以上

10.在cardslibSample下建一个文件夹,名叫lib。将android-supprt-v4包复制进去,然后加入到BuildPath中。不会的可以参考这个文章android引入开源项目方法,和解决android-support-v4.jar冲突问题

11.clean一下,这回应该就没错误了

之后就可以运行他了。哈哈怎么样,是不是坑爹的报了一个nullpointerececption。。。。

找到报错的代码块

[java] view plaincopyprint?
  1. // ---------------------------------------------------------------
  2. // ...
  3. String base64EncodedPublicKey= IabUtil.key;
  4. // compute your public key and store it in base64EncodedPublicKey
  5. mHelper = new IabHelper(this, base64EncodedPublicKey);
  6. mHelper.enableDebugLogging(true);
  7. mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
  8. public void onIabSetupFinished(IabResult result) {
  9. if (!result.isSuccess()) {
  10. // Oh noes, there was a problem.
  11. Log.d(TAG, "Problem setting up In-app Billing: " + result);
  12. }
  13. // Have we been disposed of in the meantime? If so, quit.
  14. if (mHelper == null) return;
  15. // Hooray, IAB is fully set up!
  16. IabUtil.getInstance().retrieveData(mHelper);
  17. }
  18. });
  19. //-----------------------------------------------------------------

怎么样,高端大气的代码,完全看不懂。所以直接注释掉。。。。

之后就可以运行了,效果特别的好,而且各种布局,各种样式特别的全,如果你仔细的看源码的话,发现作者的框架写的也非常牛。

还特意的去google一下作者gabriele mariotti,真的是大神级人物。。。

下一篇文章准备将cardslib中的一些实用功能结合到cardsui-for-android,并进行一些优化处理。希望大家多多支持

开源项目cardslib简单介绍和导入eclipse并运行的方法相关推荐

  1. 600多个iOS开源项目分类及介绍

    600多个iOS开源项目分类及介绍 详情见:http://github.ibireme.com/github/list/ios/

  2. Qt开发的开源项目DBA技术介绍

    DBA项目采用的技术介绍 DBA项目是采用Qt+VS2015开发的开源项目.过程中也参考了他人的文章,源代码中已尽量标注出来.也希望这个项目对初学者有所帮助. Qt与VS2015混合编程 ? 建立Qt ...

  3. Linux开源沙箱Lisa简单介绍

    Lisa简单介绍 Lisa是一款开源的Linux沙箱,她使用Docker进行部署,通过qemu提供虚拟化能力,目前暂支持arm32/64.x86/x64.mips平台架构. 跳转链接:https:// ...

  4. 从0到1编写个人博客项目使用springboot+vue(前后端分离) 到 购买服务器上传项目 到 GitHub开源项目、此过程下所遇问题及解决方法,至少你帮你少走70%弯路

    个人博客编写 后记 2022.12.2.4 : 30.此项目告一段落. ​ 编撰此博客本意里除去对找工作的帮助.更多地是想帮助未走过的人去探探路.总结经验.少走弯路.知识的宝贵不在于无价.而是无私.天 ...

  5. Webrtc 开源代码的简单介绍

     WebRTC提供了视频会议的核心技术,包括音视频的采集.编解码.网络传输.显示等功能,并且还支持跨平台:windows,linux,mac,android, iOS等.Webrtc 是多媒体通信技术 ...

  6. 京东区块链开源项目——JD Chain介绍及区块链白皮书发布

    导言 近日,京东区块链底层引擎JD Chain正式对外开源并同步上线开源社区,旨在为企业级用户和开发者提供开源服务,帮助他们提高研发效率,加速技术创新.3月30日,国家互联网信息办公室公布了第一批区块 ...

  7. dva开源项目_dva 框架介绍

    dva 是基于 redux 最佳实践 实现的 framework,简化使用 redux 和 redux-saga 时很多繁杂的操作 数据流向 数据的改变发生通常是通过用户交互行为或者浏览器行为(如路由 ...

  8. 前端学习(2345):项目目录简单介绍

  9. nutch-2.1导入eclipse+mysql运行

    初次接触nutch,记录下来 首先数据库 CREATE DATABASE nutch DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_c ...

最新文章

  1. Path HDU6582
  2. (0088)iOS开发之单例的写法以及重新认识
  3. 基于PyQt的扫雷游戏实现_上篇
  4. 精通Android自定义View(十一)绘制篇Canvas分析之裁剪
  5. OUTLOOK邮箱设置
  6. SpringBoot日记——日志框架篇
  7. vb.net word 自定义工具栏_Word|用这20个技巧办公从此告别龟速工作
  8. Centos6.x升级内核方法支持Docker
  9. IOS收起键盘的几种办法(摘抄自唐巧《iOS开发进阶》)
  10. OpenCV中使用 cv2.matchTemplate()、 cv2.minMaxLoc()、 cv2.rectangle()进行模板匹配
  11. numpy中的ndarray与array的区别、不同
  12. 笔记 vue3 如何引入第三方字体
  13. 6-18位字母和数字的混合组成的正则表达式的js
  14. Machine Learning A Probabilistic Perspective 1.Introduction
  15. 20-Vue之Element UI-文字链接组件
  16. C++ find()函数
  17. 小学教师个人述职报告
  18. 重拾Android之路(三)手机适配
  19. Spine2D动画系统添加骨骼动画事件帧
  20. 假设指令字长为16位,操作数的地址码为6位,指令有零地址、一地址、二地址三种格式......

热门文章

  1. ubuntu声音问题
  2. cocos2d-x 2.2.3 win32程序发布注意
  3. C++对象内存布局测试总结
  4. ubuntu下安装 memecache
  5. 贪心——雪糕的最大数量(Leetcode 1833)
  6. C语言课后习题(68)
  7. 8个球放入3个盒子方式_盒子这样做皮薄如纸,不露馅超好吃,孩子一口气吃好几个...
  8. cannot find mysql.frm_mysql 问题 - Run佳的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. 【连载】如何掌握openGauss数据库核心技术?秘诀三:拿捏存储技术(2)
  10. 盘点2018:数据和云最受欢迎的十大精品文章