Best android open-source packages and libraries.

Android_App_Template

一些安卓App工具类和模板代码,极简/高效,大部分是直接使用官方SDK实现,很小一部分是改造官方SDK实现或者自己实现
Updated 1 month ago

Android_App_Template

国内链接gitee
安卓App工具类和模板代码,工具类一般可以直接使用,模板类主要用来参考,引入到自己的项目时可能会报错,请自行修改。
开发安卓前,请去了解 Jetpack 和 Hilt,能使你的开发方便很多。

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

长见识(自己去搜,去了解,去使用)

  1. 并发:ReentrantLock CountDownLatch CyclicBarrier Phaser ReadWriteLock StampedLock Semaphore Exchanger LockSupport Condition
Tags utils