自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 ASR、TTS语音相关

语音交互

2022-10-12 13:20:21 2893 2

原创 Kotlin笔记——常用注解

@Nullable和@NotNull以检查给定变量、参数或返回值的 null 性。@Nullable注解用于指明可以为 null 的变量、参数或返回值,而@NonNull则用于指明不可以为 null 的变量、参数或返回值。@MainThread、@UiThread、@BinderThread、@WorkerThread、@AnyThread线程注解可以检查某个方法是否从特定类型的线程调用等等。。。参考官方利用注解改进代码检查@Deprecated("xxx")kotlin中...

2021-10-21 16:24:32 549

原创 Android事件分发-总结笔记

一、View事件分发onTouch 和 onTouchEvent 有什么区别,又该如何使用?这两个方法都是在 View 的 dispatchTouchEvent 中调用的,onTouch()方法优先于 onTouchEvent()方法执行,默认返回false,如果在 onTouch()方法中通过返回 true将事件消费掉,onTouchEvent()将不会再执行。 另外需要注意的是,onTouch 能够得到执行需要两个前提条件,第一mOnTouchListener 的值不能为空,,即设置了setO

2021-04-21 20:44:10 181 1

原创 总结-Service

一、 关于Service前台进程 可见进行 进程服务 不可见进程 空进程二、 关于进程保活

2021-04-16 19:30:32 318

原创 IPC-Messenger

IPC传递的都是序列化的数据(序列化和反序列化的核心思想是对象状态的保存和重建),序列化有两种,Parcelable、Serializable知识点同一个app如果有多个进程,每个进程会对应创建一个application对象,每一个系统都会单独分配一个虚拟机。进程间无法直接进行数据传递,需要通过aidl,binder,网络,文件共享等方式传递数据。静态成员和单例模式在不同进程间作用失效。 序列化 Serializable或者Externalizable,非static和transient修饰的,

2021-04-06 14:36:59 196

原创 AndroidStudio运行Flutter ios环境配置

运行Flutter程序,使用iphone模拟器时,报错(提示需要安装cocoapods)Warning: CocoaPods not installed. Skipping pod install. CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side. Without CocoaPods, p..

2020-12-16 10:21:21 2274

原创 Android 8.0系统透明主题适配解决办法

当Android当activity同时满足以下三个条件,会出现闪退当问题1.Android系统8.02.透明主题3.固定屏幕方向,screenOrientation的值为portrait 或者landscape(代码或者清单文件)错误信息:java.lang.IllegalStateException: Only fullscreen activities can request orientation解决到思路就是让三个条件不同时出现,目前有几种比较靠谱当解决办法,总结如...

2020-06-01 18:51:36 2816 2

原创 Mac系统下Android studio配置环境变量(ADB、JDK、GRADLE、Flutter)

mac os启动台-->终端 进入当前用户的home目录(默认) : cd ~/ 若.bash_profile文件不存在则创建:touch .bash_profile 打开.bash_profile(文件不存在则创建则:touch file_name):open .bash_profile 在.bash_profile文件最后添加需要配置的环境变量 ####格式: export <PATH_NAME>=$PATH:$<YOUR_PATH>export...

2020-05-11 19:45:12 3265

原创 禁止多点触控/连续点击问题处理

1.android:splitMotionEvents="false"xml布局中,在父控件中设置该属性,同时点击多个所属的子view,只响应一个事件(只能是父控件的以下层view,多层嵌套无效)2.Listview属性android:choiceMode="singleChoice" 设置后每次只能选址一个item3.全局禁止多点触控在application的Them...

2020-04-15 18:47:50 1578

原创 Android版本更新(断点下载)

记录下app版本更新的代码实现1.检测版本是否最新,根据服务器返回结果,进行强制更新或推荐更新提示2.判断apk是否已有SD卡读写权限Manifest.permission.READ_EXTERNAL_STORAGEManifest.permission.WRITE_EXTERNAL_STORAGE3.在异步线程中进行apk文件下载操作public class Downl...

2019-10-14 15:12:07 421

原创 Android开发必备的工具下载连接整理

最新Android studio下载地址Postman下载地址抓包软件Charles下载地址在线Json字符串格式化Xmind官网地址windows录频软件ApowerREC官网 在线视频转Gif (写博客制作gif动图用)...

2019-09-19 11:37:40 143

原创 Git常用命令使用总结

1.Git常用命令使用2.LFS安装和使用

2019-09-18 14:37:04 4177 1

原创 butterknife10.1.0遇到的坑

