Coder Social home page Coder Social logo

litesuits / android-common Goto Github PK

View Code? Open in Web Editor NEW
3.6K 3.6K 1.1K 594 KB

Android Common Utils or Helper. Such as Log, Averager, Base64, Check, FlashLight, KeyguardLock, LogReader, Network, SilentInstaller, TimeAverager, TimeCounter, Toastor, WakeLock, ScreenReceiver, SmsReceiver, PhoneReceiver, NotificationService, AndroidUtil, AppUtil, BitmapUtil, ByteUtil, ClassUtil, DialogUtil, FieldUtil, FileUtil, HexUtil, MD5Util, NotificationUtil, NumberUtil, PackageUtil, RandomUtil, ShellUtil, TelephoneUtil, VibrateUtil, IOUtils, FileUtils, AsyncExecutor, etc. 通用性强,纯洁简单,体积不到50K!其中包括bitmap处理,文件操作,加密存储器,shell命令,静默安装,计数器,均值器,吐司,日志,校验,提示,网络监测等基础功能,以及一些Base64、MD5、Hex、Byte、Number、Dialog、Filed、Class、Package、Telephone、Random等工具类。

Home Page: http://litesuits.com?form=gcom

License: Apache License 2.0

Java 100.00%

android-common's People

Contributors

1049884729 avatar litesuits avatar luffykou avatar sloaix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-common's Issues

判断是否可以正常上网

Network这个类里面的方法只能判断是否有网络连接,不能判断能不能正常上网。
这两种情况怎么判断呢:

  1. 连接了CMCC网络,需要用户名 密码才能上网。
  2. MIUI系统,关闭WIFI,连接移动网络,在联网控制里对软件禁用移动网络。

建议增加获取存储空间

/**

  • 存储空间管理

*/
public class MemorySpaceCheck
{

/** 
 * 计算剩余空间 
 * @param path 
 * @return 
 */  
private static long getAvailableSize(String path)  
{  
    StatFs fileStats = new StatFs(path);  
    fileStats.restat(path);  
    return (long) fileStats.getAvailableBlocks() * fileStats.getBlockSize(); // 注意与fileStats.getFreeBlocks()的区别  
}  
  
/** 
 * 计算总空间 
 * @param path 
 * @return 
 */  
private static long getTotalSize(String path)  
{  
    StatFs fileStats = new StatFs(path);  
    fileStats.restat(path);  
    return (long) fileStats.getBlockCount() * fileStats.getBlockSize();  
}  
  
/** 
 * 计算SD卡的剩余空间 
 * @return 剩余空间 
 */  
public static long getSDAvailableSize()  
{  
    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))  
    {  
        return getAvailableSize(Environment.getExternalStorageDirectory().toString());  
    }  
      
    return 0;  
}  
  
/** 
 * 计算系统的剩余空间 
 * @return 剩余空间 
 */  
public static long getSystemAvailableSize()  
{  
    // context.getFilesDir().getAbsolutePath();  
    return getAvailableSize("/data");  
}  
  
/** 
 * 是否有足够的空间 
 * @param filePath 文件路径,不是目录的路径 
 * @return 
 */  
public static boolean hasEnoughMemory(String filePath)  
{  
    File file = new File(filePath);  
    long length = file.length();  
    if (filePath.startsWith("/sdcard") || filePath.startsWith("/mnt/sdcard"))  
    {  
        return getSDAvailableSize() > length;  
    }  
    else  
    {  
        return getSystemAvailableSize() > length;  
    }  
      
}  
  
/** 
 * 获取SD卡的总空间 
 * @return 
 */  
public static long getSDTotalSize()  
{  
    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))  
    {  
        return getTotalSize(Environment.getExternalStorageDirectory().toString());  
    }  
      
    return 0;  
}  
  
/** 
 * 获取系统可读写的总空间 
 * @return 
 */  
public static long getSysTotalSize()  
{  
    return getTotalSize("/data");  
}  

}

工具类非常棒

如果能将工程修改为AS结构,并提供gradle构建就更方便推广使用了

TelephoneUtil

TelephonyManager在Android平板上不存在,此处会报空指针异常。

create_and_add_modules.json

content://com.coloros.filemanager/root/storage/emulated/0/Download/safe-deployments-1.19.0/safe-deployments-1.19.0/src/assets/v1.1.1/create_and_add_modules.json

NotificationUtil报错

Notification.setLatestEventInfo方法在SDK API level 11被废弃, 到API level 23 从Notification删除。推荐使用Notification.Builder来实现消息通知功能。

BitmapUtil.saveBitmap()方法的图片质量和大小问题

有一行压缩代码如下:
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
因为大部分图片还是JPG的,这样会导致本来不大的jpg图片保存到本地后变的很大(100k的jpg保存到本地可能变成1M),而且这个质量参数也不能调。
我觉得这个方法可以优化。

shellutils出现的问题

操作如下命令
List commendList = new ArrayList<>();
commendList.add("adb shell");
commendList.add("mount -o remount /system");
commendList.add("cp -------.so /system/lib");
ShellUtil.CommandResult commandResult = ShellUtil.execCommand(commendList, false, true);

result = process.waitFor()执行到此处 没结果 怎么回事

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.