xuanu / UsingCommon

收集一点公共类,大部分是挑出来的。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UsingCommon

收集一点公共类,大部分是挑出来的。

本库暂时没有引用第三方的包,尽量做到最少。

引用方法:

类说明
View.setOnClickListener(new OnClickFastListener(){});
View.setOnClickListener(new OnClickFastListener(time){});
  • ZGesture;手势监听类,监听了单双指的很多事件

写得不太好,弃用。 事件见:OnGesture; //使用方法与GestureDetector一致,仅对其进行封装,方便使用 ZGesture(context,OnGesture).onTouchEvent(event)

  • MediaUtils; 封装了本地文件的MediaPlay播放,支持连续播放多个。
MediaUtils.getInstance().play(String paths);//播放音频,只支持本地
MediaUtils.getInstance().play(String paths,OnPlayer pOnPlayer);//OnPlayer只写的stop回调
MediaUtils.getInstance().play(List<String> paths,OnPlayer pOnPlayer);
MediaUtils.getInstance().stop();//停止播放
按理说应该也可以播放网络视频。
一个音频出错,会播放下一个。
  • SoundUtils;仅仅记录了如何使用。

  • doAsync;防止内存泄露的异步线程,常用。 new doAsync<Void,Void,Void>(context).execute();

  • WeakHandler;防止泄露的Handler; new WeakHandler(new Handler.Callback(){...})

  • ViewUtils;//对View的一些操作

ViewUtils.INSTANCE.getMeasureSize(measureSpace,defautSize);//获取测量大小,onMeasure时使用
ActivityUtils.INSTANCE.bgAlpha(this,0.5f);//设置背景透明度
IntentUtils.INSTANCE.openCamera(activity,file,code);//打开相机拍照
IntentUtils.INSTANCE.openGallery(activity,code);//打开相册选图片
IntentUtils.INSTANCE.getGalleryPath(activity,code);//选完相册图片后,用这个得到路径
IntentUtils.INSTANCE.openPhone(context,number:Int=1);//打电话
IntentUtils.INSTANCE.openSetting(context);//打开系统设置
IntentUtils.INSTANCE.openCamera(context);//打开相机,啥都不做
IntentUtils.INSTANCE.openSms(context,number:Int=1,content="");//发短信
IntentUtils.INSTANCE.openRecord(context);//打开录音机
IntentUtils.INSTANCE.openPeople(context);//打开通讯录
IntentUtils.INSTANCE.openWifiSetting(context);//打开网络设置
putString(context,key,string);
getString(...)
putInt(...)
getInt(...)
putLong(...)
getLong(...)
putFloat(...)
getFloat(...)
putBoolean(...)
getBoolean(...)
  • L;日志打印类,同Log

默认不输出日志,请使用下面的方法修改,在App模块调用L.isDebug=BuildConfig.DEBUG; L.INSTANCE.isDebug,可以控制是否打印日志,发包时就可以关闭。

FontUtils.INSTANCE.fontHeight(fontsize);//获取字体高度

使用isWifi或isMobile时,请先判断网络是否连接。

NetUtils.INSTANCE.isConnected(context);//网络是否可用(不是是否连接)
NetUtils.INSTANCE.isWifi(context);//WIFI
NetUtils.INSTANCE.isMobile(context);//流量
NetUtils.INSTANCE.openSetting(activity); //打开设置界面
NetUtils.INSTANCE.getWifiIp();//获取本机的ip ,需要网络开启,权限:android.Manifest.permission.INTERNET。
NetUtils.INSTANCE.getMac();//获取本机mac;需要网络开启,权限:android.Manifest.permission.INTERNET  参考:[android4.0-7.0获取mac地址,方法是google提供。](http://blog.csdn.net/dazhang357/article/details/73903831);

默认实现了按下的效果,文字颜色的变化是用当前文字的透明度*0.5来实现的。 单独启了个工程来做这个,方便单独引用,感觉常用。DarkViews;

 * <li>{@link PackageUtils#installNormal(Context, String)}</li>//安装程序,普通方式。
 * <li>{@link PackageUtils#installSilent(Context, String)}</li>//安装程序,静默安装
 * <li>{@link PackageUtils#install(Context, String)}</li>//安装程序,静默优先
 * <li>{@link PackageUtils#uninstallNormal(Context, String)}</li>//卸载程序,普通方式。
 * <li>{@link PackageUtils#uninstallSilent(Context, String)}</li>//卸载,静默
 * <li>{@link PackageUtils#uninstall(Context, String)}</li>//卸载,静默优先
 * <li>{@link PackageUtils#isSystemApplication(Context)}</li>//是否系统应用
 * <li>{@link PackageUtils#isSystemApplication(Context, String)}</li>//指定应用是否为系统应用
 * <li>{@link PackageUtils#isSystemApplication(PackageManager, String)}</li>//指定应用是否为系统应用
 * <li>{@link PackageUtils#getInstallLocation()} get system install location</li> //
 * <li>{@link PackageUtils#startInstalledAppDetails(Context, String)} start InstalledAppDetails Activity</li>  //打开已安装应用详情
  • UsageStatsUtils;//用于获取最近运行的程序,配合AppUtils#getTopPackageName();使用
UsageStatsUtils.hasUsageOption(context);//有无有UsageStats的选项
UsageStatsUtils.isOpen(context);//打开状态
UsageStatsUtils.openUsageSetting(activity,int code);//打开开关,只有用户打开了本程序的这个选项,才能统计最近应用的信息
 AppUtils.getApps(context,type:int);//获取本机应用:0用户安装的,1系统应用,2全部应用
 AppUtils.isPackageExist(context,packagename);//指定包名是否安装
 AppUtils.getHasMainInfo(context);//本机带启动界面的应用列表
  AppUtils.getTopPackageName(context,defaultTime:Int=5);//获取最后运行的应用,当前运行的应用  。
AssetsUtils.fileString(context,fileName);//获取指定文件的内容,filename可以带路径
FileUtils.read(path);//读取文件内容
FileUtils.write(path,content,append);//写入文件,是否追加
FileUtils.deleteFiles(path);//删除文件或文件夹
FileUtils.getFileMd5(file);//读取文件MD5
FileUtils.copy(input,output)//拷贝文件
FileUtils.copyFile(input,output);//拷贝文件
FileUtils.copyFolder(input,output);//拷贝文件夹
openFiles(Context context, Uri uri, String suffix)
getSuffix(String filePath)
//传入Uri,可以适配7.0以后的文件 权限
//Uri tempUri = FileProvider.getUriForFile(pContext, "zeffect.cn.apks.filemanager", new File(param));
//7.0以下可以传入Uri.from(new File(path));

-Mp3Utils;//mp3相关

heBingMp3(File savePath, String... paths); //合并MP3
clip(String inputPath, String outputPath, int start, int end);//裁剪MP3

-ZUtils;//增加一些未知归类

fun removePunctuation(input: String);//去掉标点。

Application onCreate时:ExceptionHandler.getInstance().init(applicationContext),就可以了。

getImgStr(str);//查找html中的图片地址。
findEngWords(str,minlength);分隔英文单词
appendImgHead(html,imgHead);//如果html里的图片没有带http://头,可以添加默认的头
ScreenDensity.setDensity(application,with);//Application.onCreat中调用,具体实现参考:https://blog.csdn.net/u013000152/article/details/80855315

About

收集一点公共类,大部分是挑出来的。


Languages

Language:Java 59.4%Language:Kotlin 40.6%