在我之前的一篇博客 NullReferenceException,就不应该存在! 中,我吐槽了 C# 中 null 的弊端以及避免 null 的方法:事实上这本都是现代高级语言中极力推崇的做法.Kotlin 和 Swift 自诞生之日起引用类型就不能为空,C# 背着历史的包袱直到 8.0 才开始这么做…… 安装可空引用类型预览包 现在 C#8.0 还没有发布,但微软已经提供了预览的扩展包,让大家体验效果并予以反馈. 扩展包下载地址:2017年11月5日版本 - 最新版 下载解压后直接双击 ins…
前言 很惭愧直到去年底才接触到Blazor.那什么是Blazor呢?相信大家都看过官方文档的详细说明,另外MASA团队也有不错的说明介绍 .用官方的话说Blazor是一个交互式客户端Web UI的框架,并且使用C#开发而不是JavaScript.好了言归正传,事情的起因是这样的,公司组织内部竞赛需要用Blazor做一个简单的网页.为了可以更好的做出效果就简单的尝试了几个开源组件. 开源组件选择 遇事不决先找官方Blazor 教程,跟着微软的教程会得到下面这个样子的页面. 嗯,还是挺清新的...估…
首先要导入包,将下载的hibernate所有required包导入,将下载的hibernate用来写log的slf4j的api和nopjar包导入,将下载的mysql链接引擎jar包导入. 然后新建java工程. 先告诉hiernate怎么连数据库:在hibernate默认识别目录src根目录下以默认hibernate配置文件名hibernate.cfg.xml建立xml(都采用默认可以省去在代码中书写路径和名字的麻烦): <?xml version='1.0' encoding='utf-8'…
前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体验.而Android 5.0之后谷歌又提出了 ColorPalette 的概念,让开发者可以自己设定系统区域的颜色,使整个 App 的颜色风格和系统的颜色风格保持统一.今天学习总结一下如何实现Android 4.4以上全屏沉浸式透明状态栏效果.先看下预期效果: 首先现分清楚哪部分是状态栏,哪部分是导…
1.Android中定时任务一般有两种实现方式:(1)使用Java API里提供的Timer类:(2)使用Android的Alarm机制. 但是,Timer类有个明显的短板,不太适用于那些需要长期在后台运行的定时任务. 2.为了让电池更加耐用,每种手机都有自己的休眠政策,Android手机会在长时间不操作的情况下自动让CPU进入到 睡眠状态,可能导致Timer类中的定时任务无法正常运行:而Alarm机制具有唤醒CPU功能,可以保证每次需要执行 定时任务时CPU都能正常工作. 3.获取个Alarm…
1.希望服务一旦启动就立刻去执行某个动作,可以将逻辑写在onStartCommand()方法里. 2.onCreate()和onStartCommand()的区别:onCreate()方法是在服务第一次创建时调用的,而onStartCommand()方 法在每次启动服务时都会调用. 3.调用bindService()方法将MainActivity和MyService进行绑定,bindService()方法接收三个参数,第一个是刚刚创建的 Intent对象:第二个是前面创建出的ServiceCon…
1.为了更加方便在子线程中对UI操作,借助Android中提供的AsyncTask,十分简单地从子线程到主线程的. 2.一个最简单的自定义AsyncTask写成如下方式: class DownloadTask extends AsyncTask<Void, Integer, Boolean> { } AsyncTask的第一个泛型参数指定为Void,表示在执行AsyncTask的时候不需要传入参数给后台任务:第二个 泛型参数指定为Integer,表示使用整型数据来作为进度显示单位:第三个泛型参…
前言 对于开发者来说,三方 SDK 这个词已经是一个不需要任何解释的词语了,然而我想面对琳琅满目的 SDK 产品,大家都会纠结如何选择.那么选择一个 SDK 需要注意哪些问题呢? SDK 的 稳定易用 需要 持续更新功能 BUG 修复 效率高 开公司不像开玩笑(说倒闭就倒闭了) 售后 Kill 问题的能力 与自身 需求的契合度等等... 最后,还有一个选择点让人容易忽略 各个 SDK 的统一性 也就是在其功能相对 OK 的情况下,尽量使用同一厂商提供的 SDK . 为什么这样说? 我想每个开发者…
1.显示Intent意图明显,通过Intent启动另外一个活动,这是安卓中各组件进行交互的一种重要方式.一般用于启动活动,启动服务,发送广播等场景. 实现方法,这里我只说思路,实践还是要自己实操才能明白: 1.首先多创建一个activity,命名为别的,这个就是待会咱们要调用的另外一个activity,可以跟主activity一样. 2.创建完后记得在AndroidManifest.xml中为新创建的activity进行注册. 同样的,要将其包括在<application分支下 ep: <ac…
node.js + mysql 实现数据添加的功能.万事基于服务! 增删改查之添加数据. 优点:只需要设置一个json文件,就可以实现基本的添加功能,可以视为是零代码. 添加数据的服务实现的功能: 1.  添加一条记录.多条记录(批量添加).主从表记录 2.  记录访问日志 3.  记录数据变化记录 4.  执行步骤跟踪和计时 5.  异常日志 6.  权限判断 步骤: 1.  数据库设计.建表这类的直接略过,假设有了一张表,我们要往这个表里面添加数据 2.  根据要添加的字段,设置一个json…