android:clipToPadding 和 android:clipChildren
In 未分类 on 2014年10月14日 by TAT.zhipingfeng view: 26,763
6
相信 volley 绝大部分做 android 的人已经知道了,关于 volley 的使用网上也是一抓一大把,都是说 volley 如何如何好用,下面分享下自己在使用 volley 过程中踩过的坑。
volley 好用的一个原因是封装的 api 看起来也比较直接,但是其回调的 api 做的是一般般,其中有一个 JsonObjectRequest 类,网上的使用说明也一大把,基本上都是最简单的情形:
Get 请求示例:
1 2 3 4 5 |
在开发sdk生成jar在eclipse里相对比较容易操作,只要导出class时指定哪里导出就可以, 但在用AndroidStudio开发时要导出jar就没那么容易,需要写gradle脚本,但gradle脚本 的入门成本还是比较高,网上也有打包jar的脚本参考,但大多是通过生成classes.jar重命名 来生成,这样生成的jar是包含工程里所有类的,有时我们需要指定一些包和类来生成jar。 下面是参考脚本: |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
task clearJar(type: Delete) { delete 'libs/sdk.jar' } task makeJar(type:org.gradle.api.tasks.bundling.Jar) { //指定生成的jar名 baseName 'sdk' //从哪里打包class文件 from('build/intermediates/classes/debug/org/cmdmac/cloud/pluginsdk/') //打包到jar后的目录结构 into('org/cmdmac/cloud/pluginsdk/') //去掉不需要打包的目录和文件 exclude('test/', 'BuildConfig.class', 'R.class') //去掉R$开头的文件 exclude{ it.name.startsWith('R$');} } makeJar.dependsOn(clearJar, build) |
1 |
在build.gradle写上后,只要在命令行执行gradle makeJar就可以在build/libs目录下找到这个jar |
上面是个简单的例子,只能打包某个包下面的所有文件,如果要实现只打某个包下面的某些子包或者文件可参考如下示例:
1 2 3 4 5 6 7 8 9 10 11 |
task makeSdkJar(type:org.gradle.api.tasks.bundling.Jar) { baseName 'pluginsdk' //只打包org.cmdmac下的org.cmdmac.pluginsdk.impl和org.cmdmac.gamecenter,其他子包不会被打包进去 from('build/intermediates/classes/debug/org/cmdmac/') { include 'pluginsdk/impl' include 'gamecenter' } into('org/cmdmac/') // exclude('R.class') // exclude{ it.name.startsWith('R$');} } |
假设我们要做一个效果,界面最顶部是一个 ActionBar 并且是半透明的,ActionBar 下面是一个 ListView,在初始状态下,ListView 是 top 是在 ActionBar 的 bottom 位置的,但当 ListView 滚动的时候可以透过 ActionBar 看到下面的 ListView 的内容。如下面两张图所示:
关于插件,已经在各大平台上出现过很多,eclipse 插件、chrome 插件、3dmax 插件,所有这些插件大概都为了在一个主程序中实现比较通用的功能,把业务相关或者让可以让用户自定义扩展的功能不附加在主程序中,主程序可在运行时安装和卸载。
在 android 如何实现插件也已经被广泛传播,实现的原理都是实现一套插件接口,把插件实现编成 apk 或者 dex,然后在运行时使用 DexClassLoader 动态加载进来,这里分享一下 DexClassLoader 加载原理和分析在实现插件时不同操作造成错误的原因。
Copyright © 2011-2021 AlloyTeam. All Rights Reserved. Powered By WordPress
粤ICP备15071938号-2