自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赵星海的博客

业精于勤荒于嬉 行成于思毁于随

  • 博客(233)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java 定时任务-最简单的3种实现方法

一、TimerTimer是JAVA自带的定时任务类,实现如下:publicclassMyTimerTask{ publicstaticvoidmain(String[]args){ //定义一个任务 TimerTasktimerTask=newTimerTask(){ @Override publicv...

2022-03-07 16:58:38 53748 7

原创 Android 超简洁的视频播放器推荐 ArtPlayer

深海最近做视频相关需求的时候, 在GitHub上找到的一个播放器:ArtPlayer 相对比其他三方的播放器来说,更加简洁和易扩展.支持内核替换ijkPlayer支持 ExoPlayer支持GitHub 地址:https://github.com/maiwenchang/ArtPlayer使用起来有多简单呢? 看代码:首先加入这些依赖 别问我为什么有3个 ...

2019-05-29 16:39:48 12551 43

原创 Android 判断App运行在模拟器还是真机上的最终解决方案

Android 判断App运行在模拟器还是真机上的最终解决方案最近公司搞了一波送福利的活动,被人用模拟器恶意刷注册量了.后来我经过研究和实测,得出以下方法,目前还没有发现有模拟器能突破这个检测,方法如下:方法使用: if(Android_ID_Utils.notHasBlueTooth() ||Android_ID_Utils.notHasLightS...

2019-02-21 18:06:05 17662 21

原创 Android 极光IM简单的聊天界面全手动实现

Android 极光IM简单的聊天界面全手动实现说到实时通讯,很多人都想到融云,极光,环信,网易啊等等一系列,因为需求原因,我们最近的项目呢是用的极光.由于极光的界面Demo十分繁琐,很多功能我们用不到,所以我干脆自己写了会话列表和聊天界面首先呢,消息展示和踏板是这样的:接下来说一下实现的过程:极光IM的集成呢我这边就不...

2018-11-27 18:18:20 13161 75

原创 Android 在TextView前面添加多个任意View且不影响换行

dataListType的 0,1,2 分别对应三种不同的布局赋值,XML文件我就不全部发出来了,这里可以自主发挥。: (😂抱歉啊使用这边没有用Java写,不会Kotlin的应该也能看懂啥意思)

2023-09-05 17:36:04 636

原创 Android AAPT: error: resource color 异常原因处理

上面只是举例,报错的颜色和本文不对应的话,以你报错的日志中的颜色决定加入的颜色名。该异常是删除了项目创建时系统引用的颜色资源,导致的编译失败异常;根据提示在color.xml里加入报错的颜色资源。

2023-09-05 17:00:57 2222

原创 App上架应用市场操作流程

言简意赅,介绍产品的核心功能。描述你的app是什么类型,是游戏,工具还是社交等,要遵守广告法、新闻语等规则,两三句话描述app的核心特色,用几个短段落来阐述app的功能特色,最好写上联系方式,微博微信网站等。

2022-11-11 17:11:51 1308 2

原创 算法探索_罗马数字转整数

第二种是分开看待这种两位的值 CM = 900 看作是 1000与(-100) 的和,这样就可以无条件的从后往前遍历对应值,进行一位一位的无限累加;我采用的是第二种方案。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做。:两种方案,一种是把CM XC IV这种 值看作一个整体去遍历累加;给定一个罗马数字,将其转换成整数。,即为两个并列的 1。

2022-11-11 14:35:50 213

原创 通用数据结构设计-绝对格式

程序的健壮性,往往看他能有多少的容错性,最坏的结果是什么,例如以上的两个例子,如果价格类字段只能以Double进行传输和存储,前端无论如何展示,我传输和保存都不参与,那么永远不会有空指针和传输过程中的类型转换风险,如果时间只能以固定位数的时间戳进行传输和存储,前端无论如何展示,传输和保存都不参与,那么最坏的结果,无非是时间异常导致用户看到非法的时间,而不是服务荡机,或者前端崩溃闪退。如果降低风险,是作为架构角度的必要考虑,那么,绝对格式,则是可以拍案的一条建议。

2022-10-29 00:32:50 593

原创 1024 最近有些忙

最近有些忙,感觉好久没更新博客了。今天日子特殊,留此文章蹭个1024勋章。

2022-10-24 20:27:46 144

原创 算法探索-切面条(CSDN算法技能树第一题)

一根高筋拉面,中间切一刀,可以得到2根面条。如果先对折1次,中间切一刀,可以得到3根面条。如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折10次,中间切一刀,会得到多少面条呢?题目给出了四个答案:分别是512、513、1024、1025。...

2022-08-26 10:12:03 186 1

原创 Java 后端 - 腾讯云短信报错:AuthFailure.SecretIdNotFound message:The SecretId is not found, please ensure that

错误码:AuthFailure.SecretIdNotFound。

2022-08-17 17:28:40 3461

原创 技术总监需要具备哪些能力?优先级?

可以看到第一档是 人员/项目管理、问题解决、汇总/演讲、快速学习。如果希望走这条路的话,这也许是查漏补缺的一个思路。前不久我在CSDN发起了一个投票,这是投票结果。其实本意是希望看到这条路的技能优先级。第二档是 后端、运维、前端、运营。......

2022-08-05 16:21:15 548

原创 Android Gradle 插件版本对应图

1、手动下载最新版本的gradle安装包;2、把gradle安装包解压于。在线下载新生成的目录)中;目录下新生成的目录(3、重新运行编译项目。

2022-08-01 16:24:02 422

原创 Flutter 环境变量配置和flutter doctor中的错误解决

运行命令flutterdoctor--android-licenses然后根据提示一直回复“y”表示同意授权,直到结束。这边尽量下载最新的,或者和我这边一样也可以,默认视图可能和截图不一致,勾选右下角的对勾即可切换成图中的视图样式。如果您不开发windowsphoneapp,直接忽略这个错误即可。要是能够得到您的关注,深海会更加荣幸,感谢各位的支持!如果您感觉深海写的不错的话,请给文章点个赞吧~右键点击我的电脑-属性然后找到环境变量。2.运行命令flutterdoctor。...

2022-07-29 15:30:23 4328 1

原创 Android 在原生项目中新建一个Flutter的Module

这个地址的两个xxx,第一个改成你的旧项目名,第二个改成刚刚建的Flutter项目名,这里的结构以您的实际情况为准。插件安装完后会提示重启AndroidStudio,重启完毕后进行第三步;要是能够得到您的关注,深海会更加荣幸,感谢各位的支持!Dart插件的作用是Dart语法的提示和补全等功能。创建完成后,将这个Flutter项目拷贝到旧项目下。等同步完成后,你会发现项目中多了一个这个文件夹。如果您感觉深海写的不错的话,请给文章点个赞吧。如果您有不同的见解或疑问,欢迎到评论区留言。至此结束,目的达成。....

2022-07-25 17:54:43 1661 1

原创 Flutter与Kotlin和Java的等义对比(简单函数&变/常量)

以上可以看出函数的表达,Dart比Kotlin更加简洁,Kotlin比Java更加简洁!

2022-07-25 15:32:57 800 1

原创 接口测试-简单的接口自动化测试Demo

点击这里两个绿色三角图标的其中一个即可成功运行。好了,文章到这里就结束了,如果您有不同的见解或者有疑问的话欢迎到评论区留言。如果您感觉深海写的不错的话,请给文章点个赞吧,感谢各位的支持!......

2022-07-18 11:42:52 880 2

原创 算法探索-判断字符串是否连续、比较时将字符转ascii码还是unicode码?

二、实现思路:首先明确:连续的字符串的ascii码是递增的,且间隔为1,比如“abc”的ascii码为 “97、98、99”。为什么转ascii码,而不是unicode码? 这里应该转ascii码,因为unicode与字符不是连续对应的四、运行结果:...

2022-07-04 17:39:12 629 1

原创 Web前端中的MVVM

MVVM对应前端开发的内容: MVVM原理和流程:

2022-06-30 17:08:29 438

原创 Android ScrollView嵌套RecyclerView要做的三件事儿

这样做为什么?解决RecyclerView展示不全的问题。二、禁止RecyclerView的纵向滑动(横向同理): 这样做为什么?解决RecyclerView滑动无惯性问题,解决滑动显示头尾阻尼问题。 三、禁止RecyclerView的默认聚焦: 这样做为什么?解决RelativeLayout处于非顶部,却在加载后处于页面顶部的问题kotlin版的两项配置:文章到这里就结束了。如果您有不同的见解,或者疑问的话,欢迎到评论区留言。如果您感觉

2022-06-21 15:27:42 3384 6

原创 Android 配置简便的时间选择器 PickerView

GitHub官方地址:https://github.com/Bigkoo/Android-PickerViewhttps://github.com/Bigkoo/Android-PickerView1、导入依赖:2、在使用前初始化:2、触发显示: 文章到这里就结束了,如果您有不同的见解或者有疑问的话欢迎到评论区留言。如果您感觉深海写的不错的话,请给文章点个赞吧,感谢各位的支持!...

2022-06-20 12:01:34 1160 3

原创 后端与前端架构设计的区别

这里的后端指Java后端,PHP后端,GO后端,服务器端等。前端指Web端(网页,小程序,APP内嵌),移动端/Pad/手表/定制设备等,包括(Android & IOS & 鸿蒙)等系统。前后端架构设计差异:前端架构主要侧重点在于视图与数据走向, 而后端架构主要侧重分布式设计与中台服务治理。前端面向用户,更加注重用户的直观体验,好看的页面外观,界面的快速相应,炫酷的动画设计都是前端程序不可缺少的重点。而前端数据的拉取、上传与计算,除了需要本身架构的匠心设计,更离不开后端程序

2022-05-17 14:53:19 1955 1

原创 Android 架构设计(五):命名规范与层级规范

命名规范:程序包: com.xxx.xxx主要强调其唯一性,一般使用公司域名/简写+APP简写,全小写。比如:微信包名:com.tencent.mm 淘宝包名:com.taobao.taobao业务包: xxx一般为全小写的单个单词,主要强调其业务范围,业务类型或者功能比如:controller activity view utils类:XxxXxx一般使用大驼峰命名法。主要强调该类的作用与所属类型比如:MainActivity 作用:Main程序入口界面

2022-05-09 17:57:30 1681 2

原创 Java 虚拟调研问答写入文件

最终产出文件内容举例:代码如下:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Random;public class Test2 { public static ..

2022-05-09 11:01:29 132

原创 微信公众号创建与审核相关注意事项

前言:深海今天由于公司业务问题,创建了企业微信公众号,这边分享一下注意事项和需要准备的材料微信公众号类型为三种,分别是:各自有不同的功能范围,一旦创建无法更改。在选择公众号类型时,请谨慎了解其区别,就比如我这边用到模板消息的功能模块,订阅号就无法加入该功能模块,只能重新创建一个新的服务号类型的公众号。需要用到哪些材料/资料?1.营业执照2.企业账户的卡号与开户行信息3.申请人的个人信息创建公众号时需要审核,审核的最后一步需要小额打款认证认证公众号需要支付300元人民币(不退还),并在认证的最后一步再次进行小

2022-04-26 17:00:51 4568

原创 SpringBoot/SpringCloud项目常用注解释义_Controller篇

Controller层常用注解:一、修饰类的注解:@RestController :是@controller和@ResponseBody 的结合@Controller:将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化。 @ResponseBody:该类中所有的API接口返回的数据,无论对应的方法返回Map或是其他Object,它会以Json字符串的形式返回给客户端@Validated:参数合法性分组校验 具体使用...

2022-04-24 16:54:25 831 1

原创 Java 不区分大小写比较字符串

比较字符串时使用:equalsIgnoreCase()String.equals()对大小写敏感,而String.equalsIgnoreCase()忽略大小写例如:"ABC".equals("abc")是false"ABC".equalsIgnoreCase("abc")为ture源码: public boolean equalsIgnoreCase(String anotherString) { final int len = length();

2022-04-24 11:06:56 6574

原创 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 1788 1

原创 SpringBoot配置文件的加载位置与优先级

一、加载位置与加载顺序SpringBoot项目启动时,会依次从四个地方扫描加载配置文件分别是这四个地方: file:/config/ file:/ classPath:/config/ classPath:/ 二、优先级当四个地方出现重复的配置时,以最先扫描到的为准也就是说以上四个位置,优先级是从高到低排列file:/config/ 最高 classPath:/最低这时候,同样的配置,高优先级生效...

2022-04-18 16:21:47 632 1

原创 Android EditText如何在最好的时机判断输入长度超出

先上结论:假如长度限制为200,maxLength需要设置为201(必须要大于200,原因后面揭晓)<EditText android:id="@+id/item_edit" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@null" android:gravity="start

2022-04-06 15:54:50 2989

原创 Android Git忽略文件未生效的解决方案

解决方案 三步解决:第一步打开 Android studio 的命令窗口 Terminal第二步,在命令行依次运行以下命令(不可忽视最后的空格与点)git rm -r --cached .git add .git commit -m 'update .gitignore'第三步,重新提交代码!这时候你就会看到忽略文件已经生效,本次提交将删除远程已被忽略的文件。如果此方案有解决您的问题,麻烦给深海点赞或者关注收藏哦!...

2022-04-01 15:43:34 3056 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 4010

原创 Android WebView上覆盖图层后不停闪烁如何解决?

我这边遇到的情况是:WebView中加载了3D建模,然后上面覆盖了一个Layout,Layout中有自定义控件有文本输入框。每次点击自定义控件的时候,下面的WebView就开始不停的闪烁。我是这样解决的:当上层Layout显示的时候,隐藏下层的WebView,当Layout隐藏的时候在显示WebView。//这样mWebView.visibility = View.GONEmLayout.visibility = View.VISIBLE成功解决WebView闪烁问题。.

2022-03-28 18:36:17 1423 1

原创 Android WebView截屏空白或者一片黑如何解决?使用MediaProjection截图。

直接上代码:入口方法: startTakeScreenShot()出口方法:返回的Bitmap对象在onActivityResult() 有todo的注释 val EVENT_SCREENSHOT = 22 //截图事件 private var mediaProjectionManager: MediaProjectionManager? = null private var mediaProjection: MediaProjection? = null .

2022-03-28 18:22:28 3136 1

原创 Android 图片编辑(彩色划线、添加文字、单步撤销等功能实现)

添加要编辑图片的URL;关于URL的获取这边的例子是截屏图片:getWindowBitmapPath()方法内容请移步Android 截屏并保存到本地(兼容Android 10.0)_深海呐的博客-CSDN博客 R.id.screenshot -> {//截屏 Toast.makeText(activity, "截图成功!已保存到相册", Toast.LENGTH_SHORT).show() val .

2022-03-25 18:08:08 1971 2

原创 Android 截屏并保存到本地(兼容Android 10.0)

调用:mImageView?.setImageURI(getWindowBitmapPath())截屏方法: /** * author:xingHai.zhao * duty: 截屏并返回保存地址 */ fun getWindowBitmapPath(): Uri? { val view = activity?.window?.decorView val bitmap: Bitmap = Bitmap.createB

2022-03-21 17:08:16 1363 1

原创 Kotlin 协程的suspend关键字到底有什么作用?进来看实验

不久前收到一个粉丝的提问,今天深海就来通过实验告诉大家suspend关键字到底有什么用。首先这是测试代码:/** * author:xingHai.zhao(CSDN-深海呐) * duty: 协程举例 */@ExperimentalCoroutinesApifun main(args: Array<String>) { Test().test()}class Test { @ExperimentalCoroutinesApi fun te..

2022-03-15 17:53:51 4388 7

原创 SQL 所有 数据类型 分析与汇总

SQL中数据类型有哪些类型?数值型,字符型,日期时间型,字节型,货币型,其他特殊类型等。接下来深海整理的表格中,字体加粗的数据类型为常用数据类型。数值型 类型 大小(字节) 范围 描述 类比Java类型 BIT <=1 (0,1) 逻辑数值 boolean TINYINT 1 (-128,127) 极小整数值 byte SMALLINT 2 (-32 768,32 767)

2022-03-04 11:02:38 887 4

原创 Android 项目编译报错或异常,有多少解决方案?

当项目无故大片爆红时,根据多年经验,深海做出以下解决方案汇总:一、使用AndroidStudio的自带功能进行问题排查:重启AndroidStudio。 重新构建项目:Build - Make Project 重新清理项目:Build - CleanProject 重新编译项目:Build - RebuildProject 清除缓存并重启AndroidStudio二、是否是环境配置出了问题呢?项目配置检擦:1、检查是否配置SDK或者NDK(如果有用到的话)...

2022-03-01 16:01:45 3571 4

简单的接口自动化测试Demo

使用IDEA开发工具 使用JAVA语言编写

2022-07-18

SpringBoot无数据库模拟项目

SpringBoot无数据库模拟项目

2022-02-22

度秘语音引擎3.0-BaiduSpeechService.zip

见资源名称

2021-02-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除