开源项目cardslib简单介绍和导入eclipse并运行的方法
本文转自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。。。。
找到报错的代码块
- // ---------------------------------------------------------------
- // ...
- String base64EncodedPublicKey= IabUtil.key;
- // compute your public key and store it in base64EncodedPublicKey
- mHelper = new IabHelper(this, base64EncodedPublicKey);
- mHelper.enableDebugLogging(true);
- mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
- public void onIabSetupFinished(IabResult result) {
- if (!result.isSuccess()) {
- // Oh noes, there was a problem.
- Log.d(TAG, "Problem setting up In-app Billing: " + result);
- }
- // Have we been disposed of in the meantime? If so, quit.
- if (mHelper == null) return;
- // Hooray, IAB is fully set up!
- IabUtil.getInstance().retrieveData(mHelper);
- }
- });
- //-----------------------------------------------------------------
怎么样,高端大气的代码,完全看不懂。所以直接注释掉。。。。
之后就可以运行了,效果特别的好,而且各种布局,各种样式特别的全,如果你仔细的看源码的话,发现作者的框架写的也非常牛。
还特意的去google一下作者gabriele mariotti,真的是大神级人物。。。
下一篇文章准备将cardslib中的一些实用功能结合到cardsui-for-android,并进行一些优化处理。希望大家多多支持
开源项目cardslib简单介绍和导入eclipse并运行的方法相关推荐
- 600多个iOS开源项目分类及介绍
600多个iOS开源项目分类及介绍 详情见:http://github.ibireme.com/github/list/ios/
- Qt开发的开源项目DBA技术介绍
DBA项目采用的技术介绍 DBA项目是采用Qt+VS2015开发的开源项目.过程中也参考了他人的文章,源代码中已尽量标注出来.也希望这个项目对初学者有所帮助. Qt与VS2015混合编程 ? 建立Qt ...
- Linux开源沙箱Lisa简单介绍
Lisa简单介绍 Lisa是一款开源的Linux沙箱,她使用Docker进行部署,通过qemu提供虚拟化能力,目前暂支持arm32/64.x86/x64.mips平台架构. 跳转链接:https:// ...
- 从0到1编写个人博客项目使用springboot+vue(前后端分离) 到 购买服务器上传项目 到 GitHub开源项目、此过程下所遇问题及解决方法,至少你帮你少走70%弯路
个人博客编写 后记 2022.12.2.4 : 30.此项目告一段落. 编撰此博客本意里除去对找工作的帮助.更多地是想帮助未走过的人去探探路.总结经验.少走弯路.知识的宝贵不在于无价.而是无私.天 ...
- Webrtc 开源代码的简单介绍
WebRTC提供了视频会议的核心技术,包括音视频的采集.编解码.网络传输.显示等功能,并且还支持跨平台:windows,linux,mac,android, iOS等.Webrtc 是多媒体通信技术 ...
- 京东区块链开源项目——JD Chain介绍及区块链白皮书发布
导言 近日,京东区块链底层引擎JD Chain正式对外开源并同步上线开源社区,旨在为企业级用户和开发者提供开源服务,帮助他们提高研发效率,加速技术创新.3月30日,国家互联网信息办公室公布了第一批区块 ...
- dva开源项目_dva 框架介绍
dva 是基于 redux 最佳实践 实现的 framework,简化使用 redux 和 redux-saga 时很多繁杂的操作 数据流向 数据的改变发生通常是通过用户交互行为或者浏览器行为(如路由 ...
- 前端学习(2345):项目目录简单介绍
- nutch-2.1导入eclipse+mysql运行
初次接触nutch,记录下来 首先数据库 CREATE DATABASE nutch DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_c ...
最新文章
- Path HDU6582
- (0088)iOS开发之单例的写法以及重新认识
- 基于PyQt的扫雷游戏实现_上篇
- 精通Android自定义View(十一)绘制篇Canvas分析之裁剪
- OUTLOOK邮箱设置
- SpringBoot日记——日志框架篇
- vb.net word 自定义工具栏_Word|用这20个技巧办公从此告别龟速工作
- Centos6.x升级内核方法支持Docker
- IOS收起键盘的几种办法(摘抄自唐巧《iOS开发进阶》)
- OpenCV中使用 cv2.matchTemplate()、 cv2.minMaxLoc()、 cv2.rectangle()进行模板匹配
- numpy中的ndarray与array的区别、不同
- 笔记 vue3 如何引入第三方字体
- 6-18位字母和数字的混合组成的正则表达式的js
- Machine Learning A Probabilistic Perspective 1.Introduction
- 20-Vue之Element UI-文字链接组件
- C++ find()函数
- 小学教师个人述职报告
- 重拾Android之路(三)手机适配
- Spine2D动画系统添加骨骼动画事件帧
- 假设指令字长为16位,操作数的地址码为6位,指令有零地址、一地址、二地址三种格式......
热门文章
- ubuntu声音问题
- cocos2d-x 2.2.3 win32程序发布注意
- C++对象内存布局测试总结
- ubuntu下安装 memecache
- 贪心——雪糕的最大数量(Leetcode 1833)
- C语言课后习题(68)
- 8个球放入3个盒子方式_盒子这样做皮薄如纸,不露馅超好吃,孩子一口气吃好几个...
- cannot find mysql.frm_mysql 问题 - Run佳的个人空间 - OSCHINA - 中文开源技术交流社区...
- 【连载】如何掌握openGauss数据库核心技术?秘诀三:拿捏存储技术(2)
- 盘点2018:数据和云最受欢迎的十大精品文章