<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lovelixue的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lovelixue</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lovelixue]]></copyright><item><title><![CDATA[kotlin-协成同步]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/125356907</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/125356907</guid><author>lovelixue</author><pubDate>Sun, 19 Jun 2022 13:18:10 +0800</pubDate><description><![CDATA[kotlin协成同步代码，实现等待前者执行完后再执行后面代码]]></description><category></category></item><item><title><![CDATA[java.lang.NullPointerException at com.google.common.base.Preconditions.check]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/124912509</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/124912509</guid><author>lovelixue</author><pubDate>Sun, 22 May 2022 16:33:45 +0800</pubDate><description><![CDATA[都说是ndk配置问题，然后我各种下载ndk版本配置，无效，最后我看到我的gradle-tool版本低了，我想着反正等着下载ndk也是等着，就直接提升了版本，从3.1.3改到3.5.3，然后同步提示gradle这个需要最低5.4.1，然后我改了，结果同步直接通过了，上面那个ndk的也不存在了
...]]></description><category></category></item><item><title><![CDATA[Jetpack Compose学习（一）：初步创建compose项目]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/121354608</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/121354608</guid><author>lovelixue</author><pubDate>Tue, 16 Nov 2021 15:03:38 +0800</pubDate><description><![CDATA[前言：compose项目是基于kotlin的进阶，因此需要有一定kotlin的基础，同时对Androidstudio开发工具有版本要求，具体版本下载及简介可参考https://developer.android.google.cn/jetpack/compose/setup?authuser=0

接下来开始创建我的第一个compose项目

1.file-new-new project

2.选择Empty Compose Activity

3.finish
...]]></description><category></category></item><item><title><![CDATA[Android调用系统相机拍照]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/120503457</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/120503457</guid><author>lovelixue</author><pubDate>Mon, 27 Sep 2021 10:30:27 +0800</pubDate><description><![CDATA[1.设置路径，调用拍照，并指定路径


public void test(){
        placePhotoPath = ContantsUtils.FilePath.PlacePhoto + UUIDUtil.getUUID() + ".jpg";
        File path = new File(placePhotoPath);
        if (!path.exists()) {
            path.mkdirs();
        }
        place]]></description><category></category></item><item><title><![CDATA[litepal更新数据失败]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/120492374</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/120492374</guid><author>lovelixue</author><pubDate>Sun, 26 Sep 2021 16:53:04 +0800</pubDate><description><![CDATA[我再做数据库更新操作的时候，有一个字段是int类型的，于是乎通过update方法更新失败，需注意：litepal不支持int类型，需要改为Integer即可
]]></description><category></category></item><item><title><![CDATA[Android11文件夹创建兼容]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/115540085</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/115540085</guid><author>lovelixue</author><pubDate>Fri, 09 Apr 2021 10:29:50 +0800</pubDate><description><![CDATA[本篇仅限自己记录一下Android兼容创建外部存储文件夹，无法从根本上兼容处理，能解决问题

1.android:requestLegacyExternalStorage="true"

2.将targetSdkVersion改成28，包括compileSdkVersion，buildToolsVersion

也希望能帮助到各位
...]]></description><category></category></item><item><title><![CDATA[Unable to add window -- token null is not valid； is your activity running?]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/115233735</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/115233735</guid><author>lovelixue</author><pubDate>Fri, 26 Mar 2021 11:26:51 +0800</pubDate><description><![CDATA[我的场景是自定义一个popupwindow，然后再activityA跳转到activityB的的时候，B里面有个借口请求，开始请求是show，然后报了这个错，意思就是我的activity还未完全运行起来，就show了pop窗口

既然activity还未完全运行起来，那么我们就要加个判断去判断activity是否已经启动，isAttachedToWindow，这个方法的意思就是判断activity是否已经初始化完成并且可以被调用

上代码


public void show(){
        Acti]]></description><category></category></item><item><title><![CDATA[android.util.AndroidRuntimeException: Animators may only be run on Looper threads]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/115233291</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/115233291</guid><author>lovelixue</author><pubDate>Fri, 26 Mar 2021 11:16:50 +0800</pubDate><description><![CDATA[首先说说我自己的应用场景

我自定义了一个popupwindow，然后在show的时候提示了这个错，大致意思就是动画在子线程运行了


public void show() {
        Activity topActivity = ActivityUtils.getTopActivity();
        if (topActivity instanceof AppCompatActivity) {
            showAtLocation(topActivity.getWindow]]></description><category></category></item><item><title><![CDATA[解析包时出现问题]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/113736527</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/113736527</guid><author>lovelixue</author><pubDate>Sun, 07 Feb 2021 10:23:43 +0800</pubDate><description><![CDATA[关于应用内升级出现这个提示

我在实现安装apk的时候出现的，开始也是检查安装方法，配置信息，发现都是正常的，后来查看了一些资料发现对于Android10的目录获取有一定限制

得访问应用自身的目录和公共目录，于是我把包放到Download目录下，发现调用正常了，此为其一

其二则是包的问题，有些正式包则不行，我自己重新打了个正式包发现可以，前提也是在其一目录的前提下的，这个还不是很清楚，但是一般自己的正式包就没问题

献上我的安装方法的实现 https://blog.youkuaiyun.com/lovelixue.]]></description><category></category></item><item><title><![CDATA[Android应用内升级]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/113736341</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/113736341</guid><author>lovelixue</author><pubDate>Sun, 07 Feb 2021 10:18:48 +0800</pubDate><description><![CDATA[此文章只实现应用内调起安装界面安装更新包

首先上安装方法


public static void installApk(Activity activity, File apkFile) {
        Intent intent = new Intent();
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.setAction(Intent.ACTION_VIEW);
        Uri uri = n]]></description><category></category></item><item><title><![CDATA[as it is not the root of a working copy； try relocating]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/113656304</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/113656304</guid><author>lovelixue</author><pubDate>Thu, 04 Feb 2021 17:03:50 +0800</pubDate><description><![CDATA[问题描述：该场景是我的项目代码从服务器地址a改到服务器地址b了，我的修改方法是在as里面VCS-----&gt;Subversion---&gt;relocate,然后在to url里面修改的

提示这个error的原因是你的本地修改文件和svn的不一致，按正常情况来说，应该是地址更新成功，然后提示你冲突位置的，但是由于as的缓存问题导致，修改失败

我的解决方案是没有在as里面修改svn地址，而是到项目本地路径去通过svn的客户端操作的，操作步骤相同，在你的项目文件夹空白处右击后找到relocate，然后]]></description><category></category></item><item><title><![CDATA[FileUriExposedException: file:///storage/emulated/0/001/1612321465868.mp4 exposed beyond app through]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/113592669</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/113592669</guid><author>lovelixue</author><pubDate>Wed, 03 Feb 2021 12:01:36 +0800</pubDate><description><![CDATA[我在调用系统相机的时候报错


private void openCamera() {
        Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
        if (intent.resolveActivity(getPackageManager()) != null) {
            startActivityForResult(intent,takeCameraCode);
        }
    }

]]></description><category></category></item><item><title><![CDATA[java.lang.NoSuchMethodError: No static method encodeBase64String([B)Ljava/lang/String]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/112274200</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/112274200</guid><author>lovelixue</author><pubDate>Wed, 06 Jan 2021 15:05:56 +0800</pubDate><description><![CDATA[记录个问题：

后台密码加密使用了阿帕奇的base64，然后我添加依赖后发现运行可以，正式打包的时候就是报这个错，经过一番资料搜索查询，然后使用jar进行加载，发现还是一样，最后发现需要替换成Android自己的api

解决方法：

1.将原有的import org.apache.commons.codec.binary.Base64;替换成import android.util.Base64;

2.原有阿帕奇的base64的加解密方法是一个参数，新的需要两个参数，第二个参数可使用Base64.DEFA]]></description><category></category></item><item><title><![CDATA[Android的条目里面使用edittext时的复用问题]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/111031938</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/111031938</guid><author>lovelixue</author><pubDate>Fri, 11 Dec 2020 11:30:01 +0800</pubDate><description><![CDATA[我描述下我遇到的问题，场景是一个列表，每个item里面有edittext，例如：我输入item1，item2，item3，item4值分别为1,2,3,4，然后向下滑动，滑动到这四个item消失会，会发现item1的值1被清空了

首先我的代码是：


if(s.etText.getTag() instanceof TextWatcher){
            s.etText.removeTextChangedListener((TextWatcher) s.etText.getTag());
  ]]></description><category></category></item><item><title><![CDATA[Android版本兼容（存储、http，相机、SparseArray、升级）]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/108216665</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/108216665</guid><author>lovelixue</author><pubDate>Tue, 25 Aug 2020 10:47:09 +0800</pubDate><description><![CDATA[版本兼容处理（后续我会一直迭代下去的，只要遇到了就更新，希望能帮到大家）

Android 11 存储规范

Android 11 中的存储机制更新

Android 11(API 29)，在Android 10设备操作文件无效，临时解决方案为在AndroidManifest.xml中application标签添加以下属性：


&lt;application
    android:allowBackup="true"
    android:icon="@drawable/logo"
    andro]]></description><category></category></item><item><title><![CDATA[Android10外部存储问题解决方案]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/108198684</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/108198684</guid><author>lovelixue</author><pubDate>Mon, 24 Aug 2020 14:32:36 +0800</pubDate><description><![CDATA[很多时候你需要将APP的文件存储到SD卡中，然后进行操作处理，最近遇到一个问题，你会发现你存储到根目录自己创建的文件夹时，发现无法创建文件夹，然后APP也不报错，就是会找不到文件，我检查了权限都很正常，后来发现同一是Android10才会出现问题，然后检索相关新特性，发现在新版Android11里面对存储做了限制
解决方案：在配置里面添加这一行


android:requestLegacyExternalStorage="true"

发现可以解决了，但是这只是临时方案，等真正Android11发版之后还]]></description><category></category></item><item><title><![CDATA[Could not download aapt2-proto.jar]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/108096737</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/108096737</guid><author>lovelixue</author><pubDate>Wed, 19 Aug 2020 11:36:10 +0800</pubDate><description><![CDATA[本人新的as版本遇到的这个问题，4.0.1版本，拉下来代码后运行提示Could not download aapt2-proto.jar*************offline mode

首先我去设置查找在线离线模式，发现4.0版本以上的设置里面移除了这个设置，原先位置在setting build gradle里面，现在没有了，但是通过命令可以实现

gradlew build在线模式命令
gradlew build offline在线模式命令

运行在线模式命令后再次运行成功了，希望能帮助到大家
...]]></description><category></category></item><item><title><![CDATA[git部分命令记录]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/108012751</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/108012751</guid><author>lovelixue</author><pubDate>Fri, 14 Aug 2020 20:06:06 +0800</pubDate><description><![CDATA[一、如何让as的git log不乱码，显示中文

1.git config --global i18n.commitencoding utf-8 --注释：该命令表示提交命令的时候使用utf-8编码集提交

2.git config --global i18n.logoutputencoding utf-8 --注释：该命令表示日志输出时使用utf-8编码集显示

3.set LESSCHARSET=utf-8 --注释：设置LESS字符集为utf-8



二、如何让git提交代码的时候不用输入账号...]]></description><category></category></item><item><title><![CDATA[小程序学习之路五：scroll-view实现多列布局]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/107064429</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/107064429</guid><author>lovelixue</author><pubDate>Wed, 01 Jul 2020 15:33:11 +0800</pubDate><description><![CDATA[上面讲解了一些部分简单功能，接下来讲讲scroll-view的进阶，实现多列布局，先上效果：



首先来看看布局文件


&lt;scroll-view class="scroll"&gt;
    &lt;view class="item" wx:for='{{datas}}' wx:key='index' wx:for-item="item" data-item="{{item}}"&gt;
        &lt;text class="item-text"&gt;{{item.name}}&lt;]]></description><category></category></item><item><title><![CDATA[记录篇：小程序的其他资源]]></title><link>https://blog.youkuaiyun.com/lovelixue/article/details/107063190</link><guid>https://blog.youkuaiyun.com/lovelixue/article/details/107063190</guid><author>lovelixue</author><pubDate>Wed, 01 Jul 2020 14:24:10 +0800</pubDate><description><![CDATA[各个UI资源：https://weui.io/
]]></description><category></category></item></channel></rss>