abase简介
> abase集成了本人常用的 util
> 以及 androidannotations afinal xutils 开源框架
> 然后按我个人习惯修改了一下
> 追求的是最快速的项目构建
abase组成
xUtils
> 替换xUtils ViewUtils模块为 androidannotations
> 更为强大的ioc annotations写法
> 集成了其他3大模块 DbUtils模块HttpUtils模块BitmapUtils模块
abase-util
> 100多个util包含个人目前为止用到的所有可复用方法
学习
> 使用前请自行研究 androidannotations xUtils
> 只使用abase-util 只要在之前加上
Abase.setContext(context); //当然一些权限啥的自己加
事例
// androidannotations @EActivity(R.layout.activity_main) public class MainActivity extends Activity { @ViewById GridView gv; AbaseBaseAdapter<Book> adapter; private AbaseDao db = AbaseDao.create(); /** 这个方法可代替 onCreate() **/ @AfterViews public void init() { // 使用BookItemView 来代替 adapter adapter = new AbaseBaseAdapter<Book>(BookItemView.class,this); gv.setAdapter(adapter); setData(); } @EViewGroup(R.layout.gv_item) public class BookItemView extends ItemView<Book> { @ViewById Button gv_bt; public BookItemView(Context context) { super(context); } @AfterInject public void init() {} // bind 方法来设置 相应的属性 即可 public void bind(final Book book) { gv_bt.setText(book.name); } } // 常用utils 一些有用没用的东西 /** * SharedPredferences util * */ public class ConfigUtil /** * 有关 handler msg 的 工具 * @author jayqqaa12 * @date 2013-6-8 */ public class MsgUtil /*** * 时间 戳 * * @author 12 * * SystemClock.elapsedRealtime */ public class TimeUtil /** * 字符串操作工具类. * */ public final class Txt /*** * 用来 判断 版本 * * @author 12 * */ public class VersionUtil /*** * 日期操作 工具 * @author 12 * */ public class DateUtil /** * 打印 log * * @author jayqqaa12 * @date 2013-6-5 */ public class L /** * 获得 logcat 的 日志 信息 * * <uses-permission android:name="android.permission.READ_LOGS" /> * * @author jayqqaa12 * @date 2013-5-15 */ public class LogcatUtil /** * * Toast * * @author jayqqaa12 * */ public class T /** * 校验工具类 */ public class Validate { /** * 文件 工具栏 * */ public class FileUtil /** * Java utils 实现的Zip工具 * */ public class ZipUtils /** * 媒体类型工具包 * * @author 12 * */ public class MediaTypeUtil /*** * 判断网络类型 网络连接等 * @author 12 * */ public class NetworkUtil /** * 1.点击"Network"将输出本机所处的网络环境。 2.点击"WAP"将设定 移动网络接入点为CMWAP。 3.点击"GPRS"将设定 * 移动网络接入点为CMNET。 注:自定义移动网络接入点的前提是“设置”→“无线和网络”→“移动网络”处已打勾。 * * 必需 为 系统应用 或者有系统权限 */ public class ApnUtil /** * 打电话 相关 工具 * @author jayqqaa12 * @date 2013-6-8 */ public class CallUtil /** * 获取联系人信息等 * @author 12 * */ public class ContactUtil /*** * 获取手机信息 * @author 12 * */ public class TelUtil /*** * 加密的 * @author 12 * */ public class CipherUtil /** * apk 的 相关 信息 * * @author 12 * */ public class AppInfoUtil /** * 手机和SD卡内存获取 * * */ public class MemoryUtil /** * 提供各种 系统 广播的 动态 注册 * * @author jayqqaa12 * @date 2013-5-15 */ public class ReceiverUtil /** *root 工具包 * * @author jayqqaa12 * @date 2013-5-17 */ public class RootUtil /** * 获得 android.os.SystemProperties 相关 属性 * * @author jayqqaa12 * */ public class SysPropUtil /** * 系统 工具 * @author jayqqaa12 * @date 2013-5-15 */ public class SysUtil /** * 当前 手机 进程的 相关 信息的 工具 * @author jayqqaa12 * */ public class TaskUtil /** * 常见动画 工具 * @author jayqqaa12 * @date 2013-6-5 */ public class AnimUitl /** * @Title ImageUtils * @Package com.ta.util.extend.draw * @Description 处理图片的工具类. */ public class ImageUtil /** * * notification 工具集 * */ public class NotificationUtil /** * 获取、设置控件信息 */ public class ViewParmUtil // 对框架的进一步封装 /*** * 结合 androidannotations * * 使用方法 new AbasePopup(BindView.class) * * 其中 bindview 为继承 bindview的子类 * * 原理类似 adapter的 itemview * * @author 12 * */ public class AbasePopup extends PopupWindow /** * 配合 android annotations使用 配合 itemView 使用 * * 可在 @afterInject 注入之后 设置 setItemView 传入 itemview 实例化类 * * 也可直接 new AbaseBaseAdapter<T>( itemview.class,context) * * @author 12 * * @param <T> */ public class AbaseBaseAdapter<T> extends BaseAdapter //还有一些东西 也挺简单的 就不多挺了 呵呵 大家看着办
Abase Abase是一套支持redis协议的分布式KV存储系统。是字节跳动自研的一套数据库系统,对在线业务发挥着核心作用。 支持redis协议、高可用、低延迟、高扩展的kv存储;常用于redis的大容量持久化场景。 为什么采用Abase? redis所有数据都在内存,容量相对较小,而且内存也贵;相对而言abase全量数据在磁盘,热数据在内存中,但性能、速度比不上redis
这个很好搞,就是输出DLL,这里的难点不清楚的就是 _CrtDumpMemoryLeaks()在程序退出点之前调用会在输出中产生内存泄露信息,但是如果程序有多个退出点则无需 在所有退出点都调用该函数,取而代之的是简单的在main()一开始就首先调用 _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);这样程序会在退
测试是 Web 应用开发过程中不可获缺的工作。Nuxt.js 尽量帮助你简化这部分工作。 端对端测试 ava 是一个很强大的 JavaScript 测试框架,结合 jsdom,我们就可以轻松地给 nuxt 应用进行端对端测试。 首先,我们需要添加 ava 和 jsdom 作为项目的开发依赖: npm install --save-dev ava jsdom 然后在 package.json 中添加
第三方 SDK C#: v2ray-dotnet-sdk 自动化工具 V2Ray 使用下列自动化工具进行编译和发布。 Bazel: 用于编译和打包。 Azure DevOps: 用于部分项目的自动化发布。 Google Cloud: 用于部分项目的自动化发布。 CloudFlare: 用于支持官网和域名解析。
剖析性能 使用 Devel::NYTProf,或 Devel::DProf。 分析代码质量 使用 Perl::Critic,它基本上是针对 Perl 的 lint。 分析变量结构 使用 Data::Dumper。
使用说明 概述 轻推JAVA-SDK是轻推开放平台面向Java开发者提供的发工具包。通过使用轻推JAVA-SDK,Java开发者可借助轻推高效地使用消息推送,安全登录等功能。 此文档面向Java开发者介绍轻推JAVA-SDK如何使用及相关注意事项。 使用步骤 步骤一:获取AppID以及AppSecret 登录轻推企业管理系统,编辑轻应用/订阅号,获取AppID以及AppSecret,若需要使用轻推
Git https://skyao.gitbooks.io/learning-git/installation/ubuntu1604.html sudo add-apt-repository ppa:git-core/ppa sudo apt-get update sudo apt-get install git gitbook https://skyao.gitbooks.io/leaning-
主要内容:常用源码编辑工具介绍,集成开发工具介绍本节介绍一下 Java 常用的几个开发工具。下面这些工具或许功能和作用不同,但是有着一个共同的主旨,那就是——它们都是为了给 Java 编码和开发提供卓越的支持。 常用源码编辑工具介绍 Java 源代码本质上其实就是普通的文本文件,所以理论上来说任何可以编辑文本文件的编辑器都可以作为我们的 Java 代码编辑工具。比如:Windows 记事本,Mac OS X 下的文本编辑,Linux 下的 vi
development tool(开发工具) LoopBack 提供了两组基本的应用开发工具: slc loopback, 是个命令行工具用于创建和修改LoopBack应用。 StrongLoop Arc, 是个图形化工具拥有开发,部署和监控LoopBack应用。 slc 命令行 slc 命令行工具将辅助开发人员在整个开发周期中生成和修改各种应用组件: 使用应用生成器 迅速生成原型应用(scaff
测试是 Web 应用开发过程中不可获缺的工作。Nuxt.js 尽量帮助你简化这部分工作。 端对端测试 ava是一个很强大的 JavaScript 测试框架,结合jsdom,我们就可以轻松地给nuxt应用进行端对端测试。 首先,我们需要添加ava和jsdom作为项目的开发依赖: npm install --save-dev ava jsdom 然后在package.json中添加测试脚本,并配置