<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[firechun的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/firechun</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; firechun]]></copyright><item><title><![CDATA[LitePal在Kotlin中使用的一个小问题]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/132981585</link><guid>https://blog.youkuaiyun.com/firechun/article/details/132981585</guid><author>firechun</author><pubDate>Mon, 18 Sep 2023 15:56:16 +0800</pubDate><description><![CDATA[我的实体里面包含一个泛型集合属性，List这样的字段，我知道问题肯定是这个集合型的属性有关，但我就搞不懂什么叫“list没有构造器，LitePal不能处理它”！这明明白白是LitePal试图用反射创建抽象类的对象时，抛出的异常。这是上周五下午出的问题，烦恼了一下午。然后今天周一上班，下午才想起这个问题，仍然没有头绪。前不久看同事使用LitePal库，发现挺好用的，就直接拿过来用，懒得自己再写代码了。无论是C#还是kotlin，我都习惯了用List，真的是想不起来还有这回事。谁说List没有构造器了？]]></description><category></category></item><item><title><![CDATA[Android 12对“返回”按钮的处理带来的问题]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/132433025</link><guid>https://blog.youkuaiyun.com/firechun/article/details/132433025</guid><author>firechun</author><pubDate>Tue, 22 Aug 2023 18:10:07 +0800</pubDate><description><![CDATA[然后再按通知栏上的图标，唤醒App界面，再按“返回”按钮，就会发现App没有退出，而是显示上次退出时的界面，再按一下“返回”按钮“，界面才会消失。后来想想，只有Android 12才有这个问题（手上的设备，Android最高版本就是12），然后才找到上面链接里的文档。在Android 12之前，按下“返回”按钮，会执行当前Activity的finish()方法。查看日志，发现没有执行Activity的onDestroy()方法，确定是窗体没有被销毁引起的问题，但是想不出原因啊！简直莫明其妙，头都大了。]]></description><category></category></item><item><title><![CDATA[API ‘variantOutput.getPackageLibrary()‘已过时的解决方法]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/131007268</link><guid>https://blog.youkuaiyun.com/firechun/article/details/131007268</guid><author>firechun</author><pubDate>Fri, 02 Jun 2023 16:12:08 +0800</pubDate><description><![CDATA[其实上面几个archiveFile、archiveFileName之类的也比较可疑，但这两个属性名更接近我们的目标。很多时候代码有问题，编程工具虽然给了相应的提示，但是解决问题却不是一两行代码就能搞定的。是用来获取打包文件完整路径的脚本，也就是这行脚本调用了已经弃用，并且在gradle9.0中会移除的函数。这段脚本是修改默认的输出文件名，并在打包完成后将打包文件复制到指定目录下。不能用，就要另外想办法获得打包文件的路径。虽然目前对我的项目还没有什么影响，但我还是想把这个问题彻底解决掉。]]></description><category></category></item><item><title><![CDATA[kotlin中使用无符号字节数组的警告]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/130822664</link><guid>https://blog.youkuaiyun.com/firechun/article/details/130822664</guid><author>firechun</author><pubDate>Tue, 23 May 2023 11:03:16 +0800</pubDate><description><![CDATA[这个警告无论是定义还是使用无符号类型数组时都会出现，比较讨厌。如果使用无符号类整型的数组类型，如。这会消除所有相关的警告，一劳永逸。]]></description><category></category></item><item><title><![CDATA[ASP.NET Core 视图组件莫明其妙的错误]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/129297738</link><guid>https://blog.youkuaiyun.com/firechun/article/details/129297738</guid><author>firechun</author><pubDate>Thu, 02 Mar 2023 11:48:15 +0800</pubDate><description><![CDATA[本地调试没问题，可以排除代码问题，实在是头大。具体现象就是在客户的服务器和公司内用于测试的服务器上，打开包含视图组件的页面，应该显示菜单的地方一片空白。标签仍然存在，也就是服务器上的ASP.NET Core没有把它识别为视图组件标签，没有进行编译，导致视图组件无法正常显示。被生成的HTML代码替换，这个是正确的，ASP.NET的标签，编译后就会被相应的HTML标签替换掉。今天更新时出现了一个莫明其妙的问题，在部署服务器上，菜单无法显示。对比本地调试和服务器的页面，发现本地调试的页面中，。]]></description><category></category></item><item><title><![CDATA[android真机调试时访问同一台电脑中的asp.net core后台]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/127552079</link><guid>https://blog.youkuaiyun.com/firechun/article/details/127552079</guid><author>firechun</author><pubDate>Thu, 27 Oct 2022 15:04:37 +0800</pubDate><description><![CDATA[后端是asp.net core web api，前端是android app，之前调试前后端通信时，总是要把asp.net core项目发布到外网服务器上，很麻烦，于是想在android真机上直接访问本地调试状态的asp.net core后台。这是证书验证没通过的原因，用网上提供的方法在android app中没有解决，于是又从asp.net core这边想办法。第一次测试时，我傻到直接在android app中访问localhost，结果当然是400，无法连接服务器，自己想想也好笑。]]></description><category></category></item><item><title><![CDATA[在CentOS上离线安装libgdiplus]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/127276418</link><guid>https://blog.youkuaiyun.com/firechun/article/details/127276418</guid><author>firechun</author><pubDate>Wed, 12 Oct 2022 16:21:51 +0800</pubDate><description><![CDATA[其中libglvnd-glx和 mesa-libGL，libglvnd-egl和mesa-libEGL有一个循环依赖，即A依赖B，B又依赖A，因此安装libglvnd-glx和libglvnd-egl时加了。下载时注意一下，在最小化安装的CentOS7上面，libgdiplus一共是33个包文件，检查一下是否有遗漏，防止下载安装包的虚拟机上已经安装了某些依赖包，导致下载不完整。做为linux门外汉，虽然网上已经有不少相关内容，还是摸索了不少时间，记录一下。命令手动一个个安装。参数，即安装时忽略依赖关系。]]></description><category></category></item><item><title><![CDATA[EF Core6.0中的函数映射]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/126608521</link><guid>https://blog.youkuaiyun.com/firechun/article/details/126608521</guid><author>firechun</author><pubDate>Tue, 30 Aug 2022 17:57:08 +0800</pubDate><description><![CDATA[但是这个执行过程是先从数据表获取所有记录，再从这些记录中筛选符合条件的记录。EF Core中的LINQ查询最终都是被转换成SQL语句在数据库中执行，但并不是所有的C#方法都能被转换的。虽然结果一样，但执行性能差别很大。而且这里只是做个简单的比较，实际上在C#中这两种方式的性能差异比执行这两条SQL语句更大。第二是重写一个能被翻译成SQL语句的查询。第一就是自定义函数映射，也是本文主题，这个我们后面讲。最后就是第一种方法：自定义函数映射。方法查询，执行时没有任何问题。哪个性能更好是不言而喻的。......]]></description><category></category></item><item><title><![CDATA[epplus复制模板后打印区域变小的问题]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/125406230</link><guid>https://blog.youkuaiyun.com/firechun/article/details/125406230</guid><author>firechun</author><pubDate>Wed, 22 Jun 2022 12:02:56 +0800</pubDate><description><![CDATA[在ASP.NET MVC Core中，用户需要打印时，从事先做的Excel模板中把Sheet复制过来，然后填充数据，最后返回文件流，用epplus实现，关键代码如下：
代码本身没有问题，生成的文件中的数据和格式也没有问题。但是打印时发现，在模板文件设置好的打印区域，在新文件中“变大了”，也就是模板文件中一张A4纸刚好打印完的内容，在新文件中，一张A4纸打印不下了。对照模板文件和新文件，打印设置完全一样。因为对Excel并不熟悉，epplus也没有完整文档，所以不清楚复制一个Sheet到另一个文件中，要想保持]]></description><category></category></item><item><title><![CDATA[JQuery处理blob类型的Response的问题]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/125148296</link><guid>https://blog.youkuaiyun.com/firechun/article/details/125148296</guid><author>firechun</author><pubDate>Mon, 06 Jun 2022 16:27:25 +0800</pubDate><description><![CDATA[在一个ASP.NET Core MVC的控制器中，根据条件，可能返回一个Excel的文件流，也可能返回一个Json的错误信息，代码类似如下：
在前端，我用jquery的ajax访问后台
不管是返回json还是文件流，控制台的输出都是。
我一度以为是我的后台问题，我甚至把返回Json的代码改成这样：
结果还是一样。
我把前端代码中的删掉，调用倒是没问题了，但不管是文件流还是json，返回的形式都变成了Text。
我在ajax函数的success回调中打印xhr对象，才发现jquery封装的这个xhr对象，只提]]></description><category></category></item><item><title><![CDATA[关于EF Core中同一个实体被多次tracked的问题]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/124709539</link><guid>https://blog.youkuaiyun.com/firechun/article/details/124709539</guid><author>firechun</author><pubDate>Wed, 11 May 2022 15:36:21 +0800</pubDate><description><![CDATA[先来看一段错误提示：The instance of entity type ‘XXXX’ cannot be tracked because another instance with the same key value for {‘Key’} is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached.]]></description><category></category></item><item><title><![CDATA[在最小化安装的CentOS 7上离线部署.net core项目]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/124623573</link><guid>https://blog.youkuaiyun.com/firechun/article/details/124623573</guid><author>firechun</author><pubDate>Sat, 07 May 2022 16:40:07 +0800</pubDate><description><![CDATA[客户服务器禁止连接外网，因此必须离线部署.net core项目。
因为客户服务器的CentOS 7是最小化安装的，因此需要安装httpd服务。在安装光盘的Packages目录下找到httpd-2.4.6-95.el7.centos.x86_64.rpm和httpd-tools-2.4.6-95.el7.centos.x86_64.rpm两个文件，复制到虚拟机中，首先安装httpd看一下：
rpm -ivh httpd-2.4.6-95.el7.centos.x86_64.rpm


需要先安装依赖包。
所需]]></description><category></category></item><item><title><![CDATA[Invocation failed Unexpected end of file from server]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/124327496</link><guid>https://blog.youkuaiyun.com/firechun/article/details/124327496</guid><author>firechun</author><pubDate>Thu, 21 Apr 2022 17:40:30 +0800</pubDate><description><![CDATA[新装的系统，在Android Studio中推送原来gitlab中的项目时，出现以下错误：

我恍惚记得是因为账号的问题，因为系统重装了，Android Studio也是重装的，原来的gitlab账号肯定是没有了，但找了半天也没找到在哪设置gitlab的账号。
后来终于找到位置：

红框默认是没有选中的，选中后，再推送时就会弹出对话框要求输入账号和密码，推送成功。

...]]></description><category></category></item><item><title><![CDATA[在CentOS 7中部署ASP.NET Core应用]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/124246203</link><guid>https://blog.youkuaiyun.com/firechun/article/details/124246203</guid><author>firechun</author><pubDate>Mon, 18 Apr 2022 15:44:29 +0800</pubDate><description><![CDATA[注册Microsoft密钥和源

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm


更新可供安装的产品

sudo yum update


安装.NET SDK，安装完成后可以用dotnet --info来确认一下。

sudo yum install dotnet-sdk-6.0




将asp.net core应用发布到本地文件夹。



在CentOS中创建一个文件.]]></description><category></category></item><item><title><![CDATA[CentOS 7搭建Web服务器]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/124200730</link><guid>https://blog.youkuaiyun.com/firechun/article/details/124200730</guid><author>firechun</author><pubDate>Mon, 18 Apr 2022 11:34:10 +0800</pubDate><description><![CDATA[尝试了两种CentOS 7安装模式，分别搭建Web服务器的过程。
字符界面：基本Web服务器（Basic Web Server）
这种模式已经包含了httpd服务，但是没有开放80端口，所以安装完成之后，需要开放80端口并启动https服务。
//开放80端口
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
//重启防火墙，上面的命令才能生效
sudo firewall-cmd --reload
//查询一下80端口是否开放，返回y]]></description><category></category></item><item><title><![CDATA[在CentOS 7中安装Docker]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/124177506</link><guid>https://blog.youkuaiyun.com/firechun/article/details/124177506</guid><author>firechun</author><pubDate>Thu, 14 Apr 2022 18:03:22 +0800</pubDate><description><![CDATA[可以先尝试卸载旧版本的Docker引擎及相关依赖项。
sudo yum remove docker
				  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrot]]></description><category></category></item><item><title><![CDATA[高德地图SDK在API 31以上崩溃的问题]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/123913986</link><guid>https://blog.youkuaiyun.com/firechun/article/details/123913986</guid><author>firechun</author><pubDate>Sat, 02 Apr 2022 10:34:29 +0800</pubDate><description><![CDATA[以前在android app中使用地图时都是用的百度地图，新的项目需要使用高德地图。
按照高德地图的开发文档创建测试项目，导入依赖，很快就成功显示了地图，然后在退出地图Activity时，app立即崩溃，通过追踪，发现是在销毁地图时出现崩溃，即mapView.onDestroy()这行代码有问题。
反复查看文档和检查代码都找不到原因，下载高德地图SDK提供的DEMO测试时却发现，DEMO运行没有任何问题。比较DEMO和我的代码，显示地图的关键代码没有任何不同，实在不知道问题出在哪。
比较build.grad]]></description><category></category></item><item><title><![CDATA[maven { url ‘https://www.jitpack.io‘ }在新版Android Studio中的位置]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/121797615</link><guid>https://blog.youkuaiyun.com/firechun/article/details/121797615</guid><author>firechun</author><pubDate>Wed, 08 Dec 2021 18:19:22 +0800</pubDate><description><![CDATA[Android Studio升级到Arctic Fox后，一些配置项的位置都做了改变。
github上的很多库通过JitPack.io发布的，引用这些库时，除了在模块的build.gradle文件中加入依赖，还要在项目的build.gradle文件中加入maven { url ‘https://www.jitpack.io’ }，否则找不到库文件。如：
allprojects {
    repositories {
        google()
        mavenCentral()
     ]]></description><category></category></item><item><title><![CDATA[Android Studio Arctic Fox导入模块]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/121562862</link><guid>https://blog.youkuaiyun.com/firechun/article/details/121562862</guid><author>firechun</author><pubDate>Fri, 26 Nov 2021 16:19:34 +0800</pubDate><description><![CDATA[早期版本的AS怎么导入模块我也不记得了，AS Arctic Fox导入现有模块不能从菜单的File-&gt;New-Import Module执行，你会发现Finish按钮永远都是灰的。
正确做法是先将模块文件夹复制到项目文件夹中，和app文件夹在同一层。然后打开settings.gradle文件，添加include即可。
include ':app' ':模块文件夹名称'

同步之后就可以了。

...]]></description><category></category></item><item><title><![CDATA[Android的视图绑定]]></title><link>https://blog.youkuaiyun.com/firechun/article/details/119137140</link><guid>https://blog.youkuaiyun.com/firechun/article/details/119137140</guid><author>firechun</author><pubDate>Tue, 27 Jul 2021 10:51:00 +0800</pubDate><description><![CDATA[使用kotlin编写Android项目时可以用kotlin合成进行视图绑定，但升级到Android Studio4.1以后，发现项目中不能直接通过控件名称引用视图了，当时还不清楚原因，只是发现gradle文件中没有添加kotlin扩展库，添加kotlin扩展库就可以像原来一样直接引用控件。
今天创建了一个新的Android App，像往常一样在gradle文件中添加了kotlin扩展库。Build时发现Build Output窗口中有一行提示，表示kotlin合成已经被弃用，应该使用JetPack的视图绑定]]></description><category></category></item></channel></rss>