国内链接gitee
安卓App工具类和模板代码,工具类一般可以直接使用,模板类主要用来参考,引入到自己的项目时可能会报错,请自行修改。
开发安卓前,请去了解 Jetpack 和 Hilt,能使你的开发方便很多。
- 获取全局Context的工具类,无须传入Context;get_context_no_dependence_anything/
- Utils工具;Utils.java 包含:获取MIME类型、判断字符串是否为IP地址(模板)、分享到第三方(不用集成第三方SDK)、WiFi连接判断、获取其他语言的字符串、HarmonyOS判断、HarmonyOS系统版本号获取、判断activity是否正在显示
- AES加解密,字节数组与16进制字符串互转;aes/、Android 加密工具、Android 密钥库系统
- App启动icon不显示在 Launcher 上的方法:在启动 Activity 的 intent-filter 中加点料
- 获取视频文件的第一帧,远程或本地视频都可
- RecyclerView分组的模板代码;recyclerview_group/
- 自定义HUD指示器模板代码,改造AlertDialog,可以禁止用户交互和允许用户交互;ProgressHUD.java
- 获取本地图片或视频的缩略图;ThumbnailImage.java
- 安卓8.0官方BottomNavigationView使用的问题;BottomNavigationFragment.java
- Fragment的壳Activity,主要是想App就用这一个Activity就够了,其他的都用Fragment;fragment_activity/
- 使用系统的文件多选,文件夹(目录)选择器;FileMultipleSelectionFragment.java
- 自定义改造Toast;ToastUtils.java
- Okhttp3上传或者下载文件的模板;OkHttp3UploadDownload.java
- WebView常用设置,文件选择适配;WebViewActivity.java
- UDP模板;UDP.java
- 给RecyclerView的Item添加上下文菜单(ContextMenu)和点击事件(onClick)模板,极简;RecyclerViewItem.java
- 获取外置SD卡(TF卡)的绝对路径;SdcardFragment.java
- 修改AlertDialog的主题;AlertDialogTheme.java、R.style.AlertDialog
- 仿iOS的弹出框,但API和AlertDialog.Builder一致;AlertDialogTheme.java#Builder、R.style.AlertDialogTheme
- 使用DownloadManager下载APK,并且安装;DownloadUtils.java、FileProvider
- BottomSheetDialog去掉背景,方便自定义圆角等;BottomSheetDialogTheme.java、R.style.BottomSheetBgNullTheme
- 仿iOS导航箭头图标,用的矢量图(vector),去掉了系统创建vector的多余的空白;R.drawable.v_back、R.drawable.v_next
- 单击时间间隔控制,使用的是聚合模式,而不是abstract类;SingleClickController.java
- 多击(谷歌工程师写的),使用的是聚合模式;MultipleClicksController.java
- 系统日历事件提醒增删和系统闹钟增删;CalendarAndAlarmClock.java
- 透明状态栏,App顶部栏与状态栏(StatusBar)颜色一体化,沉浸(jin)式状态栏;R.style.TranslucentBarTheme、API>=30透明状态栏,及延长启动页(可当广告页)时间;TranslucentBarActivity.java
- 最简、最省存储的启动页设置;R.style.LauncherTheme
- 获取WiFi列表,获取当前链接的WiFi名称,API>=29连接WiFi,扫描WiFi和蓝牙等外设的建议;WiFiActivity.java
- 图片创建缩略图;ThumbnailImage.java#createThumbImage
- 文字转语音(TTS);UtilTemplates.java#speak
- 获取对应 density 下的原图;UtilTemplates.java#getNoScaledImage
- 获取剪切板的内容;UtilTemplates.java#getClipboardText
- 获取指定文件夹大小;UtilTemplates.java#getDirSize
- 获取存储可用空间大小;UtilTemplates.java#getAvailableSpace
- 各种自建证书加载;UtilTemplates.java#getSSLSocketFactory
- 自定义悬浮可拖动按钮;FloatDragBtnActivity.java
- 安卓自带图片选择器的正确打开方式;ImagePickActivity.java
- EditText输入限制;UtilTemplates.java#editTextLimiter
- 把本地 aar 文件发布到本地 maven 源,可以像远程 maven 库一样引入
- 并发:ReentrantLock CountDownLatch CyclicBarrier Phaser ReadWriteLock StampedLock Semaphore Exchanger LockSupport Condition