自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 LitePal在Kotlin中使用的一个小问题

我的实体里面包含一个泛型集合属性,List这样的字段,我知道问题肯定是这个集合型的属性有关,但我就搞不懂什么叫“list没有构造器,LitePal不能处理它”!这明明白白是LitePal试图用反射创建抽象类的对象时,抛出的异常。这是上周五下午出的问题,烦恼了一下午。然后今天周一上班,下午才想起这个问题,仍然没有头绪。前不久看同事使用LitePal库,发现挺好用的,就直接拿过来用,懒得自己再写代码了。无论是C#还是kotlin,我都习惯了用List,真的是想不起来还有这回事。谁说List没有构造器了?

2023-09-18 15:56:16 490

原创 Android 12对“返回”按钮的处理带来的问题

然后再按通知栏上的图标,唤醒App界面,再按“返回”按钮,就会发现App没有退出,而是显示上次退出时的界面,再按一下“返回”按钮“,界面才会消失。后来想想,只有Android 12才有这个问题(手上的设备,Android最高版本就是12),然后才找到上面链接里的文档。在Android 12之前,按下“返回”按钮,会执行当前Activity的finish()方法。查看日志,发现没有执行Activity的onDestroy()方法,确定是窗体没有被销毁引起的问题,但是想不出原因啊!简直莫明其妙,头都大了。

2023-08-22 18:10:07 639

原创 API ‘variantOutput.getPackageLibrary()‘已过时的解决方法

其实上面几个archiveFile、archiveFileName之类的也比较可疑,但这两个属性名更接近我们的目标。很多时候代码有问题,编程工具虽然给了相应的提示,但是解决问题却不是一两行代码就能搞定的。是用来获取打包文件完整路径的脚本,也就是这行脚本调用了已经弃用,并且在gradle9.0中会移除的函数。这段脚本是修改默认的输出文件名,并在打包完成后将打包文件复制到指定目录下。不能用,就要另外想办法获得打包文件的路径。虽然目前对我的项目还没有什么影响,但我还是想把这个问题彻底解决掉。

2023-06-02 16:12:08 933

原创 kotlin中使用无符号字节数组的警告

这个警告无论是定义还是使用无符号类型数组时都会出现,比较讨厌。如果使用无符号类整型的数组类型,如。这会消除所有相关的警告,一劳永逸。

2023-05-23 11:03:16 309

原创 ASP.NET Core 视图组件莫明其妙的错误

本地调试没问题,可以排除代码问题,实在是头大。具体现象就是在客户的服务器和公司内用于测试的服务器上,打开包含视图组件的页面,应该显示菜单的地方一片空白。标签仍然存在,也就是服务器上的ASP.NET Core没有把它识别为视图组件标签,没有进行编译,导致视图组件无法正常显示。被生成的HTML代码替换,这个是正确的,ASP.NET的标签,编译后就会被相应的HTML标签替换掉。今天更新时出现了一个莫明其妙的问题,在部署服务器上,菜单无法显示。对比本地调试和服务器的页面,发现本地调试的页面中,。

2023-03-02 11:48:15 130

原创 android真机调试时访问同一台电脑中的asp.net core后台

后端是asp.net core web api,前端是android app,之前调试前后端通信时,总是要把asp.net core项目发布到外网服务器上,很麻烦,于是想在android真机上直接访问本地调试状态的asp.net core后台。这是证书验证没通过的原因,用网上提供的方法在android app中没有解决,于是又从asp.net core这边想办法。第一次测试时,我傻到直接在android app中访问localhost,结果当然是400,无法连接服务器,自己想想也好笑。

2022-10-27 15:04:37 1371

原创 在CentOS上离线安装libgdiplus

