自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (8)
  • 收藏
  • 关注

原创 View的滑动冲突

分为三种情况:1. 内外部滑动方向不一致 ->最简单,两种解决方式:外部拦截法,内部拦截法2. 内外部滑动方向一致 ->较复杂,根据需求解决3. 包含以上两种情况的嵌套 ->复杂,根据需求解决后续更新详细解决方案...

2022-04-11 00:54:53 254

原创 View的事件分发机制

源码分析:入口:Activity的dispatchTouchEvent:->->->->->View.dispatchTouchEvent

2022-04-10 22:51:32 260

原创 Excel/WPS之粘贴可见内容

三步走:1.Ctrl+A 全选2.Ctrl+G 选择可见区域3.Ctrl+C 复制

2020-11-26 10:21:10 1108

原创 Android inputType

详细请参考源码:frameworks/base/core/java/android/text/InputType.javaTextView | Android:inputType 输入类型的完整的列表:none没有内容类型。文本不可编辑。text只是老文本。对应于type_class_text | type_text_variation_normal。textCapCharacters可以与文本及其变体相结合,以请求所有字符的大写。对应于type_text_flag_cap_chara

2020-11-25 19:05:38 498

原创 Handler内存泄露原因及解决方法

三种方案:1.非静态内部类+弱引用2.静态内部类+弱引用3.Activity不可见时,清空消息队列Android 中handler机制太重要了,无时不刻的都在处理消息队列和任务队列,很多人不注意,在处理延时任务的时候持有activity,导致activity不能被早早的回收,从而降低了APP的效率和性能。比如下面经典的写法(很多人都会这样写): new Handler().postDelayed(new Runnable() { @Override

2020-11-25 18:06:23 725

原创 Android seLinux单编方法

在Android P上如果修改了selinux的内容, 可以通过以下方法来验证是否生效:1. 单编system/sepolicymmm system/sepolicy2. push system/etc/selinux 和 vendor/etc/selinux 到手机里面, 并重启手机. adb push $(PRODUCT_OUT)/system/etc/selinux /system/etc/ adb push $(PRODUCT_OUT)/vendor/etc/.

2020-11-20 16:35:06 2356

原创 [Android] 如何在代码中执行adb shell命令

直接上干货:通过Runtime.getRuntime().exec()实现具体请参考以下:input text 模拟输入内容input keyevent 模拟 手机的按键 比如音量键 home 键 返回键 input keyevent 3 模拟按下返回键,很强大的 还有 手柄的一系列按键,可以自己查查input tap 模拟点击 屏幕 生成 down-up事件 ,例如 input tap 300 400; 这个是 PX 值input swipe 模拟滑动屏幕 例如...

2020-11-04 16:09:49 4628

原创 You can configure Gradle wrapper to use distribution with sources. Apply后同步报错:Failed to open zip

Apply:You can configure Gradle wrapper to use distribution with sources.It will provide IDE with Gradle API/DSL documentation.后报错gradle同步失败:Failed to open zip file.Gradle's dependency cache may be corrupt (this sometimes occurs after a network connect

2020-11-04 14:39:43 3398

原创 Android app系统签名方法

1. 如果有项目代码那就非常简单了, 直接吧apk放到vendor下面,添加Android.mk,然后mm编译即可得到系统签名后的产物.Android.mk文件参考源码vendor/google/apps/Android.mk文件,因为该目录下都是apk文件,一部分是需要系统签名的apk(LOCAL_CERTIFICATE := platform),而另一部分是不需要签名的apk(LOCAL_CERTIFICATE := PRESIGNED)具体内容如下 LOCAL_PATH := $(c...

2020-06-10 17:58:32 1297

原创 Android 取得系统开机的时间

SystemClock.elapsedRealtime();//返回的是系统从启动到现在的时间,单位:msSystemClock.uptimeMillis();//返回的是系统从启动到当前处于非休眠期的时间,单位:ms//从某一时间开始计时long startTime = SystemClock.elapsedRealtime();// ......做某它事情long timer =...

2020-05-08 10:09:41 2089

原创 [Android基础] Activity加载模式

1.standard: 标准模式,这是默认的加载模式。2.singleTop: Task栈顶单例模式。3.singTask: Task内单例模式。4.送了Instance: 全局单例模式。

2020-04-19 12:42:53 111

原创 单编方法

make 包名 / mm记住是报名不是文件夹名,到Android.mk中查找

2020-03-19 09:26:05 444

原创 单编报错:fatal error: runtime: out of memory

不用搜了,真的是内存不足了,把占内存的软件关掉再试。

2020-03-18 19:56:16 6599 1

原创 Android key store

1. androidkeystore 安全存储2. android keystore存储字符串https://www.jianshu.com/p/65b2aa6ec85fhttps://blog.csdn.net/zhangyi0618/article/details/83978407https://blog.csdn.net/sinat_29321583/article/deta...

2020-03-12 00:00:20 207

原创 [Java] 常用知识点记录

1. 字符串的插入和替换:StringBuilder.insert()与StringBuilder.replace()

2020-03-10 20:11:08 91

原创 [Java环境] Error: This Java instance does not support a 64-bit JVM

解决版本:打开控制面板,卸载32位java,安装64位javajre,jdk官网下载非常慢,稍后会上传可以从我这里下载~

2020-02-25 23:34:01 1956

原创 dpkg: error processing package grub-efi-amd64-signed

使用如下的办法解决:sudo apt-get cleansudo apt-get updatesudo apt-get install --reinstall python-minimal python-lockfile

2020-02-03 10:27:56 1757

原创 备战面试:MVC MVP MVVM MVPVM应用架构模式区别

分析主要是通过它的控制链、控制流向,View 的变化如何反馈到Model,以及Model的变化如何作用到View上。MVCView 持有了Controller,把事件传递给Controller,Controller 由此去触发Model层的事件,Model更新完数据(网络或者本地数据)之后触发View的更新事件MVC.pngMVPMVP.png咋看一下MVP只...

2019-12-16 00:02:53 541

原创 备战面试:MVC MVP MVVM应用架构模式区别

MVVM可以算是MVP的升级版,其中的VM是ViewModel的缩写,ViewModel可以理解成是View的数据模型和Presenter的合体,ViewModel和View之间的交互通过Data Binding完成,而Data Binding可以实现双向的交互,这就使得视图和控制层之间的耦合程度进一步降低,关注点分离更为彻底,同时减轻了Activity的压力。在比较之前,先从图上看看三者的异...

2019-12-16 00:01:02 414

原创 备战面试:MVVM应用架构模式

MVVM 模式,即指 Model-View-ViewModel。它将 View 的状态和行为完全抽象化,把逻辑与界面的控制完全交给 ViewModel 处理。如下图:MVVM 由下面三层组成:View:主要进行视图控件的一些初始设置,不应该有任何的数据逻辑操作。 Model:定义实体类,以及获取业务数据模型,比如通过数据库或者网络来操作数据等。 ViewModel:作为连接 V...

2019-12-15 23:57:13 160

原创 备战面试:MVP应用架构模式

MVC的缺点在Android开发中,Activity并不是一个标准的MVC模式中的Controller,它的首要职责是加载应用的布局和初始化用户 界面,并接受并处理来自用户的操作请求,进而作出响应。随着界面及其逻辑的复杂度不断提升,Activity类的职责不断增加,以致变得庞大臃肿。什么是MVP?MVP从更早的MVC框架演变过来,与MVC有一定的相似性:Controller/Prese...

2019-12-15 23:46:38 143

原创 备战面试:MVC应用架构模式

MVC模式介绍:MVC是Model-View-Controller的简称Model:模型层,负责处理数据的加载或者存储View:视图层,负责界面数据的展示,与用户进行交互Controller:控制器层,负责逻辑业务的处理MVC模式的特点:1.耦合性低;2.可扩展性好;3.模块职责划分明确MVC模式的不足:XML文件作为视图层,所做的事情比较有限,所以Ac...

2019-12-15 23:34:21 142

原创 Process 'command 'git'' finished with non-zero

因为通过网页下载的代码没有将git库一起下载下来,缺少git库,可以尝试通过clone将完整代码下载下来。

2019-12-12 15:14:00 4860 2

原创 Ubuntu硬盘挂载

1. 通过查看分区命令找到你的磁盘sudo fdisk -l2.创建想要挂在硬盘的目录sudo mkdir /home/data3.挂在硬盘(有时会自动挂载,没有自动挂载就手动挂载)sudo mount /dev/sda2/ /home/data/4.查看UUIDsudo blkid /dev/sda25.修改配置文件sudo gedit /etc/fstab...

2019-11-18 19:30:10 90

原创 Ubuntu终端无法打开/启动终端失败/Failed to execute child process "gnome-terminal"

输入gnome-terminal报错:usr/bin/python3:bad interpreter:No such file or directory安装最新python版本https://www.python.org/downloads/release/python-2716/安装步骤https://blog.csdn.net/weixin_43790276/arti...

2019-08-15 14:55:56 7376

原创 linux ubuntu系统下U盘只读文件系统问题

请参考:https://blog.csdn.net/ITBigGod/article/details/79914534

2019-06-26 09:50:47 685

原创 git nano/vim 编辑器如何退出

vim编辑器:Esc ->Shift+: →wq! →EnterNano编辑器:Ctrl+x→Y->Enter修改git默认的编辑器nano为vim的方法:git config --global core.editor vim

2019-05-24 15:57:49 2816

原创 开关机动画:Shutdown animation实现方案

android7.0代码没有关机动画的实现,默认是使用关机对话弹框完成。如果需要定制化关机动画,则需要重新设计。思路分为两种:一是新建一个shutdown animation服务,完全仿照bootanimation重新拷贝一份代码然后进行相关的修改,因为动画的显示逻辑都是一样的,不同的只是文件读取路径不一样,然后就是触发地点不一样。正因为差异很小,这样做的代价很大,而且涉及到很...

2019-05-23 20:48:02 2434

原创 avc: denied

seLinux问题,待续

2019-05-21 09:38:09 1818

原创 Linux ubuntu常用工具

1. Beyond CompareBeyond Compare4安装及破解步骤请参考:https://blog.csdn.net/qq_26012495/article/details/86514147亲测可用~

2019-05-12 18:21:44 156

原创 AndroidXRef使用说明

OpenGrok一个快速、便于使用的源代码搜索与对照引擎。它帮助你搜索,对照,定位你的源代码树。它能够明白各种程序文件格式和版本控制历史记录。借助 Eclipse 以及本地源码可以比较方便地分析 Android 源码,但是对于 Native 代码的调用就无法通过 Eclipse 的快速定位来查看相应的 Native 源码了,而且 Android 源码中对 Native库的加载一般不是通过在 Sta...

2019-05-12 17:28:25 3273 2

原创 OpenGrok搭建方法

兄弟们我已经上传了源码,大家如果想要深入学习android尽快看起来吧~俗话说:工欲善其事必先利其器。这句话没毛病啊,学习android源码也需要好的工具才能事半功倍。强烈推荐大家使用opengrok工具,下面给大家详细说一下opengrok的搭建过程。导语阅读源码最常见操作的就是在函数/方法的调用与定义之间跳转,对于只有大部分源码来说,都可以通过ctags+vim获得比较好的体验...

2019-05-12 16:54:47 2878 3

原创 [Android基础] ListView

ListView是手机系统中使用非常广泛的一种组件,它以垂直列表的形式显示所有列表项。生成列表视图有以下两种方式:(1)直接使用ListView进行创建(2)让Activity继承ListActivity(相当于好Activity显示的组件为ListView)一旦在程序中获得了ListView之后,接下来就需要为ListView设置它要显示的列表项了。在这一点上,ListView显...

2019-04-29 01:16:06 210

原创 [Android Studio 日常奇怪问题记录] 之Can't find module

在编译一些老代码时经常遇到该问题,解决办法使用最新SDK版本进行编译。

2019-04-25 17:31:14 1576

原创 @Inject 注入 报报空指针异常

关于@Inject的基本用法我就不多说了,直接解决问题。1.请尝试将@Inject改成@Resource2.如果还报错请查看需要实例化的类(假设类为Test)如果是一个单例模式的类请使用 Test mTest = Test.getInstance();如果不是单例模式请使用 Test mTest = new Test();3.如果非要使用@Inject,请先学习基本用法^^~...

2019-04-24 16:16:08 3843

原创 [Android Studio 日常奇怪问题记录] 之Cannot read packageName from AndroidManifest.xml

请检查app下是否有build.gradle文件。

2019-04-23 15:58:44 3663 3

原创 [Android Studio 日常奇怪问题记录] 之Compilation failed; see the compiler error output for details.

直接上图:将cv.save(Canvas.ALL_SAVE_FLAG);改成cv.save();

2019-04-23 00:43:09 416

原创 android源码下载

https://download.csdn.net/download/u010117864/11134984

2019-04-22 01:54:31 324

原创 [Android Studio 日常奇怪问题记录] 之ERROR: Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.21

问题原因:kotlin插件升级到1.2.41时提示kotlin-stdlib-jre7过时解决办法:将org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.21改成org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.21

2019-04-20 13:48:53 1580

原创 [Android Studio 日常奇怪问题记录] 之ERROR: All flavors must now belong to a named flavor dimension.

解决办法:在app的build.gradle->defaultConfig中添加flavorDimensions "default",问题解决。上图:

2019-04-20 13:46:08 170

android应用性能优化最佳实践读书笔记

android应用性能优化最佳实践 读书笔记

2020-11-30

Gradle最新版本5.1.1

Gradle最新版本5.1.1

2019-04-29

Android Studio最新版本3.4.0

Android Studio最新版本3.4.0 Android Studio最新版本3.4.0 下载txt文件里面有下载链接和提取码。

2019-04-27

夜间模式实现方法3 webview夜间模式

该文档总结了一种通过注入css实现夜间模式的方法。 兴趣的同学可以参考,有不懂的地方欢迎留言,共同进步! 谢谢!

2019-04-25

夜间模式实现方法2

该文档总结了一种通过切换主题实现夜间模式的方法。 有兴趣的同学可以参考,有不懂的地方欢迎留言,共同进步! 谢谢!

2019-04-25

夜间模式实现方法1

该文档总结了一种通过AppCompatDelegate实现夜间模式的方法。 有兴趣的同学可以参考,有不懂的地方欢迎留言,共同进步! 谢谢!

2019-04-25

android源码

android源码下载 版本:android1.6

2019-04-22

Browser源码下载

Browser源码下载

2019-04-02

空空如也

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

TA关注的人

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