it最新技术分享

The given artifact contains a string literal with a package reference ´android.support.v4.content´ that cannot be safely rewritten.
shinyuu Android开发 18 0 2021-01-20 17:11:29

我的 Android 项目采用的是 AndroidX,我首先使用的是butterknife 8.5.1版本,报错,提示我用butterknife 9.0 以上,我使用butterknife 9.0,继续报上面的错误;解决方法:使用butterknife 10.1.0 即可,报错信息如下:The given artifact contains a string literal with a package reference ´android.support.v4.content´ that cannot be...

阅读全文

Android Flutter混编_Flutter 和 Android 混编以及各种坑
shinyuu Android开发 45 0 2021-01-13 17:47:35

Flutter 开发快,性能好,值得一用,但很多项目已然有成堆的 Native 代码了,如何才能在已有的基础上接入 Flutter 呢? 新建 Flutter 用于混编 这和情况是已经有 Native 项目或是 Native 项目单独开发,想接入一个全新的 Flutter 项目。 使用 flutter create -t module xxx 方法新建 Flutter 项目,当然这里也可以使用菜单的方式新建,File --> New --> New Module --> Flutter Module。$ cd ...

阅读全文

HTML meta标签viewport属性缩放级别说明
shinyuu HTML5开发 68 0 2021-01-06 15:43:12

什么是Viewport 手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。移动版的 Safari 浏览器最新引进了 viewport 这个 meta tag,让网页开发者来控制 viewport 的大小和缩放,其他手机浏览器也基本支持。 Viewport 基础 一个常用的针对移动网页优化过的页面的 viewport meta 标签大致如下:...

阅读全文

通过代码设置TextView的margin参数_Android动态设置Margin的方法
shinyuu Android开发 84 0 2020-12-30 15:27:17