其中libglvnd-glx和 mesa-libGL,libglvnd-egl和mesa-libEGL有一个循环依赖,即A依赖B,B又依赖A,因此安装libglvnd-glx和libglvnd-egl时加了。下载时注意一下,在最小化安装的CentOS7上面,libgdiplus一共是33个包文件,检查一下是否有遗漏,防止下载安装包的虚拟机上已经安装了某些依赖包,导致下载不完整。做为linux门外汉,虽然网上已经有不少相关内容,还是摸索了不少时间,记录一下。命令手动一个个安装。参数,即安装时忽略依赖关系。

2022-10-12 16:21:51 2708

原创 EF Core6.0中的函数映射

但是这个执行过程是先从数据表获取所有记录,再从这些记录中筛选符合条件的记录。EF Core中的LINQ查询最终都是被转换成SQL语句在数据库中执行,但并不是所有的C#方法都能被转换的。虽然结果一样,但执行性能差别很大。而且这里只是做个简单的比较,实际上在C#中这两种方式的性能差异比执行这两条SQL语句更大。第二是重写一个能被翻译成SQL语句的查询。第一就是自定义函数映射,也是本文主题,这个我们后面讲。最后就是第一种方法:自定义函数映射。方法查询,执行时没有任何问题。哪个性能更好是不言而喻的。......

2022-08-30 17:57:08 1528

原创 epplus复制模板后打印区域变小的问题

在ASP.NET MVC Core中,用户需要打印时,从事先做的Excel模板中把Sheet复制过来,然后填充数据,最后返回文件流,用epplus实现,关键代码如下:代码本身没有问题,生成的文件中的数据和格式也没有问题。但是打印时发现,在模板文件设置好的打印区域,在新文件中“变大了”,也就是模板文件中一张A4纸刚好打印完的内容,在新文件中,一张A4纸打印不下了。对照模板文件和新文件,打印设置完全一样。因为对Excel并不熟悉,epplus也没有完整文档,所以不清楚复制一个Sheet到另一个文件中,要想保持

2022-06-22 12:02:56 339

原创 JQuery处理blob类型的Response的问题

在一个ASP.NET Core MVC的控制器中,根据条件,可能返回一个Excel的文件流,也可能返回一个Json的错误信息,代码类似如下:在前端,我用jquery的ajax访问后台不管是返回json还是文件流,控制台的输出都是。我一度以为是我的后台问题,我甚至把返回Json的代码改成这样:结果还是一样。我把前端代码中的删掉,调用倒是没问题了,但不管是文件流还是json,返回的形式都变成了Text。我在ajax函数的success回调中打印xhr对象,才发现jquery封装的这个xhr对象,只提

2022-06-06 16:27:25 2971

原创 关于EF Core中同一个实体被多次tracked的问题

先来看一段错误提示: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.

2022-05-11 15:36:21 4742 1

原创 在最小化安装的CentOS 7上离线部署.net core项目

客户服务器禁止连接外网,因此必须离线部署.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需要先安装依赖包。所需

2022-05-07 16:40:07 2507 1

原创 Invocation failed Unexpected end of file from server

新装的系统,在Android Studio中推送原来gitlab中的项目时,出现以下错误:我恍惚记得是因为账号的问题,因为系统重装了,Android Studio也是重装的,原来的gitlab账号肯定是没有了,但找了半天也没找到在哪设置gitlab的账号。后来终于找到位置:红框默认是没有选中的,选中后,再推送时就会弹出对话框要求输入账号和密码,推送成功。...

2022-04-21 17:40:30 3759

原创 在CentOS 7中部署ASP.NET Core应用

注册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中创建一个文件.

2022-04-18 15:44:29 1452

原创 CentOS 7搭建Web服务器

尝试了两种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

2022-04-18 11:34:10 5053

原创 在CentOS 7中安装Docker

可以先尝试卸载旧版本的Docker引擎及相关依赖项。sudo yum remove docker docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrot

2022-04-14 18:03:22 87

原创 高德地图SDK在API 31以上崩溃的问题