一、使用步骤1.在app或者model的build.gradle中:apply plugin: 'com.jakewharton.butterknife'android { compileOptions {//指定Java的版本 targetCompatibility JavaVersion.VERSION_1_8 sourceCompatib...

2019-09-10 16:59:03 1768 1

原创 Gradle解决编译问题

1.在Terminal下输入命令:gradlew :app:dependencies --configuration releaseCompileClasspathD:\workspace\editcode>gradlew :app:dependencies --configuration releaseCompileClasspath> Task :app:dependen...

2019-07-11 12:03:26 1139

原创 Kotlin笔记——基础

constconst 用于修饰常量的,const val 相当于Java中的 static final区间var a = 1..100 // [1,100]var a = 1 until 100 // [1,100)a.reversed() //将数字倒转,相当于 a = 100 .. 0for循环var num...

2019-07-10 13:23:49 235

原创 AS配置—杂记

一、app中的build.gradle配置相关1.设置支持.so文件的设备内核defaultConfig{ndk { abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'x86_64'/*, 'arm64-v8a'*/}}注:若没有某个so文件(例如arm64-v8a),则不要配置'arm64-v8a',否则App会因为找不到对应的文...

2019-07-09 12:59:01 216

原创 简单自定义二:自定义标签(流式布局)

自定义标签大家都已经不陌生了,这里记录下学习笔记先看效果图实现思路:1. 继承ViewGroup,重写onMeasure和onLayout方法2.当childview累计宽小于空间宽,叠加到当前行;3.当childview累计宽大于空间宽,则换行显示;4.如果是wrap_content,则宽为所有行宽的最大值,高为每行childview高的最大值之和,注意把childv...

2019-06-14 18:33:25 346

原创 简单自定义一:splash界面的倒计时控件

实现思路:1.该控件由圆环和文字组成,所有我们可以继承Textview去实现;2.考虑到设置固定宽高时,文字范围容易超出圆环,所有建议布局时用wrap_content,我们根据文字大小+文字与圆环的padding来确定控件最终的大小效果图上代码之前,我们来回顾下自定义的一些知识点自定义控件我们可以分成以下几类1. 直接继承View 需要重写onMeasure和o...

2019-06-14 12:17:42 628 1

原创 Android App全局悬浮框实现

最近用了一个很好用的开源库,在APP全局或部分页面显示悬浮框,例如音乐播放的歌词显示等。下面我将记录下简单使用笔记。1.在清单文件添加悬浮框权限<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />2.判断是否有悬浮框的权限 if (Build.VERSION....

2019-05-31 18:11:41 9715

原创 Android 7分屏多任务设置

Android 7.0(SDK 28)预览版中增加了分屏多任务,在屏幕的显示比例上,用户可以自行调整,也可以代码中设置1.在清单文件中配置,activity或者application节点下android:resizeableActivity="true"2.若需要设置默认的大小、位置和最小尺寸,在该activity的节点下配置<layout android:default...

2019-04-17 10:19:14 711

原创 Android9.0 http网络请求失败

Google为了推进网络请求时数据的安全性,在Android 9.0系统默认都不能用http协议,而要使用https协议,提高数据传输的安全性。直接使用http协议传输数据,会报一下错误:java.io.IOException: Cleartext HTTP traffic to **** not permitted解决的办法有以下几种1.弃用http,改用http,从根源解决问题...

2019-04-17 10:10:07 617

原创 如何查看其他apk的包名

在只有apk的情况下,要想知道它的包名,可以利用aapt工具。aapt.exe在SDK的\build-tools\28.0.2(编译器版本)目录下1.打开cmd,切换到目标目录下C:\Users\admin>d:D:\ProgramFile\SDK\build-tools\28.0.2>2.执行aapt dump badging命令D:\ProgramFile...

2019-04-13 17:35:25 1320

原创 用RxJava实现倒计时,延时加载

1、在app开发中,Splash界面中往往有广告播放倒计时,除了用定时器实现之外,我们还可以用RXJava优雅的实现它。//范围0~4,间隔时间1sdisposable = Observable.intervalRange(0, 4, 0, 1, TimeUnit.SECONDS) .observeOn(AndroidSchedulers.mainThrea...

2019-04-11 11:37:12 2135

原创 Android Studio常用的快捷键

Android Studio最常用的快捷键,赶快用起来吧Android Studio常用的快捷键 快捷键 描述 Ctr+Alt+V 生成局部变量 Ctr+Alt+F 生成全局变量 Ctr+Alt+M 代码提取成方法 Ctrl+Alt+L 格式化代码 Ctrl+P 显示参数信息 Ctrl+Alt+T 把代码包在一块内,例如...

2019-04-10 17:40:07 104

原创 自定义ItemDecoration实现分组粘性效果(类似通讯录)

在上一篇文章RecyclerView自定义ItemDecoration绘制分割线,简单的实现了通用的分割线,同样,我们可以利用ItemDecoration来实现类似通讯录的分组粘性效果。一、实现类似通讯录的分组粘性布局,分组布局中只有文字,直接上代码。/** * 类似通讯录的分组粘性布局,分组布局中只有文字 */public class SectionDecoration exte...

2019-04-09 17:52:23 497

原创 RecyclerView自定义ItemDecoration绘制分割线

RecyclerView没有直接提供设置分割线的属性,一般我们会通过在item布局中直接添加分割线或者在代码中自定义ItemDecoration来设置,今天我们就来讲讲如何自定义ItemDecoration绘制简单的分割线。一、首先我们继承RecyclerView.ItemDecoration类自定义一个SimpleItemDecoration,直接上代码:public cla...

2019-04-08 16:57:18 622 1

原创 merge标签

merge标签的作用是再自定义布局中,或需要被include引用的布局中,减少布局的层级例如下列代码,使用了merge,则button外层不会自动生成一个父布局(RelativeLayout)<merge xmlns:android="http://schemas.android.com/apk/res/android"> <Button androi...

2019-04-01 18:10:09 460

原创 绘制View的圆角

API 21及以上,Android开放了一个接口ViewOutlineProvider类,用于设置view控件的圆角imageView.setClipToOutline(true);//允许绘制圆角imageView.setOutlineProvider(new ViewOutlineProvider() { @Override public void getOutline...

2019-04-01 18:00:13 397

原创 快速生成MVP代码模板

快速生成MVP代码模板序言MVP的优势相信大家都耳熟能详了,但是它的缺点也很明显,需要开发人员创建多个类,复制黏贴,重复的做着同样的事,浪费大量的时间和精力。接下来我们就想办法生成一个代码模板,在创建activity或fragment时,自动生成相关的文件,以及固定的代码模板。结果:1.选中包名目录,右键创建MvpActivity;2.输入要创建的Activity的名称(Test);...

2019-03-20 14:19:06 1418 1

空空如也

空空如也

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

TA关注的人

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