An open API service indexing awesome lists of open source software.

https://github.com/pikachu0621/myutils

自用 - Android utils 工具类
https://github.com/pikachu0621/myutils

android java jitpack-android

Last synced: 4 months ago
JSON representation

自用 - Android utils 工具类

Awesome Lists containing this project

README

          

自用Android工具类
=====
[![第版本4](https://jitpack.io/v/pikachu0621/MyUtils.svg)](https://jitpack.io/#pikachu0621/MyUtils)


[Github地址](https://github.com/pikachu0621)

适配器
------
> RecyclerView 适配器

`BaseAdapter`

`QuickAdapter`

> ViewPager 适配器

`PagerAdapter`

`PagerAdapter2`

基类
------
> Activity

`BaseActivity`

> Fragment

`BaseFragment`

> 对话框

`BaseDialog`

`BaseBottomSheetDialog`

`BasePopupWindow`

工具类
-------
> Activity堆栈管理工具类
`AppManagerUtils`

> Assets文件管理工具类
`AssetsUtils`

> Base64工具类
`Base64Utils`

> bitmap图片工具类
`BitmapUtils`

> 设备工具信息工具
`EquipmentUtils`

> 文件工具类
`FileUtils`

> glide图片加载工具类
`GlideUtils`

> 系统http工具类
`LoadUrlUtils`

> log日志工具类
`LogsUtils`

> 网络检测工具类
`NetUtils`

> SharedPreferences本地xml储存工具类
`SharedPreferencesUtils`

> 时间工具类
`TimeUtils`

> Toast工具类
`ToastUtils`

> Ui相关工具类
`UiUtils`

使用
====

导入
----

1. 项目build.gradle导入

```groovy
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
```

2. app build.gradle导入

```groovy
dependencies {
implementation 'com.github.pikachu0621:MyUtils:0.0.4'
}
```

3. 在app build.gradle 开启 viewBinding

```groovy
android {
...
viewBinding {
enabled = true
}
}
```

QuickAdapter (RecyclerView单布局)
---

```java
public class TestQuickAdapter extends QuickAdapter {

public TestQuickAdapter(List data) {
super(data);
}

@Override
public void onQuickBindView(ActivityMainBinding binding, String itemData, int position, List data) {

}
}
```

BaseAdapter (RecyclerView多布局)
---

```java
public class Test2QuickAdapter extends BaseAdapter {

public Test2QuickAdapter(List data) {
super(data);
}

@Override
public Class extends ViewBinding> onCreateView(ViewGroup parent, int viewType) {
// 根据 viewType 返回布局 Binding
if (viewType == 1) {
return ActivityMainBinding.class;
} else if (viewType == 10) {
return ActivityMainBinding.class;
}
return ActivityMainBinding.class;
}

@Override
public void onBindView(ViewBinding binding, String itemData, int position, int itemViewType, List data) {

}

@Override
public int getItemViewType(int position, String itemData) {
//根据position 返回 viewType
return 0;
}
}
```

Activity用法
---

```java
public class MainActivity extends BaseActivity {
@Override
protected void initActivity(Bundle savedInstanceState) {
// 业务逻辑
// binding.getRoot().setVisibility(View.VISIBLE);
}
}
```

Fragment用法(支持懒加载)
----

```java
public class MainFragment extends BaseFragment {

@Override
protected void onInitView(Bundle savedInstanceState, FragmentMainBinding binding, FragmentActivity activity) {
// 业务逻辑
// binding.getRoot().setVisibility(View.VISIBLE);
}

@Override
protected void lazyLoad() {
// 懒加载 第一次对用户可见时调用
// binding.getRoot().setVisibility(View.VISIBLE);
}
}
```

对话框
---

```java
public class TestDialog {

private final Context context;
public TestDialog(Context context) {
this.context = context;
}

/**
* 普通对话框
* 背景默认透明
*/
public void testBaseDialog(){
BaseDialog dialog = new BaseDialog(context) {
@Override
protected void onViewCreate(ActivityMainBinding binding) {
// 业务逻辑
// binding.getRoot().setOnClickListener();
}
};
dialog.show();
}

/**
* 底部弹出对话框
* 背景默认透明
*/
public void testBaseBottomSheetDialog(){
BaseBottomSheetDialog dialog = new BaseBottomSheetDialog(context) {
@Override
protected void onViewCreate(ActivityMainBinding binding) {
// 业务逻辑
// binding.getRoot().setOnClickListener();
}
};
dialog.show();
}

/**
* 控件悬浮对话框
* 背景默认透明
*/
public void testBasePopupWindow(View view){
BasePopupWindow dialog = new BasePopupWindow(context) {
@Override
public void onViewCreate(ActivityMainBinding binding) {
// 业务逻辑
// binding.getRoot().setOnClickListener();
}
};

dialog.showAsTop(view);
}
}
```

持续添加中
---

混淆
-------

```pro
-keep class com.pikachu.databinding.* {*;}
```