- 博客(23)
- 收藏
- 关注
原创 【跨平台】KMM项目接入kapt
今天在KMM项目里尝试接入kapt时,发现接入出错,一系列查找后解决问题了,现在记录一下配置plugins { ... kotlin("kapt")}dependencies { //接入ROOM configurations.getByName("kapt").dependencies.add( org.gradle.api.internal.artifacts.dependencies.DefaultExternalModuleDependency(
2022-03-07 18:22:44
542
原创 【Android Studio】git pull 时遇到askpass 问题的解决方法
Android Studio 使用git工具时,git pull失败,出现askpass错误的问题
2022-02-25 11:23:16
6897
4
原创 Android 如何在关闭的情况下打开notification
Android APP被关闭后无法打开推送消息0.前言众所周知,通过消息推送下发消息,目前移动端APP产品运营最重要的运营手段之一。而如何解决这方面的问题,优化这部分的体验,是我们必须去解决的。1.发现问题最开始,运营同学反馈了一个问题:通知栏消息点击后无响应,无法打开应用,跳转到活动页面。通过查询日志信息,很快技术同学就回复说,这个问题是因为接收到消息后,kill掉应用导致的。2.Wh...
2020-04-19 19:49:35
1123
原创 【动态规划】求最长公共子序列
一、解题思路看到这题,我们先得知道怎么求最长公共子序列。对于串A:a1,a2…an;串B:b1,b2…bm;我们将求子串定为F(n,m); 我们先比较an和bm两个字符,会有两种情况如果相等,我们就会继续比较除最后一个字符的两个串,此时的公共子序列则为an; an == bm ,F(n,m) = F(n-1,m-1)+an; 如果不相等,则去比较 an和b(m-1) 或者 a...
2018-08-22 18:02:18
404
原创 Android WebView被导航栏遮挡的问题
对于有导航栏的手机,我们需要对导航栏进行相关的处理,让布局不被导航栏遮挡。 对于webview,导航栏可能会遮挡住部分布局。 对于Button和TextView等控件,其默认会再导航栏之上。我们可以利用这一点,来解决webview被遮挡的问题。<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:an...
2018-06-14 18:10:28
6211
1
转载 标题栏,导航栏的2个属性,沉浸式相关
不覆盖且为透明<!--状态栏不覆盖在ContentView上--><item name="android:windowDrawsSystemBarBackgrounds">false</item><!--设置系统状态栏为透明--><item name="android:windowTranslucentStatus">t
2018-06-14 15:26:33
251
原创 Android 播放系统提示音
Android 播放系统提示音Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); Ringtone rt = RingtoneManager.getRingtone(getApplicationContext(), uri); rt.play();
2018-05-24 14:20:43
1782
原创 HTML 基本标签(二)
分组<ul><li>XX</li></ul> 无序标签 · <ol><li>XX</li></ol> 有序标签 1.2. <div></div> 分出逻辑部分,相当于容器 <div id="a&q
2018-05-06 17:51:19
287
原创 HTML 基本标签(一)
HTML基本结构标签<html> </html> 根标签,所有标签都在这当中 <head></head> 头部标签 <body></body> 内容标签 <!-- XXX --> 注释head标签<title></title> 浏览器标
2018-05-06 16:30:28
263
原创 详解Activity的生命周期
Activity的生命周期是很基础,也是面试经常遇到的问题,我们光知道有哪些周期是远远不够的,还要尽可能多的知道各种情况下生命周期的回调情况。 对于基本的调用流程本篇博客不会涉及,主要是讲解一下各种情况的调用情况。一、ActivityA to ActivityB to ActivityAActivityA to ActivityBActivityA : onPauseAc...
2018-04-20 18:54:27
271
原创 自定义View的测量与绘制
前言在Android开发过程中,我们可能会经常去自定义View,在自定义View之前,我们必须了解清楚系统是如何绘制出这些View的。一、测量首先,我们的系统会先测量这个View的大小,以便知道该画多大的一个View。这个过程在onMeasure()方法中进行。 首先我们需要了解这样一个强大的类——MeasureSpec,它来帮助我们测量View。 MeasureSpec是一个...
2018-03-13 16:56:21
333
原创 大话设计模式——观察者模式(二)
前言:基础的观察者模式:大话设计模式——观察者模式(一)一、再识观察者模式1.1 目标与观察者目标与观察者的关系是典型的一对多关系,当然,实现一对一也是可以的。 一个观察者,可以关注多个目标,一个目标也可以被多个观察者观察。 比如,小陈的女朋友和他老妈可以同时关注天气信息。而小陈的女朋友也可以同时关注天气和报纸。需要注意的是,这时的通知方法要进行区分。1.2 单向依赖观察者依赖目标。主动权在目标
2017-11-08 14:05:17
376
原创 大话设计模式——观察者模式(一)
一、概念1.1 定义定义对象间的一种一对多的依赖关系。当一个对象(被观察者)的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新(观察者)。1.2 实例场景小陈在气象局工作,可以为他的家人提供最新的天气情况。这时,小陈就是被观察者,他的家人就是观察者。他的家人订阅天气服务,小陈就可以提供最新的天气预报到订阅者手中。而他的家人收到通知后,可以做出自己的反应。二、通用代码2.1 目标类这里的目标
2017-11-08 14:03:47
459
1
原创 大话设计模式——适配器模式
前言生活中有许多时候需要用到适配器,比如插座适配器,能将两孔的转为三孔的。 适配器就相当于是一个接口转换器,它可以将一个接口转换成需要的接口,极大的提高了效率。实例我们通过一个电脑充电的实例来给大家讲解一下。 现在我们有一台电脑(只支持三孔插座),一个二孔的插座,我们的电脑要没电了,代码也没保存,这时候我们要怎么办呢?对,我们需要一个插座的转换器。首先,我们先写出三孔插座的接口public in
2017-10-31 09:32:50
506
原创 大话设计模式——单例模式
前言有些对象,只需要一个就足够了,比如线程池、日志文件,这时我们就需要用到单例模式。饿汉模式创建类的时候,就已经有了实例了,比较早些的创建,为饿汉模式public class Test { public static void main(String[] args) { Singleton s1 = Singleton.getInstance(); Single
2017-10-30 17:51:12
381
原创 Thread与Runnable比较
一、线程创建的两种方式1.1继承Threadclass MyThread extends Thread{ @Override public void run() { } }//创建线程MyThread myThread = new MyThread();//启动线程myThread.start();1.2实现Runnable接口class
2017-10-30 10:46:34
395
原创 Android自定义View与添加点击事件
一、新建属性在新建的module中的values文件夹下新建atts.xml声明<declare-styleable name="Topbar"> <attr name="title" format="string"/> //此处省略10000字</declare-styleable>二、实现自己的View可以继承RelativeLayout创建构造方法private String t
2017-10-03 15:29:17
4302
原创 Fragment详解
一般手机开发,用到fragment的情况很多,主要有以下两种用法 平板与手机的运用 抽出相应模块复用 一、Fragment的使用(一)静态使用1.大致流程继承fragment(app包下的),重写onCreateView()回调方法 设置Fragment的布局在Activity中声明Fragment 使用方式与view相同2.创建和...
2017-10-02 20:18:51
873
原创 mkdir()与mkdirs()的区别
问题描述用了file.mkdir()为何还是不能创建文件?比较boolean mkdir() : 创建此抽象路径名指定的目录。 boolean mkdirs() : 创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。 举例File file = new Flie("d:/aaa");file.mkdir();能创建成功目录,会在d盘下创建名为aaa的目录。File file = n
2017-09-28 15:45:33
1266
原创 Android大图片、缩略图剪裁解决方案
很多同学进行Android开发的时候,不可避免的会遇到图片的剪裁,比如剪裁头像。 怎么打开照相机或者打开图库本文暂时不讲,本文主要介绍,剪裁时遇到的问题。剪裁界面的参数设置我们知道,此类图片的来源有拍照和图库,而可以采取的方式有 使用Bitmap并返回数据 使用Uri不返回数据 我们可以用以下代码打开系统提供的剪裁界面Intent intent = null;intent =
2017-09-27 16:57:08
539
原创 getCountLine() 为0的问题
当我们需要获取TextView的行数的时候,我们就去调用textView的getCountLine()方法去获取,但发现返回的值为0。 原来TextView的getCountLine() 需要异步获取,放在另外个线程中,因为textview还未加载完成,页面还未渲染完。TextView tv_test=(TextView)findviewbyid(id); //初始化textview控件tv_
2017-06-12 10:31:04
773
原创 Android动画点击不运行
不知道大家遇到过这种问题没有,明明通过setAnimation方法设置好了动画,也运行了start方法,但动画就是迟迟动不起来。
2017-06-07 11:41:14
1297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人