以前在android app中使用地图时都是用的百度地图,新的项目需要使用高德地图。按照高德地图的开发文档创建测试项目,导入依赖,很快就成功显示了地图,然后在退出地图Activity时,app立即崩溃,通过追踪,发现是在销毁地图时出现崩溃,即mapView.onDestroy()这行代码有问题。反复查看文档和检查代码都找不到原因,下载高德地图SDK提供的DEMO测试时却发现,DEMO运行没有任何问题。比较DEMO和我的代码,显示地图的关键代码没有任何不同,实在不知道问题出在哪。比较build.grad

2022-04-02 10:34:29 3834 6

原创 maven { url ‘https://www.jitpack.io‘ }在新版Android Studio中的位置

Android Studio升级到Arctic Fox后,一些配置项的位置都做了改变。github上的很多库通过JitPack.io发布的,引用这些库时,除了在模块的build.gradle文件中加入依赖,还要在项目的build.gradle文件中加入maven { url ‘https://www.jitpack.io’ },否则找不到库文件。如:allprojects { repositories { google() mavenCentral()

2021-12-08 18:19:22 11028 11

原创 Android Studio Arctic Fox导入模块

早期版本的AS怎么导入模块我也不记得了,AS Arctic Fox导入现有模块不能从菜单的File->New-Import Module执行,你会发现Finish按钮永远都是灰的。正确做法是先将模块文件夹复制到项目文件夹中,和app文件夹在同一层。然后打开settings.gradle文件,添加include即可。include ':app' ':模块文件夹名称'同步之后就可以了。...

2021-11-26 16:19:34 1459

原创 Android的视图绑定

使用kotlin编写Android项目时可以用kotlin合成进行视图绑定,但升级到Android Studio4.1以后,发现项目中不能直接通过控件名称引用视图了,当时还不清楚原因,只是发现gradle文件中没有添加kotlin扩展库,添加kotlin扩展库就可以像原来一样直接引用控件。今天创建了一个新的Android App,像往常一样在gradle文件中添加了kotlin扩展库。Build时发现Build Output窗口中有一行提示,表示kotlin合成已经被弃用,应该使用JetPack的视图绑定

2021-07-27 10:51:00 709

原创 ASP.NET Core 5.0与MySql

创建ASP.NET Core 5.0项目后,通过NuGet包管理器安装Pomelo.EntityFrameworkCore.MySql时会出现警告,表示Pomelo.EntityFrameworkCore.MySql 3.2.4依赖的Microsoft.EntityFrameworkCore.Relational 版本必须>= 3.1.8 && < 5.0.0,而5.0项目中安装的Microsoft.EntityFrameworkCore.Relational必须高于或等于5.0

2020-12-17 17:21:21 1343

原创 在Blazor项目中结合数据库及身份验证的尝试

初次接触Blazor项目,很喜欢这个框架,使我等C#程序员不必再花时间和精力去学习各种前端UI框架。手头的项目正好要做一个界面丰富的前端,于是决定用Blazor Server来做。项目分为前端和后台管理,后台管理已经用ASP.NET Core MVC完成。前端和后台共享一个数据库,前端主要是查询和展示,有少量提交和更新。微软在github中的AspNetCore源码中提供了Blazor Server使用EF Core的源码:下载在源码目录aspnetcore\blazor\common\samples

2020-12-09 10:44:42 2091 1

原创 asp.net core 3.1 web api跨域访问

允许web api跨域访问,需要在StartUp的方法中添加跨域服务://StartUp的两个方法中public void ConfigureServices(IServiceCollection services){ services.AddCors(options => { //any为策略名称,后面在web api控制器中添加的跨域策略名称要与此一致 options.AddPolicy("any", builder => {

2020-11-14 16:32:30 336

原创 EF Core提交主子表与EF的不同

在EF中,同时提交主子表时,只需要调用一次SaveChange方法,子表会自动获取主表的外键值。//主表public class Order{ public int Id { get; set; }}//子表public class OrderItem{ public int Id { get; set; } //外键 [ForeignKey("Order")] public int OrderId{ get; set; } public Order Order { get; se

2020-11-11 09:42:23 1130

原创 Android Studio 4.1 kotlin不能直接引用控件

升级到Android Studio4.1后,发现在kotlin项目中不能直接使用id引用控件了。检查build.gradle(:app)文件,发现没有应用kotlin的android扩展库,加进去就可以了。plugins { id 'com.android.application' id 'kotlin-android'}改成如下:plugins { id 'com.android.application' id 'kotlin-android' id 'k

2020-10-27 16:07:48 2350 2

原创 ASP.NET Core MVC项目注意事项

如果创建项目时选择的是默认的“不进行身份验证”,然后手动在项目中加入Identity验证框架,记得要在Startup的Configure方法中加入app.UseAuthentication();,不然验证是不起作用的。之所以要手动在项目中加入Identity框架,是可以避免自动创建验证框架时加入的不必要的文件。我一直都是这么做的,但有时候难免忘记修改Configure方法,导致登录成功后仍然会返回登录页面。这里记上一笔,免得下次又忘记了。...

2020-09-04 11:26:02 105

原创 asp.net core mvc和web api在post数据时的不同之处

ASP.NET MVC编写WEB API POST方法,参数较少时,一般直接指定多个参数,如:[HttpPost]public async Task<IActionResult> Login(string userId, string password)前端使用jquery ajax调用时,如果直接使用$.post方法:$.post(url, {userId: 'user', password: '123'})在服务器端是接收不到userId和password这两个参数值的。这是因

2020-08-06 11:21:04 377

原创 linq实现左连接的两种写法

goods中的数据:categoryId = 1, count = 4categoryId = 3, count = 1categoryId = 10, count = 15db.Categories表中包含完整的类别数据。现在需要查询db.Categories左连接goods表,要得到如下查询结果:categoryId = 1, count = 4categoryId = 2, count = 0categoryId = 3, count = 1,categoryId = 4, coun

2020-06-22 17:18:28 3217

原创 小程序上传代码时遇到的问题

在小程序中添加一个页面myOrder,创建文件夹时写成了myorder。起初并不在意,结果以下代码报错:wx.redirectTo({ url: '../myOrder/myOrder', })原因很明显,这里的参数是区分大小写的。我知道自己的编码习惯,myorder我都会写成myOrder,为了避免后面再出现类似错误,因此把文件夹的名称改为myOrder。接下来也没有遇到什么问题,编码、调试一切都正常,最后上传代码时,微信开发者工具报了一个错误:上传代码失败,文件已存在

2020-06-18 16:35:50 1747

原创 在控制器之外调用数据上下文

ASP.NET Core的DbContext初始化和ASP.NET不同,ASP.NET在控制器之外调用数据上下文时,可以直接创建数据上下文对象,数据上下文基类DbContext会根据构造函数中指定的连接字符串来初始化数据上下文。 public class AdvContext : DbContext { //ASP.NET的数据上下文构造函数,通过指定连接字符串的名称初始化数据上下文 public AdvContext() : base("name=AdvContextTest")

2020-06-13 10:40:13 275

原创 .net core3 json序列化嵌套对象的问题

两个类public class CookingMenu{ public int Id { get; set; } public string Name { get; set; } public List<MenuItem> MenuItems { get; set; }}public class MenuItem{ public int Id { get; set; } public int MenuId { get; set; }

2020-06-07 22:25:45 1206

原创 Fragment中跨线程调用控件的问题

在Fragment内设置控件状态时,报JNI DETECTED ERROR IN APPLICATION: can't call void android.view.View.setElevation(float) on null obj错误,并且有一串超长的异常。百度到的答案都是说因为布局嵌套AppBarLayout引起的,在布局文件中加入:android:stateListAnimator="@null"就可以了,但我并没有使用AppBarLayout 。再次检查代码时,发现我是在独立的线程中.

2020-06-03 23:17:34 293

原创 drawableLeft和drawableStart

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-05-24 14:48:06 657

空空如也

空空如也

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

TA关注的人

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