<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Come丶On]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xy4_android</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xy4_android]]></copyright><item><title><![CDATA[利用Chrome Edge浏览器调试AndroidWebView]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/119102640</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/119102640</guid><author>xy4_android</author><pubDate>Mon, 26 Jul 2021 09:55:35 +0800</pubDate><description><![CDATA[前言
对于混合开发的app来说，查看webView的一些报错信息是很重要的一个技巧。虽然android的WebView对于报错信息的提示并不是非常友好，好在有第三方工具可以使用。
Chrome浏览器
1. 输入chrome://inspect
打开chrome浏览器输入chrome://inspect即可进入调试页面

在Devices选项中，可以看到要调试的设备（手机已经通过USB调试连接到电脑上）和要调试的页面（手机已经打开要调试的WebView页面）。
2.点击inspect
点击要调试页面的左下角i]]></description><category></category></item><item><title><![CDATA[Android日期加任意天数计算方式]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/90906330</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/90906330</guid><author>xy4_android</author><pubDate>Wed, 19 Jun 2019 13:46:54 +0800</pubDate><description><![CDATA[比如
2019-05-03 加10天，再加20天，再加30天，应该怎么计算。因为要考虑大小月(30天/31天)，如果是2月还要考虑平年闰年。想想都会很头疼。一大推逻辑等着自己处理。
Calendar

...]]></description><category></category></item><item><title><![CDATA[Android基础控件之Toolbar]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/90512807</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/90512807</guid><author>xy4_android</author><pubDate>Mon, 27 May 2019 14:50:45 +0800</pubDate><description><![CDATA[开个头
总结 Toolbar 用法
简介
从 Android 3.0（API level11）开始，所有使用默认主题的 Activity 均使用 ActionBar 作为应用栏。不过，经过不同 Android 版本的演化，应用栏功能已逐渐添加到原生 ActionBar 中。因此，原生 ActionBar 的行为会随设备使用的 Android 系统的版本而发生变化。相比之下，最新功能已添加到支持库版...]]></description><category></category></item><item><title><![CDATA[Android 版本号及对应的版本名]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/90513166</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/90513166</guid><author>xy4_android</author><pubDate>Fri, 24 May 2019 11:15:35 +0800</pubDate><description><![CDATA[版本号
版本名
中文名




API Q
android Q



API 28
android 9.0 Pie
馅饼


API 27
android 8.1 Oreo
奥利奥


API 26
android 8.0 Oreo
奥利奥


API 25
android 7.1 Nougat
牛轧糖


API 24
android 7.0 Nougat
牛轧糖


API 23
an...]]></description><category></category></item><item><title><![CDATA[欢迎页或者引导页设置不当导致OOM]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/90242354</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/90242354</guid><author>xy4_android</author><pubDate>Thu, 16 May 2019 16:43:29 +0800</pubDate><description><![CDATA[开个头
开发中OOM (OutOfMemory Error)这个异常应该都遇到过。至于解决方法，就是告诉用户该换手机了。。。
我遇到的OOM是在app第一次启动时，先进入欢迎页，然后进入引导页，然后OOM。确实是在部分手机才会遇到，主流的内存比较大的手机是没问题的。接下来就是解决这个OOM。
解决问题前先说明一下我的情况，欢迎页就是ImageView直接设置src一个本地图片，引导页就是一个Vie...]]></description><category></category></item><item><title><![CDATA[Android Studio gradle 技巧二 依赖统一管理]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/90042456</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/90042456</guid><author>xy4_android</author><pubDate>Fri, 10 May 2019 16:59:54 +0800</pubDate><description><![CDATA[开个头
为什么统一管理依赖呢？
当你的项目只有一个app module的时候，你想要修改compileSdkVersion，可以在app build.gradle里面直接改就好了，不会存在漏改的情况，但是相应的依赖版本号也要修改，比如，support库，design库等等，也需要你再app build.gradle里面一个一个修改，此时就会出现漏改的情况，不过，没关系，编译器会提醒你。
当你的项目...]]></description><category></category></item><item><title><![CDATA[Canvas画文本时设置某些文本颜色与其他不同]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/84755017</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/84755017</guid><author>xy4_android</author><pubDate>Thu, 09 May 2019 10:42:24 +0800</pubDate><description><![CDATA[效果图
直接看效果图

分析一波
就是控件下面的一行文本，用canvas画出来，而不是用TextView(当然你用TextView也是可以实现的，本文不做讨论)。
我们用canvas画文本的方法是drawText(@NonNull String text, float x, float y, @NonNull Paint paint)，简单介绍一下这个方法穿的参数值，text：要画的文本，x：起点...]]></description><category></category></item><item><title><![CDATA[Android Studio gradle 技巧一 重要信息脱敏]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/89926858</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/89926858</guid><author>xy4_android</author><pubDate>Wed, 08 May 2019 13:38:19 +0800</pubDate><description><![CDATA[开个头
众所周知，android的签名文件(.jks 或者 .keystore)很重要。一般我们配置签名文件的写法是直接在app build.gradle文件里进行明文配置。不是很优雅。
或者我们对接第三方的时候，会申请一些appkey或者appSecret，一般也是会直接出现在代码里，不是很安全。]]></description><category></category></item><item><title><![CDATA[ViewPager实现画廊效果]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/82351025</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/82351025</guid><author>xy4_android</author><pubDate>Tue, 07 May 2019 15:59:48 +0800</pubDate><description><![CDATA[开个头

关键类



public class MyPageTransformer implements ViewPager.PageTransformer {

    private static final float MIN_SCALE_X = 1.0f;
    private static final float MIN_SCALE_Y = 0.8f;
    private sta...]]></description><category></category></item><item><title><![CDATA[Design editor is unavailable until a successful build]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/82995039</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/82995039</guid><author>xy4_android</author><pubDate>Wed, 10 Oct 2018 12:46:02 +0800</pubDate><description><![CDATA[开个头
非技术贴
记录AS报错和解决方法
过程
新创建了一个project，导入了一个第三方的一个module，费了牛劲导入完成，同步成功之后，准备写demo，然后发现，布局文件的 Design 和Preview 都显示失败。我第一时间忘了截图了，从网上找了个图。

解决方法
Design editor is unavailable until a successful build
链接里是英文，...]]></description><category></category></item><item><title><![CDATA[报错Cannot resolve symbol XXX]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/82970990</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/82970990</guid><author>xy4_android</author><pubDate>Mon, 08 Oct 2018 17:58:06 +0800</pubDate><description><![CDATA[开个头
公司让修改一个别人写的项目。
改就改呗，无fuck说。。。。。。
过程
导入as的时候还行，修改了gradle的版本之后，项目就同步完成。运行一下，完美运行，心里美滋滋
然后开始熟悉代码
WC？一片红，全是cannot resolve symbol XXX

...]]></description><category></category></item><item><title><![CDATA[Android Studio Cannot Load Settings from file 错误]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/72869968</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/72869968</guid><author>xy4_android</author><pubDate>Mon, 08 Oct 2018 17:57:54 +0800</pubDate><description><![CDATA[

如图所示的错误。鄙人在开心的敲代码，突然as未响应，无奈关闭重启as，然后就蹦出来这个错误。

解决方法：





自动重启了as之后，又可以开心的敲代码了。

这个其实就是清理了as的缓存，可以理解为as第一时间的缓存文件发生错误，所以清楚缓存，重新编译。

这个方法可以解决不少莫名其妙的错误。
 ...]]></description><category></category></item><item><title><![CDATA[Android收集程序崩溃日志]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/80846610</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/80846610</guid><author>xy4_android</author><pubDate>Thu, 30 Aug 2018 17:21:08 +0800</pubDate><description><![CDATA[欢迎使用Markdown编辑器写博客

本Markdown编辑器使用StackEdit修改而来，用它写博客，将会带来全新的体验哦：


Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键






快捷键


加粗    Ctrl + B 
斜体    Ctrl + I...]]></description><category></category></item><item><title><![CDATA[Android文件存储(一)内部存储]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/80985890</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/80985890</guid><author>xy4_android</author><pubDate>Wed, 29 Aug 2018 15:56:26 +0800</pubDate><description><![CDATA[内部存储空间的私有目录

路径：data/data/包名

外部存储空间的私有目录

路径：/storage/emulated/0/Android/data/包名

外部存存储空间的公共目录

路径：/storage/emulated/0...]]></description><category></category></item><item><title><![CDATA[使用adb查看任务栈]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/81041734</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/81041734</guid><author>xy4_android</author><pubDate>Sat, 14 Jul 2018 14:43:37 +0800</pubDate><description><![CDATA[开个头

在学习activity启动模式的时候，尤其是学到清单文件里taskaffinity这个属性和从其他应用打开本应用的某个activity时，都要对当前activity的栈的情况进行分析。

用ActivityManager获取RunningTask

根据ActivityManager获取当前的任务栈（按手机的任务键，显示后台正在运行的程序，这些其实都是一个个的任务栈），也就是当前在屏幕运...]]></description><category></category></item><item><title><![CDATA[Activity启动模式（一）之singleTask+finish()退出应用程序]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/81001292</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/81001292</guid><author>xy4_android</author><pubDate>Thu, 12 Jul 2018 15:50:42 +0800</pubDate><description><![CDATA[开个头

在一篇公众号中看到了，优雅退出anroid应用程序的方法，优雅地退出应用。 
其中提到了一种用SingleTask+finish（）的方法退出android应用。我们来简单的分析一下。



简单分析四种启动模式



standard

标准模式：也是默认的启动模式，就是每次启动该Activity的时候，都会重新创建该Activity的实例，并不会考虑当前activity栈里面是否有该...]]></description><category></category></item><item><title><![CDATA[Android使用版本控制时应该忽略的文件]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/80868498</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/80868498</guid><author>xy4_android</author><pubDate>Sat, 30 Jun 2018 17:38:41 +0800</pubDate><description><![CDATA[开个头

一些android开发者，在开发程序时不用版本控制，着实令人蛋疼。在代码修改的时候，直接把整个工程打包给你，有时候整个工程的文件夹大到想打人。而且如果你们用的都是一个版本的as和用一个编译版本还好，如果不是一样的，那就去改吧。。。打包(未集成版本控制)应该删除的文件其实和版本控制应该忽略的文件差不多，所以，整理下吧。

git

先说下git。 
其实我们用androidstudio创建...]]></description><category></category></item><item><title><![CDATA[Android面试之layout布局文件的分包]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/80796913</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/80796913</guid><author>xy4_android</author><pubDate>Thu, 28 Jun 2018 09:50:08 +0800</pubDate><description><![CDATA[开个头

去某公司面试，25道笔试题，写的我不(去)亦(N)乐(M)乎(的)。其中有一道题是什么概述Android资源文件layout的分包还是步骤什么的，一看到题目就头大了，根本没听过，而且那个公司真是给(恶)力(心)，4G奇慢无比，所以我果断放弃这道题。笔试完毕，去面试的时候，我问了面试官，那道题layout分包是什么？我好像一点也不知道，只见面试官嘴角上扬，微微一笑……就完了

layout...]]></description><category></category></item><item><title><![CDATA[使用souceInsight查看Android源码]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/80550912</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/80550912</guid><author>xy4_android</author><pubDate>Sat, 02 Jun 2018 20:05:44 +0800</pubDate><description><![CDATA[开个头

很简单，查看源码很重要，通过看源码的方式来解决bug或者来学习android功能实现的原理 是我们开发andorid一个不可或缺的技能。话不多说。

下载sourceInsight

sourceInsight官网下载 
我上传的一个4.0版本

安装sourceInsight

没什么好说的，next next i accept next next installing ok。



...]]></description><category></category></item><item><title><![CDATA[修改AlertDialog的button的字体颜色]]></title><link>https://blog.youkuaiyun.com/xy4_android/article/details/72288826</link><guid>https://blog.youkuaiyun.com/xy4_android/article/details/72288826</guid><author>xy4_android</author><pubDate>Mon, 28 May 2018 08:48:14 +0800</pubDate><description><![CDATA[AlertDialog修改Button的字体颜色



去网上搜了一下，大部分是通过修改主题中的属性值。详见通过源码分析，修改AlertDialog按钮的颜色，看了之后，确实是一步一步查找，一步一步深入，找到了系统设置颜色的方法，也可实现需求。



如果用面向对象的思想 思考一下，应该可以.getButton()得到Button对象，然后，直接对这Button对象设置颜色属性值就]]></description><category></category></item></channel></rss>