afkt / devutils Goto Github PK
View Code? Open in Web Editor NEW:fire: ( 持续更新,目前含 300+ 工具类 ) DevUtils 是一个 Android 工具库,主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用。该项目尽可能的便于开发人员,快捷、高效开发安全可靠的项目。
License: Apache License 2.0
:fire: ( 持续更新,目前含 300+ 工具类 ) DevUtils 是一个 Android 工具库,主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用。该项目尽可能的便于开发人员,快捷、高效开发安全可靠的项目。
License: Apache License 2.0
Caused by: java.lang.NumberFormatException: For input string: "msf:1160391"
建议参考https://blog.csdn.net/jingzz1/article/details/106188462/
我系统AndroidQ遇到的
最好是加个获取当前农历日期的工具类
https://my.oschina.net/lanyu96/blog/3059730
AppUtils.openWordFile() 应该是打开Microsoft word文件,而不是PDF
设备是雷电模拟器4.0.68
安卓版本是25
使用 ToastUtils.showShort("跳过广告") 的时候报错
java.lang.Exception: Toast callstack! strTip=跳过广告
at android.widget.Toast.show(Toast.java:130)
at dev.utils.app.toast.ToastUtils.lambda$priShowToastText$0(ToastUtils.java:504)
at dev.utils.app.toast.ToastUtils$$ExternalSyntheticLambda1.run(D8$$SyntheticClass)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6161)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:892)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)
复现步骤:
修改 多个alias
如 :
@module(alias = "IM 模块")
private class IM {
@Environment(value = "https://im.release.com/", isRelease = true, alias = "线上@环境")
private String release;
@Environment(value = "https://im.debug.com", alias = "测试@环境")
private String debug;
}
能否把蓝牙相关的加上
狗都不用
1.期待加入获取电量相关的封装
https://blog.csdn.net/qq_45146250/article/details/125314489
https://blog.51cto.com/u_14523369/6153404
https://www.orcode.com/question/784601_k5b833.html
2.LogPrintUtils感觉改为LogUtils更方便调用
AlarmUtils.java
建议增加requestCode 支持多个闹钟设置
如果可以的话,增加一个:是否拥有文件夹或文件读写的权限判断
Failed to resolve: DevAppX-2.0.6
建议单独出一个库(如果有时间),毕竟版本适配对于小白各个方面不是很周到,需要一个傻瓜式的,可以按照file的api命名编写,无需其他使用成本,直接过渡,库内判断android版本,对于增删改查,移动复制删除,一条命令自动对应当前android版本执行适用于当前系统版本的命令,使用者只需按照之前的File的api使用,库内直接封装好各个版本的适配api
老大,如题这个类好像找不到
我好像没发现有唉
在使用DevEnvironment ,发现demo再使用过程中会出现如下问题 ,华为8.10 10.0.0 都有这个报错信息 ,权限都已获取到;
java.io.FileNotFoundException: /data/user/0/afkt.project/cache/DevEnvironment/MODULE_MAP: open failed: ENOENT (No such file or directory)
2020-11-24 19:24:28.620 26996-26996/afkt.project W/System.err: at libcore.io.IoBridge.open(IoBridge.java:496)
2020-11-24 19:24:28.620 26996-26996/afkt.project W/System.err: at java.io.FileInputStream.(FileInputStream.java:159)
2020-11-24 19:24:28.620 26996-26996/afkt.project W/System.err: at dev.environment.DevEnvironment.readStorage(DevEnvironment.java:588)
2020-11-24 19:24:28.620 26996-26996/afkt.project W/System.err: at dev.environment.DevEnvironment.getMapEnvironment(DevEnvironment.java:395)
2020-11-24 19:24:28.620 26996-26996/afkt.project W/System.err: at java.lang.reflect.Method.invoke(Native Method)
2020-11-24 19:24:28.620 26996-26996/afkt.project W/System.err: at dev.environment.Utils.getModuleEnvironment(Utils.java:116)
2020-11-24 19:24:28.620 26996-26996/afkt.project W/System.err: at dev.environment.AdapterItem.refreshHashCode(AdapterItem.java:75)
2020-11-24 19:24:28.620 26996-26996/afkt.project W/System.err: at dev.environment.DevEnvironmentActivity.onCreate(DevEnvironmentActivity.java:94)
2020-11-24 19:24:28.620 26996-26996/afkt.project W/System.err: at android.app.Activity.performCreate(Activity.java:8066)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at android.app.Activity.performCreate(Activity.java:8054)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1313)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3733)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3939)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2373)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at android.os.Looper.loop(Looper.java:213)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at android.app.ActivityThread.main(ActivityThread.java:8147)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at java.lang.reflect.Method.invoke(Native Method)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at libcore.io.Linux.open(Native Method)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:8015)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: at libcore.io.IoBridge.open(IoBridge.java:482)
2020-11-24 19:24:28.621 26996-26996/afkt.project W/System.err: ... 22 more
可以把GsonUtils也加进去
/**
* 按质量压缩 ( 图片大小 )
* @param bitmap 待操作源图片
* @param maxByteSize 允许最大值字节数
* @return 质量压缩过的图片
*/
public static Bitmap compressByByteSize(final Bitmap bitmap, final long maxByteSize) {
return compressByByteSize(bitmap, Bitmap.CompressFormat.JPEG, maxByteSize, null);
}
/**
* 按质量压缩 ( 图片大小 )
* @param bitmap 待操作源图片
* @param format 图片压缩格式
* @param maxByteSize 允许最大值字节数
* @return 质量压缩过的图片
*/
public static Bitmap compressByByteSize(final Bitmap bitmap, final Bitmap.CompressFormat format, final long maxByteSize) {
return compressByByteSize(bitmap, format, maxByteSize, null);
}
你好,请问ShortCutsUtils中addShortcut()的变量clasName是不小心打漏了个s还是故意的 (className->clasName) ,在研究怎么用时发现少了个s
DateUtils.isInTimeHHmmss("7:00","7:00")返回false
如果startTime和endTime相同的话
startTime应该是为今天的时间 endTime应该为第二天的时间
com.github.afkT:DevUtils:1.7.6@aar
当下面三行同时执行
SharedUtils.put(“k”,v);
android.os.Process.killProcess(android.os.Process.myPid());
finish();
的时候,有时候数据是保存不成功的。
单单执行SharedUtils.put(“k”,v);
是没问题的。
SPUtils总是报java.lang.ClassCastException,搞得都不知道到底存的啥,取得啥了!希望能改改~
建议增加代码【获取所有已安装的应用】和【获取所有 能够显示在 桌面上的 应用】
获取所有已安装的应用
private List<String> getInstalledPackages(Context context) { List<String> installedPackageList = new ArrayList<>(); List<PackageInfo> installedPackageInfoList = context.getPackageManager().getInstalledPackages(PackageManager.MATCH_UNINSTALLED_PACKAGES); for (PackageInfo packageInfo: installedPackageInfoList) { installedPackageList.add(packageInfo.packageName); } return installedPackageList; }
获取所有 能够显示在 桌面上的 应用
`private List getAllLauncherIconPackages(Context context) {
List launcherIconPackageList = new ArrayList<>();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
//set MATCH_ALL to prevent any filtering of the results
List<ResolveInfo> resolveInfos = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_ALL);
for (ResolveInfo info: resolveInfos) {
launcherIconPackageList.add(info.activityInfo.packageName);
}
return launcherIconPackageList;
}
`
如题
//PermissionActivity 内部activity
protected static void start(final Context context) {
//源码
Intent starter = new Intent(context, PermissionActivity.class);
starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(starter);
//可以修改为
Uri packageURI = Uri.parse("package:" + AppUtils.getPackageName());
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, packageURI);
context.startActivity(intent);
}
NetworkInfo#isConnected()
在Android API 28
中就是nInfo.getState() == State.CONNECTED
NetworkInfo#isAvailable()
在Android API 28
被弃用了
android.net.NetworkInfo
在Android Q
会被弃用
官方文档: android.net.NetworkInfo
为啥单独引入抓包工具就报这个错误
我之前写了个工具类,就是通过包名,反射获取资源id,value,这个你要么,要的话我回头整理下发你,你塞里吧
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.