
Android
文章平均质量分 83
赵星海(深海呐)
山西人,目前在北京。
关注领域:移动开发,Java后端,Web前端,软件测试等
展开
-
Android 确保好使的网络状态监听
调用: MainActivity中。原创 2025-01-26 22:57:52 · 121 阅读 · 0 评论 -
Android gradle修改下载地址
干这么久 每次都是手动下载导入,最近换新电脑发现这东西,方便。原创 2025-01-26 10:31:23 · 112 阅读 · 0 评论 -
Android 分词的两种方式
本文分别介绍了原生分词和三方(Jieba分词)两种分词方式的使用和注意事项。原创 2024-12-04 18:29:24 · 1154 阅读 · 0 评论 -
Kotlin 位运算符
Kotlin 位运算符号以infix函数的形式表示如下:and(bits)位与 同Java &or(bits) 位或 同Java |inv(bits) 位非 同Java ~xor(bits) 位异或 同Java ^shl(...原创 2020-08-04 17:29:21 · 6716 阅读 · 1 评论 -
Kotlin 静态变量与静态方法详解
一. 伪静态(伴生对象)关键字:companion object 1.将变量和方法写在这个伴生对象中,外部就直接可以类名+点 调用。 2.但实际上在运行时,这些成员仍然是真实对象的实例的成员。属性修饰符解释: 1. const val :公共常量 ,且 const只能修饰 val 2. val :私有常量class Constant { companion object { const val NAME...原创 2020-09-03 13:56:38 · 1497 阅读 · 0 评论 -
Android 关于Handler机制的十个问题
1.Handler是什么?Handler机制主要为线程间通信而生,是Android中定义的一套消息传递机制。主要是为了解决子线程执行完耗时操作后,怎么回调到主(UI)线程的问题。2.Handler 的其他问题,待整理...原创 2020-08-12 15:52:34 · 606 阅读 · 1 评论 -
kotlin gson 转集合
val listType : Type = object : TypeToken<ArrayList<Bean_meal_all>>() {}.typeimport java.lang.reflect.Type原创 2020-09-27 18:41:18 · 1265 阅读 · 3 评论 -
Kotlin MutableList的多种创建方式
多种创建方式://第一种---------------------------------------------------------- val list: MutableList<Int> = mutableListOf<Int>() val list: MutableList<Int> = mutableListOf<Int>(1)//这里的1是元素 val list: MutableList<Int> = m原创 2020-10-20 09:33:26 · 10401 阅读 · 2 评论 -
Kotlin BigDecimal进位取整/现金收银推荐金额
我目前的点餐机项目,之前有一个需求:根据用户点餐后需要付款的金额,给出推荐现金数额。如下图 , 客户需支付5.5元,这边给出快捷收银预估值如下图,客户需要支付44元,这边给出快捷收银预估值这其实是4个宽度权重为1的TextView: fun initView(){ textCoin?.text = "" + getMoneyUp(mShouldPrice, 1) + "元" textCoin1?.text = "" + getMon...原创 2020-11-25 14:11:56 · 1093 阅读 · 3 评论 -
Kotlin 内联函数 let、with、run、apply、also 区别和用法
let 结构:fun <T, R> T.let(block: (T) -> R): R = block(this)返回值:闭包形式返回是否为扩展函数:是当前对象指代:it应用场景:一般用于判空with结构:fun <T, R> with(receiver: T, block: T.() -> R): R = receiver.block()返回值:闭包形式返回是否为扩展函数:否当前对象指代:this或省略应用场景:重复调用...原创 2021-08-11 18:22:51 · 720 阅读 · 1 评论 -
Android PopupWindow 覆盖状态栏的方法
简单记录一下哈!this.setClippingEnabled(false);原创 2020-06-05 17:01:49 · 3128 阅读 · 8 评论 -
Android 阿里云推送,针对安卓8.0、9.0以上系统收不到推送 的补丁文档
官方的文档地址:Android 8.0以上:https://help.aliyun.com/knowledge_detail/67398.htmlAndroid 9.0以上:https://help.aliyun.com/knowledge_detail/141757.html原创 2019-11-06 17:52:53 · 1423 阅读 · 3 评论 -
Android Google登录接入
在小型项目中,实现最简单最高效的网络请求封装 轻量化,不借助除okhttp以外的三方框架 单个类实现,且可读性高,扩展性高 最少的代码行数,最简单的调用方式。新版 Google Sign-In API | Authentication | Google for Developers。如果您发现文章有任何错误或建议,请评论区留言或者私信!深海谢过各位的支持,一起加油!原创 2024-11-21 17:50:01 · 2300 阅读 · 2 评论 -
Android AAPT: error: resource color 异常原因处理
【代码】Android AAPT: error: resource color 异常原因处理。原创 2023-09-05 17:00:57 · 3605 阅读 · 0 评论 -
Android 最新的AndroidStudio引入依赖失败如何解决?如:Failed to resolve:xxxx
当遇到Android项目出现大面积错误时,可以尝试通过重启Android Studio、清理和重建项目、检查环境配置、调整依赖库等步骤来解决问题。检查内容包括SDK和NDK配置、Gradle与JDK设置,以及使用阿里云镜像仓库解决网络限制。此外,注意Kotlin版本匹配和依赖关键字的正确使用,如implementation与api的区别。Android 项目编译报错或异常,有多少解决方案?如果您发现文章有任何错误或建议,请评论区留言或者私信!原创 2024-11-14 14:05:52 · 1015 阅读 · 0 评论 -
Android 用80行代码 封装最简单网络请求 HttpUtils
在小型项目中,实现最简单最高效的网络请求封装 轻量化,不借助除okhttp以外的三方框架 单个类实现,且可读性高,扩展性高 最少的代码行数,最简单的调用方式原创 2024-11-12 14:34:30 · 395 阅读 · 1 评论 -
Android TextView自动换行文本显示不全解决
只需要设置TextView一个属性就可以解决,这个属性比较冷门:breakStrategy。意为换行策略,将breakStrategy设置为“balanced”成功解决问题。原创 2024-11-04 15:09:06 · 1009 阅读 · 0 评论 -
Android kotlin密封类-基本使用
密封类(Sealed Classes)是一种特殊的类,它可以有一组受限的子类。与普通的基类不同,密封类的所有子类都必须在与密封类相同的文件中声明。这种限制使得密封类非常适合于表示固定的类层次结构,特别是在使用 when 表达式时。表示 UI 的不同状态,如加载、成功和错误。原创 2024-10-09 16:38:20 · 796 阅读 · 0 评论 -
Android Compose 控件基本属性
{Column { //竖向布局var newText by remember { mutableStateOf("默认") }NewText(NewTextField(fieldText, "随便输入点什么吧") {//输入监听事件Log.e(TAG, "输入内容:$it")NewButton("清空按钮") {//点击事件NewButton("跳转") {//点击事件Text(textAlign = TextAlign.Center, //文字居中。原创 2024-10-09 16:07:08 · 943 阅读 · 0 评论 -
Android Compose的基本使用
Compose这个东西呢,好处我没发现,坏处就是学习成本和低版本兼容.不过,看在官方力推的份儿上,有空就学一下吧.当初的kotlin,很多人说鸡肋(包括我)!现在不也咔咔用纯kotlin做项目吗?哈哈哈哈.未来的事情,谁说得清呢?1.简单的View排列放置以及基础属性2.View的事件监听和事件传递(如点击事件,输入事件)3.View的数据动态赋值(直接改变数据,UI自动改变) (数据必须由remember代理)) {Column { //竖向布局。原创 2024-09-29 18:22:55 · 906 阅读 · 0 评论 -
Android 已经过时的方法用什么新方法替代?
这个新方法,比原先从统一的onActivityResult()中拿结果要方便的多,且代码可读性更高。AppCompatActivity时显示过时。原创 2024-09-25 15:02:10 · 599 阅读 · 0 评论 -
Android String资源文件中,空格、换行以及特殊字符如何表示
例:test test 例:test \n test 例:test \t test 前面加转义符号“ \ ”即可 例:原创 2024-09-20 16:35:36 · 972 阅读 · 0 评论 -
Android 将EasyPermissions进一步封装,使得动态权限申请更加简明
***/// 用户给予相关权限成功后的回调) {// 进一步使用 EasyPermissions 处理后续结果// 授予权限.let {>) {// 请求权限被拒.let {= nullfun permissionsYes(code: Int) //获取授权成功fun permissionsNo(code: Int) //获取授权成功// 获取蓝牙相关的权限// 获取录音和前台服务权限// 添加录音权限// 根据 Android 版本添加前台服务权限。原创 2024-09-18 14:50:28 · 604 阅读 · 0 评论 -
Android 用线程池实现一个简单的任务队列(Kotlin)
_______________________________________________________________________如果您感觉文章有用的话麻烦点个赞吧.更多内推荐: https://blog.youkuaiyun.com/qq_39731011/category_9666859.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=9666859&sharerefer=PC&sharesource=qq_397310原创 2024-09-14 13:53:10 · 992 阅读 · 0 评论 -
Android AlertDialog圆角背景不生效的问题
【代码】Android AlertDialog圆角背景不生效的问题。原创 2024-09-13 16:24:26 · 891 阅读 · 0 评论 -
Kotlin 代替Java接口回调,就这么简单
通常三步:1 定义接口和方法;2 使用接口中方法;3 继承接口并实现方法;1定义抽象方法 2 直接调用 3直接实现。使用Kotlin呢?原创 2024-09-11 17:22:48 · 405 阅读 · 0 评论 -
Android 语言国际化三步
1.罗列: 可以多罗列几个 不需要全部实现。res下创建这个文件:locale-config。每次切换完->存缓存>然后立即调用以下代码。刚进入的时候调用一次以下代码。原创 2024-09-10 16:32:54 · 749 阅读 · 3 评论 -
Android 蓝牙三方和动态权限三方
FastBle是一个开源的Android BLE库,旨在简化和加速Android平台上的蓝牙低功耗(BLE)开发。它提供了一组易于使用的API和丰富的功能,使开发者能够快速构...FastBle:Android BLE通信库的介绍与高级用法 - 简书。原创 2024-09-10 16:13:37 · 683 阅读 · 0 评论 -
Android 使用JSON动画:Lottie框架基本使用
把第二步控件lottie_fileName属性的xxx.json换成你扔的文件名称(切记名字后缀带上)多半是因为Json文件名字错误,结尾没有把".json"后缀写上,注意: 相关配置属性也可以用代码进行配置。或者是文件名里有空格,两边对不上.我写文章时最新版本是6.5.2。原创 2024-09-06 14:22:26 · 996 阅读 · 0 评论 -
App上架应用市场操作流程
言简意赅,介绍产品的核心功能。描述你的app是什么类型,是游戏,工具还是社交等,要遵守广告法、新闻语等规则,两三句话描述app的核心特色,用几个短段落来阐述app的功能特色,最好写上联系方式,微博微信网站等。原创 2022-11-11 17:11:51 · 1557 阅读 · 2 评论 -
Android Gradle 插件版本对应图
C:\Users\当前用户\.gradle\wrapper\dists 目录下新生成的目录(在线下载新生成的目录)中;原创 2022-08-01 16:24:02 · 523 阅读 · 0 评论 -
Flutter 环境变量配置和flutter doctor中的错误解决
运行命令flutterdoctor--android-licenses然后根据提示一直回复“y”表示同意授权,直到结束。这边尽量下载最新的,或者和我这边一样也可以,默认视图可能和截图不一致,勾选右下角的对勾即可切换成图中的视图样式。如果您不开发windowsphoneapp,直接忽略这个错误即可。要是能够得到您的关注,深海会更加荣幸,感谢各位的支持!如果您感觉深海写的不错的话,请给文章点个赞吧~右键点击我的电脑-属性然后找到环境变量。2.运行命令flutterdoctor。...原创 2022-07-29 15:30:23 · 4695 阅读 · 1 评论 -
Android 在原生项目中新建一个Flutter的Module
这个地址的两个xxx,第一个改成你的旧项目名,第二个改成刚刚建的Flutter项目名,这里的结构以您的实际情况为准。插件安装完后会提示重启AndroidStudio,重启完毕后进行第三步;要是能够得到您的关注,深海会更加荣幸,感谢各位的支持!Dart插件的作用是Dart语法的提示和补全等功能。创建完成后,将这个Flutter项目拷贝到旧项目下。等同步完成后,你会发现项目中多了一个这个文件夹。如果您感觉深海写的不错的话,请给文章点个赞吧。如果您有不同的见解或疑问,欢迎到评论区留言。至此结束,目的达成。....原创 2022-07-25 17:54:43 · 1920 阅读 · 1 评论 -
Android ScrollView嵌套RecyclerView要做的三件事儿
这样做为什么?解决RecyclerView展示不全的问题。二、禁止RecyclerView的纵向滑动(横向同理): 这样做为什么?解决RecyclerView滑动无惯性问题,解决滑动显示头尾阻尼问题。 三、禁止RecyclerView的默认聚焦: 这样做为什么?解决RelativeLayout处于非顶部,却在加载后处于页面顶部的问题kotlin版的两项配置:文章到这里就结束了。如果您有不同的见解,或者疑问的话,欢迎到评论区留言。如果您感觉原创 2022-06-21 15:27:42 · 4528 阅读 · 6 评论 -
Android 配置简便的时间选择器 PickerView
GitHub官方地址:https://github.com/Bigkoo/Android-PickerViewhttps://github.com/Bigkoo/Android-PickerView1、导入依赖:2、在使用前初始化:2、触发显示: 文章到这里就结束了,如果您有不同的见解或者有疑问的话欢迎到评论区留言。如果您感觉深海写的不错的话,请给文章点个赞吧,感谢各位的支持!...原创 2022-06-20 12:01:34 · 1269 阅读 · 3 评论 -
Android 架构设计(五):命名规范与层级规范
关于架构设计的总结,深海目前先总结到这里,以后会不会再写《架构设计(六)》《架构设计(七)》呢?其实我没有想好,因为这里面的东西太多了,自己知道的却很少,但是深海愿意不断的学习和不断的进取,希望能够跟大家分享更多的想法。t=O83At=O83At=O83At=O83At=O83AAndroid 架构设计(一):设计模式分析_深海呐的博客-优快云博客_安卓开发框架设计模式很多人把无架构定为MVC ,这边深海要纠正一下,无架构!= MVCMVC与MVC的核心区别:View和Model禁止直接通信。原创 2022-05-09 17:57:30 · 1908 阅读 · 2 评论 -
Android 点击软键盘“下一项”引起崩溃如何解决?为什么会崩溃?
某种情况下,点击EditText吊起软键盘后,再点击软键盘中的“下一项”或者“下一步”按钮时崩溃?一、场景演示二、报错提示focus search returned a view that wasn't able to take focus!翻译:三、问题解决在吊起键盘的EditText中加上这条属性:android:imeOptions="actionDone"如下: <EditText android:layou.原创 2022-04-20 17:55:50 · 1973 阅读 · 1 评论 -
Android EditText如何在最好的时机判断输入长度超出
可能有人会说,可以用setOnEditorActionListener监听回车事件啊,但是我这边经过严格测试,很多情况下用户输入文字时不会触发其回调,用户可以点击输入提示的预选栏进行输入,预选栏有内容时点回车也不会触发,只有单击部分具体按钮的时候会有回调,比如回车删除等。首先从代码设计的角度就不推荐该方案,因为一个是局部限制一个是全局监听,职责交叉使得程序混乱。其次这边还需要在回调中判断按键是否是键盘按键,因为返回键,Home键,等其他键也会触发该监听。原创 2022-04-06 15:54:50 · 3113 阅读 · 0 评论 -
Android Git忽略文件未生效的解决方案
解决方案 三步解决:第一步打开 Android studio 的命令窗口 Terminal第二步,在命令行依次运行以下命令(不可忽视最后的空格与点)git rm -r --cached .git add .git commit -m 'update .gitignore'第三步,重新提交代码!这时候你就会看到忽略文件已经生效,本次提交将删除远程已被忽略的文件。如果此方案有解决您的问题,麻烦给深海点赞或者关注收藏哦!...原创 2022-04-01 15:43:34 · 3291 阅读 · 2 评论 -
Android 使用电脑查看手机应用数据库内容:Debug-Database
这边介绍安卓应用数据库查看工具 Debug-Database 的使用。介绍:该工具来源于:https://github.com/amitshekhariitbhu/Android-Debug-Database集成到app中的话,可以在电脑端输入http://localhost:8080来查看app的数据库内容界面如下:点击 Run Queey 可以运行上方输入框的SQL语句也可以在下面小框进行模糊查询集成:build.gradle中添加:dependen原创 2022-03-29 15:35:01 · 4147 阅读 · 0 评论