android Fragment学习笔记 使用FragmentTransaction的add()+hide(){性能好,不能hide太多fragment,不然会oom}之前的fragment效果等同replace(),但是replace会执行fragment生命周期方法。,确保fragment只会在activity第一次创建时才会被创建,当configuration发生变化activity再次创建,savedInstanceState不为null时不会重建。:在某些情况下,你可能需要在容器中创建多个重叠的组件,并控制它们的显示顺序。
Android Gradle升级到7.0+,生成apk位置 简单记录一下,今天突然把Gradle升级到7.0以上,发现assembleRelease/Dedubg运行后找不到生成的apk文件,新的生成地址从output/apk移动到intermediates/apk。
StringBuilder ==和equals 阅读StringBuilder源码发现其并没有重写equals方法,并且reverse()方法这是在源字符串基础上进行原地修改,故引用不变,故StringBuilder的equals方法和‘==’一样都是比较引用而不是值。public class Main { public static void main(String[] args) { StringBuilder st = new StringBuilder(); st.append("1");
双重检查锁为什么二次判空 public class Single { private volatile static Single instance; private Single() { } public Single getInstance() { if (null == instance) { synchronized (Singleton.class) { if (null == instance) {
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、
leetcode 76. 最小覆盖子串 leetcode 76. 最小覆盖子串给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = “ADOBECODEBANC”, t = “ABC”输出:“BANC”class Solution { public String mi
八大基础排序算法思路 冒泡排序1.将数据从第一个开始与下一个数据进行比较,如果第一个数据大,则交换两个数据位置。2.将第二个数据再与下一个数据进行比较,如果第二个数据大,则交换两个数据位置。3.以此类推,直到倒数第二个数据和倒数第一个数据比较,如果倒数第二个数据大,则交换两个数据位置。(至此获得最大数据交换到最后,最后一个数据不再参与比较)4.重复1、2、3步骤 public static void buble(int[] a){ int[] beforesort = a; int
RecyclerView: No adapter attached; skipping layout问题解决的一种方法 问题说明:开发中经常会用到RecyclerView做布局的情况,然后在启动界面的时候因为是从数据库或网络等地方获取数据有延迟,在没有获取到数据时候就开始加载RcyclerView就会出现RecyclerView: No adapter attached; skipping layout致使APP无缘无故崩溃。解决办法:先将RecyclerView的布局setVisibility(View.GONE)隐藏,优化一些则加上一个加载画面,数据加载完成则再将RecyclerView的布局setVisibili
android checkbox有效设置layout_weight android checkbox要想有效设置layout_weight,官方推荐在线性布局下的android:layout_width=“0dp”
IDEA创建一个Java web项目 1.file–new–project–java enterprise2.next–finish3.新建项目依赖,新建lib目录,一定要放在WEB-INF下Build–Build Artifacts–build打包war发布在tomcat的webapp下
MediaPlayer播放本地文件夹需要权限 MediaPlayer播放本地文件夹需要权限,需要权限,需要权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />Android后面的版本还需要需要动态申请权限。...
高德地图 逆地理编码问题 示例: GeocodeSearch geocodeSearch = new GeocodeSearch(this); //逆地理编码查询条件:逆地理编码查询的地理坐标点、查询范围、坐标类型。 LatLonPoint latLonPoint = new LatLonPoint(36.489411, 103.61449); // AMAP 输入参数坐标为高德类型。查找范围500m RegeocodeQuery query = new Regeoc
Android 科大讯飞持续语音唤醒识别问题及解决 思路:提供的api中唤醒识别只能一次;因此考虑先设置持续唤醒,在唤醒结果回调中进行识别。实测:在Android 6和10都可以运行,但是在Android9中不行(麦克被唤醒占用),因此Android需要识别前关闭唤醒,识别后打开唤醒。有高手有好的思路欢迎评论区讨论。...
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
Android Room预填充数据库从excel 前言搜索全网资料,并没有发现有最新room预填充数据库的详细教程,本文用一种相对比较笨的方法达到了预填充数据库的效果。第一步按照room的构建步骤在Android中建立数据库(过程就不细说,按照官方教程就可),运行程序(真机运行情况)之后在Android studio中View -->Tool Windows -->Device File Explorer 在data/data/下找到你的程序中database(一般有三个文件),右键save as保持到电脑中。第二步建立excel,建
高德地图Api开发相关 public AMapLocationClientOption setInterval(long interval)设置发起定位请求的时间间隔单位:毫秒默认值:2000毫秒参数:interval - 时间间隔单位:毫秒小于1000毫秒时,按照1000毫秒计算返回:包含新的定位间隔的AMapLocationClientOption对象从以下版本开始:2.0.0...
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