通过文档,查到TextView下有这么个方法setLayoutParams(ViewGroup.LayoutParams params),但是ViewGroup.LayoutParams这个东西,并没有setMargins方法,LinearLayout.LayoutParams才有,这可咋办? 手册上这样讲public void setLayoutParams (ViewGroup.LayoutParams params), 『该方法提供一些参数给父视图,指定了该view在父视图中的位置。 如果需要动态改变TextView(或者...

阅读全文

Java类的初始化顺序_Java类的初始化过程
shinyuu Java开发实战 98 0 2020-12-16 15:30:02

对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过下面的测试代码来验证这一点:public class InitialOrderTest { // 静态变量 public static String staticField = "静态变量"; // 变量 public String field = "变量"; // 静态初始化块 static { System.out.print...

阅读全文

Android Bitmap图片两种方案旋转90度的方法代码
shinyuu Android开发 507 0 2020-12-02 15:21:44

今天小编就为大家分享一篇Android开发图片水平旋转90度方法,角度可以自定义,这里的90只是举例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。Android两种 旋转Bitmap方法,方法1. 利用Bitmap.createBitmap和方法2. 利用Canvas.drawBitmap。 方法1:Bitmap adjustPhotoRotation(Bitmap bm, final int orientationDegree) { Matrix m = new Matrix(); m.setRo...

阅读全文

Spring中ApplicationContextAware接口使用理解说明
shinyuu Java开发实战 419 0 2020-11-18 14:47:14

一、ApplicationContextAware的作用 1、ApplicationContext是什么? 很多人都知道,ApplicationContext是我们常用的IOC容器,而他的顶层接口便是BeanFactory,ApplicationContext对BeanFactory做了拓展,功能更加强大。 2、ApplicationContextAware作用 在Spring/SpringMVC中,我们拿到IOC容器无非有三种方式,那就是使用ApplicationContext接口下的三个实现类:ClassPathXmlAppl...

阅读全文

Android Elevation设置_安卓动态设置elevation_android elevation设置透明度
shinyuu Android开发 424 0 2020-11-04 16:12:09

简介: 在Android API21,新添加了一个属性:android:elevation,用以在xml定义View的深度(高度),也即z方向的值。除了elevation之外,类似于已有的translationX、translationY,也相对应地新增了一个translationZ,用以在属性动画中动态改变Z值(使用View.setTranslationZ())Z = elevation translationZ 在引入了这个属性之后,主要影响有两个:影响View的阴影影响View相互阻挡顺序 1. 影响View的阴影 Z...

阅读全文

Java 对HashMap进行简便排序的三种常见方法
shinyuu Java开发实战 205 0 2020-10-28 16:26:07

这篇文章主要介绍了Java 对HashMap进行排序的三种常见方法,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下,首先来看看Map集合获取元素的三种常见方法keySet()、values()、entrySet()。 1. values(): 返回map集合的所有value的Collection集合(于集合中无序存放)import java.util.*; public class Main{ public static void main(String[] args){ Map<String, St...

阅读全文

BaseRecyclerViewAdapterHelper开源项目BaseMultiItemQuickAdapter实现多类型源码学习
shinyuu Android开发 387 0 2020-09-23 16:32:53

今天我们来看下BaseRecyclerViewAdapterHelper是如何实现多布局的。首先我们要实现多类型布局,我们的adapter不再是继承自BaseQuickAdapter类,而是继承自其的子类,BaseMultiItemQuickAdapter。而且数据源类型需要继承自MultiItemEntity,MultiItemEntity是一个接口,代码很少:package com.chad.library.adapter.base.entity;/** * https://github.com/CymChad/BaseRecy...

阅读全文

Android MVP架构模式举例_Android中 MVP框架原理理解
shinyuu Android开发 577 1 2020-09-02 13:48:08

在Android项目中,按照MVC的分层,Activity和Fragment应该属于View层,用于展示UI界面,以及接收用户的输入,此外还要承担一些生命周期的工作。所以开发的时候我们经常把一些业务逻辑直接写在Activity里面,这非常直观方便,代价就是Activity会越来越臃肿,而在Activity中,把View和Controller抽离开来,而这就是MVP模式的工作了。 MVP模式的核心思想 MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成Presenter接口,Model类还是原来的Model。这...

阅读全文

Spring Bean的4种依赖注入方式_Spring中bean的注入方式
shinyuu Java开发实战 2191 3 2020-08-12 13:28:28

所谓依赖注入,其实就是给对象里的属性赋值,因为对象里有其他对象,因此就形成了依赖。Spring有4种方式来给属性赋值: 1. 构造方法注入 2. set方法注入 3. 自动装配 4. 注解 1. 构造方法注入 构造方法注入是指在构造方法中注入属性或者对象来实现依赖注入,如下所示,在标签中定义一个id为userDaoImpl的Bean,并通过注入了name为username,value为admin的值,注入完成后直接通过this.username获取到值admin。其中引用类型使用ref属性,基本类型使用value属性。 publi...

阅读全文

SpringMVC接收上传的Excel并解析获取内容_上传Excel文件中读取数据
shinyuu Java开发实战 819 0 2020-07-29 13:17:04

系统中常用到的批量导入功能,根据Excel内容批量插入,这里实现获取上传的Excel内容,由于offer2003前和2007后的版本所使用的API不一样,这里也做了兼容处理,兼容2003和2007 1.引入maven包<!-- poi office --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9&...

阅读全文

ASP.NET MVC中设置跨域_WebApi跨域(CORS)配置
shinyuu C#编程 1048 1 2020-07-15 16:04:34

实际项目中,对于WebApi的访问不一定都在同一域名下,所以进行跨域访问的时候,可能会出现如下提示:请求的资源不支持 http 方法“OPTIONS”。需要对WebApi进行设置。 1、修改Web.config文件,在system.webServer节点下,新增如下代码<!-- 跨域访问配置 --><httpProtocol> <customHeaders> <!--相应类型(值为逗号分隔的一个字符串,表明服务器支持的所有跨域请求的方法)--> <add name...

阅读全文

Redis在C#中的使用_C#使用Redis的基本操作
shinyuu C#编程 649 0 2020-06-24 14:03:12

在我们日常的开发中,Redis是很常用的,常用的语言都有Redis的API,现在就来分享一下Redis的.NET C#写法和用法,下面开始介绍Redis在C#中的使用。在使用之前一点要安装和添加NuGet包 StackExchange.Redis (.net framework的环境最少是4.5),否则会报错。 安装好后我们在项目中添加一个helper类using StackExchange.Redis;using System;using System.Collections.Generic;using System.IO;us...

阅读全文

Android实现人脸识别技术_Android如何从图片中切取人脸区域?
shinyuu Android开发 1377 0 2020-06-17 15:31:12

从一张图片中切出人脸区域是App开发中常用的场景,譬如,现在很多App用户上传头像的时候,喜欢随手自拍。自拍的图片往往在尺寸、位置上并不完美。而App需要在各种千奇百怪的UI场景下显示用户的头像。所以从原始头像图片中切取出人脸区域看起来是个刚需。这里介绍如何应用Android提供的人脸识别接口完成简单的切取人脸区域。 简单起见,输入为一个可能人脸的Bitmap,并且假定目标是识别出一个人脸而已。输出为一个以人脸为中心的原图的部分切图。如果需要自定义长宽比例,或者只需要定位人脸位置,来半侧切图,可以稍加改动实现。 Android官...

阅读全文

JS逻辑判断,不要只知道写 if-else 和 switch,还有很多你没用过的
shinyuu JavaScript教程 1036 1 2020-05-27 14:04:58

我们在编写 JS 代码时,经常会遇到逻辑判断复杂的情况。一般情况下,可以用 if/else 或 switch 来实现多个条件判断,但会出现一个问题:随着逻辑复杂度的增加,代码中的 if/else 和 switch 会越来越臃肿。本文将带你尝试写出更优雅的判断逻辑。 比如说下面这样一段代码:const onButtonClick = (status) => { if (status == 1) { sendLog(´processing´) jumpTo(´IndexPage&...

阅读全文


DD记账
top
+