自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shendaoyu的博客

Smile at life

  • 博客(27)
  • 收藏
  • 关注

原创 二分算法 笔记

leetcode 35搜索插入位置。

2023-07-15 13:24:43 89

原创 android Fragment学习笔记

使用FragmentTransaction的add()+hide(){性能好,不能hide太多fragment,不然会oom}之前的fragment效果等同replace(),但是replace会执行fragment生命周期方法。,确保fragment只会在activity第一次创建时才会被创建,当configuration发生变化activity再次创建,savedInstanceState不为null时不会重建。:在某些情况下,你可能需要在容器中创建多个重叠的组件,并控制它们的显示顺序。

2023-07-15 11:46:30 121

原创 Android Gradle升级到7.0+,生成apk位置

简单记录一下,今天突然把Gradle升级到7.0以上,发现assembleRelease/Dedubg运行后找不到生成的apk文件,新的生成地址从output/apk移动到intermediates/apk。

2023-07-02 10:31:17 370

原创 笔试算法 字符串匹配替换

字符串匹配替换

2022-08-07 11:11:15 128 1

原创 StringBuilder ==和equals

阅读StringBuilder源码发现其并没有重写equals方法,并且reverse()方法这是在源字符串基础上进行原地修改,故引用不变,故StringBuilder的equals方法和‘==’一样都是比较引用而不是值。public class Main { public static void main(String[] args) { StringBuilder st = new StringBuilder(); st.append("1");

2022-04-07 20:09:21 171

原创 双重检查锁为什么二次判空

public class Single { private volatile static Single instance; private Single() { } public Single getInstance() { if (null == instance) { synchronized (Singleton.class) { if (null == instance) {

2022-03-24 21:40:45 1180

原创 BigInteger使用

BigInteger进行进制转换注意10进制转r进制,若有字母,转出来的是小写r进制转10进制,无论x里面包含小写还是大写,出来的数字都是一样的10进制或以上的转出来是字符串的需要将里面的小写转换为大写BigInteger 方法1、BigInteger(String val,int radix),即将radix进制状态的val转换为10进制的BigInteger类型2、toString(int radix),将10进制的BigInteger类型转换为radix进制状态的String类型3、

2022-01-09 20:01:30 947

原创 leetcode 76. 最小覆盖子串

leetcode 76. 最小覆盖子串给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = “ADOBECODEBANC”, t = “ABC”输出:“BANC”class Solution { public String mi

2022-01-09 14:11:19 92

原创 八大基础排序算法思路

冒泡排序1.将数据从第一个开始与下一个数据进行比较,如果第一个数据大,则交换两个数据位置。2.将第二个数据再与下一个数据进行比较,如果第二个数据大,则交换两个数据位置。3.以此类推,直到倒数第二个数据和倒数第一个数据比较,如果倒数第二个数据大,则交换两个数据位置。(至此获得最大数据交换到最后,最后一个数据不再参与比较)4.重复1、2、3步骤 public static void buble(int[] a){ int[] beforesort = a; int

2021-12-23 10:43:19 151

原创 RecyclerView: No adapter attached; skipping layout问题解决的一种方法

问题说明:开发中经常会用到RecyclerView做布局的情况,然后在启动界面的时候因为是从数据库或网络等地方获取数据有延迟,在没有获取到数据时候就开始加载RcyclerView就会出现RecyclerView: No adapter attached; skipping layout致使APP无缘无故崩溃。解决办法:先将RecyclerView的布局setVisibility(View.GONE)隐藏,优化一些则加上一个加载画面,数据加载完成则再将RecyclerView的布局setVisibili

2021-12-02 16:16:38 6595 1

原创 android checkbox有效设置layout_weight

android checkbox要想有效设置layout_weight,官方推荐在线性布局下的android:layout_width=“0dp”

2021-11-29 10:03:28 1274

原创 IDEA创建一个Java web项目

1.file–new–project–java enterprise2.next–finish3.新建项目依赖,新建lib目录,一定要放在WEB-INF下Build–Build Artifacts–build打包war发布在tomcat的webapp下

2021-11-21 21:06:04 328

原创 MediaPlayer播放本地文件夹需要权限

MediaPlayer播放本地文件夹需要权限,需要权限,需要权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />Android后面的版本还需要需要动态申请权限。...

2021-10-09 15:21:57 449

原创 高德地图 逆地理编码问题

示例: GeocodeSearch geocodeSearch = new GeocodeSearch(this); //逆地理编码查询条件:逆地理编码查询的地理坐标点、查询范围、坐标类型。 LatLonPoint latLonPoint = new LatLonPoint(36.489411, 103.61449); // AMAP 输入参数坐标为高德类型。查找范围500m RegeocodeQuery query = new Regeoc

2021-10-04 20:22:35 1598

原创 Android 科大讯飞持续语音唤醒识别问题及解决

思路:提供的api中唤醒识别只能一次;因此考虑先设置持续唤醒,在唤醒结果回调中进行识别。实测:在Android 6和10都可以运行,但是在Android9中不行(麦克被唤醒占用),因此Android需要识别前关闭唤醒,识别后打开唤醒。有高手有好的思路欢迎评论区讨论。...

2021-09-21 16:51:10 1390

原创 Android 科大讯飞开发相关

语音未唤醒等,检查是否用了官方的speechapp,但未在androidmanifest中注册。

2021-09-03 10:02:34 255

原创 android 音乐播放器实现淡入淡出效果

淡入淡出成功返回接口类public interface MusicDoneCallBack { void onComplete();}淡入淡出工具类import android.animation.Animator;import android.animation.ValueAnimator;import android.media.MediaPlayer;import android.view.animation.LinearInterpolator;public class

2021-08-28 11:18:42 418

原创 Android Room预填充数据库从excel

前言搜索全网资料,并没有发现有最新room预填充数据库的详细教程,本文用一种相对比较笨的方法达到了预填充数据库的效果。第一步按照room的构建步骤在Android中建立数据库(过程就不细说,按照官方教程就可),运行程序(真机运行情况)之后在Android studio中View -->Tool Windows -->Device File Explorer 在data/data/下找到你的程序中database(一般有三个文件),右键save as保持到电脑中。第二步建立excel,建

2021-08-27 18:17:56 1064 1

原创 高德地图Api开发相关

public AMapLocationClientOption setInterval(long interval)设置发起定位请求的时间间隔单位:毫秒默认值:2000毫秒参数:interval - 时间间隔单位:毫秒小于1000毫秒时,按照1000毫秒计算返回:包含新的定位间隔的AMapLocationClientOption对象从以下版本开始:2.0.0...

2021-08-26 09:22:50 135

原创 Orange pi 4G_IOT GPIO控制

1.通过adb连接开发板adb shell2.给引脚权限chmod 777 /sys/devices/virtual/misc/mtgpio/pin如果Android开发控制gpio,通过supersu给权限( 其它教程用的arm64下的supersu,但是我安装并不能运行,实测armv7下的可以)cd \armv7adb wait-for-deviceadb rootadb remountadb shell setenforce 0adb push .\su /system/bin

2021-08-17 10:58:20 457

原创 Android 小说阅读页面及目录UI设计

思路分析需要一个滑动的组件放正文,需要左侧滑出目录,点击出现设置阅读相关内容。因此考虑用recycleview来放正文,同时将recycleview放在SmartRefreshLayout中方便章节刷新。考虑左侧滑出目录用抽屉布局DrawerLayout,而阅读相关设置则考虑用自定义view展示。实现效果实现阅读内容代码<?xml version="1.0" encoding="utf-8"?><androidx.drawerlayout.widget.DrawerLayo

2021-08-15 11:09:35 2731 1

原创 Android 小说搜索页面UI

设计思路在搜索页面上肯定要有搜索框进行搜索,同时要有推荐书目以及搜索的历史纪录,最后考虑将搜索后的结果返回到搜索框下面显示。实现效果搜索界面代码<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"

2021-08-08 11:44:56 444

原创 Android 搜索框、书架页面以及排行榜页面UI设计

设计思路收集各大主流小说App搜索UI设置,发现基本都会有在导航栏(AppBar)中设置搜索功能。故本App也采取这种主流设计。同时考虑在书架页面和排行榜页面进行滑动切换。故主页面选择CoordinatorLayout布局,并在AppBarLayout布局下的MaterialToolbar中加入搜索功能。<?xml version="1.0" encoding="utf-8"?><androidx.coordinatorlayout.widget.CoordinatorLayout

2021-07-28 21:11:47 1920

原创 Android 网络小说阅读APP实现详解

前言本人是一个网络文学的骨灰级爱好者,日常看小说都是在各种手机浏览器中阅读,阅读体验不是很好。同时本人学习过Android的一些知识,故决定开发一款小说阅读app提高小说阅读的体验。本系列博客旨在梳理一下开发流程以及分享交流。现已完成功能界面如下持续更新中…开发过程参考如下项目:https://github.com/fengyuecanzhu/FYReader.githttps://github.com/MissZzz1/MissZzzReader.githttps://gith

2021-07-26 20:44:08 6887 12

原创 Android Okhttp简单工具类的封装

Android Okhttp简单工具类的封装目的:简化okhttp的调用,简化代码。工具类OkHttpUtil完整代码注解已经详细解释,就不再进行说明。/*网络访问框架一般都需要单例模式(singleton),首先我们也进行单利模式。1 首先私有化构造器,让别人不能new出其它实例。2 声明该类的一个静态成员变量实例,本篇为instance3 声明一个公有的方法getInstance提供给调用者本类实例。 */public class OkHttpUtil { // 必须要用的

2021-07-25 10:34:14 759 1

原创 使用科大讯飞开发Android出现23108错误以及通常getExternalStorageDirectory没权限解决

Android10(API 29)getExternalStorageDirectory没权限解决在Android开发时,一般我们使用以下代码获取储存路径,获取到的结果一般是/storage/emulated/0JavaEnvironment.getExternalStorageDirectory().getAbsolutePath()然而在Android10(API 29)以后获取到这个路径获取,发现却没有权限访问,无论你在AndroidManifest.xml文件中加上对应的权限还是使用Acti

2021-03-18 08:30:36 1433 2

原创 百度语音识别开发问题及解决方法

百度语音识别开发问题解决记录一下ASREngine: EVoiceRecognitionClientWorkStatusError errorDomain : 20 errorCode : 1 desc : VAD start: start error. mLastRecognitionResult:解决方法:将build.gradle(:app)中minSdkVersion设置小一点低于23(例如21),可能这个错误原因是和Android 6.0以上权限有关。...

2021-03-07 20:33:19 1980 7

空空如也

空空如也

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

TA关注的人

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