- 博客(56)
- 收藏
- 关注
原创 not attached to window manager问题解决
show(),或者dialog.dismiss().导致window manager无法管理dialog。* 避免报:not attached to window manager .* 避免报:not attached to window manager .关于出现这个问题,一般是因为Activity已经在finish了,但是还在。* 20210913 安全关闭对话框 .* 20210914 安全打开对话框 .
2024-01-02 14:24:21
1134
原创 Android 11关于遇到AIDL的问题(AIDL失效)
如果在build.gradle设置android { compileSdkVersion 30 buildToolsVersion "30.0.3" defaultConfig { applicationId "com.example.testaidl" minSdkVersion 21 targetSdkVersion 30 versionCode 1 versionName "1.0"
2021-05-19 17:00:37
2105
3
原创 时间冲突判断代码
有多个时间段的定时事件,现在需要新增事件,保证新增事件不与之前事件时间冲突。这个采用了严格匹配,即开始时间是9:00 ,而另一个时间的结束时间也是9:00则判断时间为冲突。如需允许时间重合,需要修改compareTime的规则即可。public class Test { public static void main(String [] args){// boolean compareTime = compareTime("15:30", "13:30");// .
2021-03-10 14:14:01
1631
原创 Jave基础异常处理
异常机制其实是帮助我们找到程序中的问题,异常的根类是java.lang.Throwable,其下有两个子类:java.lang.Error与java.lang.Exception,平常所说的异常指java.lang.Exception。异常(Exception)的分类:根据在编译时期还是运行时期去检查异常?编译时期异常:checked异常。在编译时期,就会检查,如果没有处理异常,则编译失败。(如日期格式化异常) 运行时期异常:runtime异常。在运行时期,检查异常.在编译时期,运行异常不会.
2020-09-07 09:34:22
196
原创 自定义View不同构造的含义
RotateAnimation animation = new RotateAnimation(0,360f, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);LinearInterpolator linearInterpolator = new LinearInterpolator();animation....
2020-04-07 10:54:06
158
原创 自定义popuwindow+recyclerView下拉选择框
需要说明:1.可自由显示在控件下方,并根据控件宽度显示对应的宽度。2.recycleView可自定义背景,并且可带自定义颜色侧滑栏3.点击外部消失,选中条目后消失方法简单抽取private PopuWindow popupWindow;public void showSelectWindows(TextView view,List<String> mDataL...
2020-01-05 22:41:13
376
原创 python学习四
1.if的使用cars = ['audi', 'bmw', 'subaru', 'toyota']for car in cars: if car == 'bmw': print(car.upper()) else: print(car.title())2.符号==,!=,>,<3.要判断特定的值是否已包含在列表中,可使用关键...
2019-10-16 17:14:33
142
原创 HMACSHA256加密
public static String HMACSHA256(final String strText, final String strKey) { String strResult = null; try { Mac sha256_HMAC = Mac.getInstance("HmacSHA256"); ...
2019-10-16 16:21:20
3737
原创 Python学习三
1.遍历整个列表1.用for遍历集合magicians = ['alice', 'david', 'carolina']for magician in magicians:(注意这里要缩进)print(magician)2.在for 循环后面,没有缩进的代码都只执行一次,而不会重复执行。3.使用函数range()for value in range(1,5): ...
2019-10-14 15:34:28
261
原创 Python学习二
3.1列表在Python中,用方括号([] )来表示列表,并用逗号来分隔其中的元素。列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。bicycles = ['trek', 'cannondale', 'redline', 'specialized']print(bicycles[0])Python为访问最后一个列表元素提供了一种特殊语法。...
2019-10-11 15:34:32
117
原创 Python学习一
变量不需要声明类型,可直接使用变量命名规则:1.变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。2.变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。3.不要将Python...
2019-10-10 09:46:23
138
原创 android的TextView要内容显示多种颜色怎么办
SpannableStringBuilder span1 = new SpannableStringBuilder("无痛、无创、无麻醉、无交叉感染 一次性使用\n"); SpannableString spannableString = new SpannableString("轻松便捷"); spannableStri...
2019-09-18 17:47:14
812
原创 侧滑删除自定义view
public class DeleteView extends FrameLayout { private View contentView; private View deleteView; private int contentWidth; private int ...
2019-09-18 16:47:39
218
原创 multitype快速上手
1.导入引用implementation 'me.drakeet.multitype:multitype:3.4.4'2.创建binder(这只是其中一个)public class AddNoticeItemBinder extends ItemViewBinder<String, AddNoticeItemBinder.TextHolder> { ...
2019-09-18 16:25:06
949
原创 android获取版本号
public class AppInfoUtil { public static String getAppVersionName(Context context){ String versionName= ""; try { PackageInfo packageInfo = context.getPackageMana...
2019-09-18 16:17:32
425
原创 android如何用sp存储和获取一个集合
存储和获取public class SharedPreferencesHelper { private SharedPreferences sharedPreferences; private static SharedPreferencesHelper mSharedPreferencesHelper; /* * 保存手机里面的名字 ...
2019-09-18 16:04:48
1416
原创 android按钮点击的背景设置方式
1.ImageButton设置selector <ImageButton android:layout_centerVertical="true" android:id="@+id/ib_back" android:layout_width="wrap_content" android:l...
2019-09-18 15:59:37
1301
转载 应用内显示时间,wifi强度,电量
1.获取时间 mTvShowTime = findViewById(R.id.tv_show_time); //获取系统显示时间格式,根据不同的格式显示 ContentResolver cv = this.getContentResolver(); String strTimeFormat = android.provider.Settings...
2019-09-18 10:57:57
256
转载 懒加载LazyViewPager
需求只希望一次滑动加载一个Fragment,这个就能满足需求。/* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except...
2019-09-18 10:48:55
204
转载 Android Studio你不知道的快捷键(三)
本文将继续介绍一些非常实用的但是你可能不知道的快捷键;没看过前两篇的可以移步:Android Studio你不知道的快捷键(一) Android Studio你不知道的快捷键(二)Select In..说实话,想不出一个比较好的翻译 :P 干脆使用英文吧。Select In..有没有这样的场景:你在Android Studio打开了一个图片文件(或者别的文件),想在资源浏览...
2019-06-14 15:57:19
128
转载 Android Studio你不知道的快捷键(二)
在Android Studio你不知道的快捷键(一)里面,主要讲述了一些窗口操作的快捷键还有补全参数提示等,这一篇会分享一些代码代码编辑的快捷键。(默认Keymap如上文)自动生成变量自动生成变量作为一门静态类型语言,Java是有一定的类型推导能力的;那么你是否经常书写: 12 String testStr = "testStr";List...
2019-06-14 15:32:02
78
转载 Android Studio你不知道的快捷键(一)
一般来说键盘用的越多鼠标用的越少,那么写起代码来效率就越高;常见的快捷键想必大家都已经掌握,接下来我就分享一些你可能不知道的但确非常实用的快捷键。下文所有快捷键基于如下keymapWindows: DefaultLinux: DefaultOSX: Mac OSX 10.5+自动补全的时候是Enter还是Tab?自动补全enter和tab区别在使用自动补全的时候En...
2019-06-14 15:26:42
146
原创 TextClock的坑
今天想直接显示一个时间,例如:12:12:12;然后是会自动计时的,但是发现设置了12小时制可以“H:mm:ss”来格式化时间显示,但是24小时的却失效了,后面尝试后才发现如果系统是12小时制的,你设置24小时制是不起作用的。后面查了资料终于解决。一下是代码: //ContentResolver cv = 类名.this.getContentResolver();/...
2019-06-10 12:45:54
2127
1
原创 常见面试题总结
1.应用启动过程,Activity、windows、View的关系,Glide原理2.EventBus源码、handler机制3.性能优化,在项目中如何做的优化(几乎必问)4.java面向对象六大原则5.java三大特性,在项目中时如何运用的6.你遇到过最难解决的问题是什么,如何解决的。你项目中遇到过哪些bug,怎么解决的7.你了解设计模式吗?你常用到的设计模式8.(基...
2019-05-30 09:42:17
90
原创 根据视频路径获取视频时长
MediaMetadataRetriever media = new MediaMetadataRetriever();media.setDataSource(result);String duration = media.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);int time = Integer.par...
2019-05-07 17:35:34
1653
转载 git 上传错了文件如何彻底删除
在当前带有.git的文件夹下打开git命令行,输入git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch *.hprof' --prune-empty --tag-name-filter cat -- --all其中*.hprof使用了通配符,指的是删除所有以.hprof结尾的文件,如...
2019-04-01 23:15:10
2223
原创 观察者模式
抽象被观察者角色:也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集合中,每个主题都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类和接口来实现。 抽象观察者角色:为所有的具体观察者定义一个接口,在得到主题通知时更新自己。 具体被观察者角色:也就是一个具体的主题,在集体主题的内部状态改变时,所有登记过的观察者发出通知。 具体观察者角色:实现抽象...
2019-03-24 23:12:46
74
原创 git 忽略文件失效怎么办
在项目目录下打开git命令行, git rm -r --cached .(带空格的点) git add .(带空格的点) git commit -m 'update .gitignore'这样就可以更新.gitignore文件了
2019-03-18 09:51:52
545
原创 Handler简单的使用
private ImageView mImageView; private @SuppressLint("HandlerLeak") Handler mHandler; mImageView = findViewById(R.id.iv_image); mHandler = new Handler(){ @Overri...
2019-03-10 14:29:17
104
转载 Service由浅到深——AIDL的使用方式
Service由浅到深——AIDL的使用方式转载地址https://www.cnblogs.com/huangjialin/p/7738104.html前言最近有很多朋友问我这个AIDL怎么用,也许由于是工作性质的原因,很多人都没有使用过aidl,所以和他们讲解完以后,感觉对方也是半懂不懂的,所以今天我就从浅到深的分析一下这个aidl具体是怎么用的,希望对大家有帮助。作为一名合格And...
2019-03-08 17:58:04
120
原创 疯狂kotlin-----第七章 面向对象(上)
kotlin也支持面向对象的三大特征:封装、继承和多态。7.1 类和对象类是某一批对象的抽象,可以把类理解成某种概念;对象才是一个具体存在的实体。 kotlin定义类的简单语法:[修饰符] class 类名 [constructor 主构造器 ] {//1.零到多个次构造器定义 //2.零个到多个属性 //3.零到多个方法} 修饰符:public , internal , ...
2019-03-08 16:07:11
145
原创 kotlin 第六章 函数和lambda表达式
6.1 函数入门6.2 函数的形参定义函数:fun 函数名(形参列表)[: 返回值类型] { 执行语句} 函数名:第一个字母小写,后面每个单词首字母都大写 返回值类型:返回值一个变量或者一个表达式,如果希望没有返回值,可省略返回值部分,或者用Unit来代表没有返回值 形参列表:由零组到多组“形参名:参数类型,组合而成,参数间用“,”隔开 函数的递归:函数体内调用它自身,被称为函数...
2019-03-06 14:50:15
194
原创 疯狂kotlin-----第五章 数组和集合
5.1 数组Kotlin为数组增加了Array类,为基本数据类型增加了XxxArray类(其中Xxx代表Byte,Short,Int等基本数据类型) 创建数组的方式一:arrayOf()、arrayOfNulls()、emptyArray()工具函数。方式二:使用Array(size : Int,init : (Int) -> T)构造器 使用for .. in 循环数组,比如有一个...
2019-03-05 21:36:47
196
原创 疯狂kotlin-----第四章 流程控制
4.1 顺序结构 如果没有流程控制语句,kotlin的程序语句是一个顺序执行流,从上向下依次执行每条语句。4.2 分支接口常见分支结构:if (简单的条件) 和 when(复杂的条件 ) when 代替了java 的switch, else代替 default例子:when (选择条件){条件1 -> 执行语句条件2 -> 执行语句 }w...
2019-03-01 11:17:03
131
原创 疯狂Kotlin 第三章 运算符和表达式
3.1 与java相同的运算符Kotlin不支持三目运算符,使用 if else 代替 与java相同kotlin也支持算术运算符、赋值运算符、拓展后的赋值运算符、比较运算符、逻辑运算符,kotlin的运算符都是以方法的形式来实现的 kotlin个运算符对应的方法名都是固定,运算符功能都是广义的,可作用于任意kotlin自定义的类(不是很理解) 单目前缀运算符及方法名 +a --...
2019-02-28 23:37:11
554
原创 疯狂kotlin-----第一章、第二章
第一章主要讲环境配置。第二章 kotlin的基本类型2.1注释单行注释: “//” 多行注释:“/*......*/”(多行注释可嵌套)文档注释:“/**.......*/” dokka工具来生成API文档(github下载)2.2变量变量与常量的区别:变量可重新赋值,常量只能赋值一次2.2.1分隔符:“;” 一行一条语句结尾可省略分号,一行多条语句在每天语句结尾用分号...
2019-02-27 15:47:03
153
原创 android唤醒屏幕
权限<uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> 唤醒屏幕代码PowerManager mPowerManager = (PowerM...
2019-02-25 16:56:19
5301
原创 View记录
1.AnalogClock 模拟时钟2.TextClock 时间显示3.Chronometer 计时器4.QuickContactBadge 关联联系人5.ViewSwitcher、ImageSwitcher、TextSwitcher、ViewFilipper6.CalendarView日历控件 DatePicker/TimePicker7.NumberPicker数值选...
2019-02-01 17:40:27
161
原创 Postman在post参数中自动引用环境变量token
baseUrl的相信大家都知道,只要在Globals里添加地址就行了,然后请求的时候{{baseUrl}}这样引用就OK了,那么接下来怎么在参数raw类型时添加参数token呢?先设置环境变量token,然后在登录接口的Tests中保存token,这里保存的token为字符串类型。代码如下pm.test("Status code is 200", function () { ...
2019-01-29 15:17:27
3484
原创 多渠道打包
在AndroidManifest.xml里配置在<application里添加 <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"/>,在build.gradle的 android {}标签内添加flavorDimensions "default"produ...
2019-01-09 17:24:05
76
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人