Less Code——For the Best Android Tools Library

Overview

  • support more effective methods than android
  • high performence
  • easy integration
  • small size (only 45k~ by proguard)
  • open source

LessCode

less code, more efficient for android, for the best android tools library!

中文版文档

Gradle

1
compile('com.jayfeng:lesscode-core:2.1')

Features

源码 备注
ActivityLess Activity相关辅助类:去标题,全屏,两次退出提示,优化Overdraw背景等
AdapterLess 打造通用的BaseAdapter,PagerAdapter,RecyclerView.Adapter等
AlarmLess 定时器相关
AppLess 获取应用版本,名称,签名,清理缓存等
BitmapLess Bitmap处理相关
CacheLess 缓存网络请求返回的json
DeviceLess 获取设备信息,比如mac
DisplayLess 屏幕相关,比如dp和px的转换,状态栏或者标题栏的高度,dpi判断
DrawableLess 通用的着色方案
EncodeLess md5加密
FileLess 文件处理相关
HttpLess 简单的Http工具类,如果是专业用途还是用其他更强大的第三方库吧
ImageLess 图片相关
KeyBoardLess 输入法的弹出或隐藏
LogLess 强大的Log库
NetworkLess 网络判断
ResourceLess 根据资源名获取ID
SerializeLess 序列化和反序列化
SharedPreferenceLess 简化和增强SharedPreference的操作
StorageLess 手机存储相关,包括:手机内存,内置存储卡(Sdcard),外置存储卡(ExtSdcard)
ToastLess 简化Toast的使用
UpdateLess/UpdateService 简单但完整的自动更新实现,无缝对接(已分离到LessCode-Update项目)
ViewLess 简化繁琐的findViewById和强制转换

Usage

####Config

  • Required

    1
    2
    3
    $.getInstance()
    .context(getApplicationContext())
    .build();
  • Optional

    1
    2
    3
    4
    5
    6
    $.getInstance()
    .context(getApplicationContext())
    .log(BuildConfig.DEBUG, "LESSCODE") // LogLess - debug, tag
    .update(null, 5) // UpdateLess - null means the default value, 5 is the notification frequent, default is 5
    .http(5000, 5000) // HttpLess - default connect and read timeout
    .build();

####Android VS LessCode

  • ViewLess

    1
    2
    3
    4
    5
    // 强制转化View类型
    // Before
    ListView listView = (ListView) findViewById(R.id.list);
    // After
    ListView listView = ViewLess.$(this, R.id.list);
  • ActivityLess

    1
    2
    3
    4
    5
    6
    7
    8
    9
    // 无标题全屏
    // Before
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    WindowManager.LayoutParams.FLAG_FULLSCREEN);
    // After
    ActivityLess.$noTitle(this);
    ActivityLess.$fullScreen(this);

Proguard

1
-dontwarn com.jayfeng.lesscode.**

See more details on the Wiki

Alternative libraries

Reference

[1]LessCode