自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 快速入门Kotlin语言(基本语法概要)

引言基本数据类型常量和变量函数字符串模板条件表达式非null检测类区间集合摘要

2021-03-25 14:37:03 3215

原创 解决Glide加载Gif动态图(圆角),边角有黑色阴影问题。

1)问题描述:在开发android app的项目中,碰到了一个小问题,就是利用Glide加载Gif图片,因为Glide本身是支持Gif加载的,所以直接使用。如下图所示:截图中的加载中的动图是UI设计的图,有圆角;发现出现了边角的阴影,尝试了换图,检查代码,没有问题;后来通过Google找到了一篇文章,解决了这个问题。2)原因分析:参考了这篇文章:Glide加载圆角gif图边角黑边问题大致问题是图片解码格式默认为RGB_565导致的,在加载时将解码格式手动设置为ARGB_8888即可。关于原理的

2020-07-09 12:08:58 1846

原创 Android app 接入微信/支付宝支付,获取应用的签名

1)问题:app在开发过程中,难免会接入到支付功能,常见的支付供应商就是微信/支付宝了,接入的流程不在详述,去对应的官网,按照说明问题不大。在申请接入过程中,会碰到一个提示:2)解决办法:这个需要下载获取签名的工具即可;下载地址:https://pan.baidu.com/s/1QU4u3yMSsboSZIDh8RhIoA提取码: ihdy3)具体步骤:①下载文件②安装到安卓移动端设备,并且把需要获取签名的应用一并安装到该设备,打开获取签名文件的工具,如下:③把需要获取签名的app,a

2020-06-12 14:30:46 2536

原创 解决ScrollView嵌套AgentWeb安卓部分机型出现的问题

1)问题描述:app开发中,某个页面是原生和h5混合页面,h5用的是AgentWeb,布局中用ScrollView嵌套原生和h5布局,在部分机型报错。报错如下:2)问题分析:大致原因应该是开了硬件加速,在某种机型上出现了问题。3)解决办法:① 关闭(如果有)清单文件中的硬件加速android:hardwareAccelerated="true"② 关闭硬件加速WebView mWebView = agentWebInit.getWebCreator().getWebView();mWebV

2020-05-29 19:06:24 652

原创 Android面试基础汇总(2)

5)接口和抽象类的区别?6)简要描述HashMap原理?HashMap是基于哈希表的Map接口的非同步实现。它实际上是一个“链表散列”的数据结构,即数组和链表的结合体。读取原理:HashMap 在底层将 key-value 当成一个整体进行处理,这个整体就是一个 Entry 对象。HashMap 底层采用一个 Entry[] 数组来保存所有的 key-value 对,当需要存储一个 En...

2020-04-30 11:00:43 203

原创 Android面试基础汇总(1)

1)Java包含哪些数据类型?①基本数据类型②引用数据类型类(Class)、接口(Interface)、数组2)Object类包含的方法?Object是所有类的基类,常用的方法有equals(Object obj)getClass()hashCode()notify()notifyAll()toString()wait()3)String...

2020-03-27 14:12:34 146

原创 Android Studio +Git(码云) Clone(克隆)+提交代码

Git和Svn作为两大主流的代码托管平台,作为程序员来说最为熟悉不过的了,不同的公司和个人的偏好不同,采用的托管工具也不同,最近一直在用Svn,Git相对用的比较少,新进公司发现用的是码云,感觉有点生疏,自己研究了下,成功Clone项目到本地,并提交等工作,特此做下笔记;第一步:申请码云账号(注册地址:https://gitee.com/signup),提交账号给管理员,管理员把你加入到项目开...

2019-01-02 20:52:52 3437

原创 Android接入微信H5支付及与Js交互

思路逻辑: 1)Android端调用后端生成的支付链接; 2)通过addJavascriptInterface()方法传入与Js交互的参数; 3)支付成功,Js回调Android端接口,处理相应逻辑。 操作步骤: 一)Android端获取微信支付Url 二)设置Webview参数 1) Android通过Webview打开Url,通过addJavascriptInterfac...

2018-05-15 16:49:29 2710 1

原创 Android 通过git(码云)提交本地代码

1)默认用户已经注册码云账号,注册地址:https://gitee.com/signup;2)用户新建项目,填写比较的信息,完成新项目的创建(作者默认该项目克隆地址:https://gitee.com/devnn/test.git);3)用户本地新建一个文件夹,克隆刚才新建的项目(作者默认文件夹地址:F:\code);4) 用户打开 git客户端(dos窗口)(下载地址:https:/

2018-05-10 17:01:02 438

原创 Android沉浸式状态栏和导航栏的研究

Android开发过程中,移动设备的状态栏和导航栏的颜色,尺寸,根据需要有时需要调整,沉浸式和透明状态栏,尤其是小说阅读界面,在开发中很常见。根据平时的工作情况,对手机状态栏和导航栏做以下总结:1)隐藏状态栏和导航栏(手机被整个app铺满,包括一些手机虚拟按键导航栏);2)设置透明状态栏;一、隐藏状态栏和导航栏这类的处理方式有两种:1)直接在清单文件中设置:①在

2018-03-27 18:11:03 577

原创 程序员常用的学习资源

视频类: 慕课网 视频和提问/资讯类 https://www.imooc.com/ CSDN学院 视频/技术交流 http://edu.csdn.net/?ref=home&loc=0 腾讯课堂 直播和视频编程知识 https://ke.qq.com/

2017-12-18 21:26:53 1001

原创 Java反射机制浅谈

前言:我们在程序开发的过程中,有时会碰到这样一种情况:A程序员和B程序员共同开发某一项功能,因为是并行开发,有可能A程序员需要用到B程序员所写的类,但是B程序员并没有完成,这种情况下,A程序员的代码是不能通过编译的,有没有办法解决呢?还有一种情况,当我们想去查看java对象的属性、方法、构造方法,有没有更方便简洁的办法呐?这个时候我们引用了 java反射机制。反射机制:是指在运

2017-12-16 17:31:59 348 1

原创 Notepad++格式化代码插件

Notepad++ 是一款轻量级的代码编写工具,大量的代码需要格式统一,整洁,这样才能阅读方便,正常下载安装的 Notepad++ 是没有提供代码格式化功能的,可以通过自己下载安装 NppAStyle 插件,来满足这个需求。1,Notepad++ 下载地址:https://pan.baidu.com/s/1pLFqhbP 密码:r333 下载安装即可;2,NppAStyle 插

2017-12-15 17:24:07 15298 1

原创 Java常见的Json格式

Json常见的格式1:{    "name": "张三",    "age": 27,    "address": "北京市 朝阳区",    "phone": "15326564587"}这一种是比较简单的json对象结构,解析比较简单方便解析方式1/** * 测试解析Json字符串 { * key:value, *

2017-12-14 15:34:27 4657 1

原创 java网络编程基础知识

前言一直以来,认为自己从事的是android开发,后台接口怎么提供是后台的事情,至于用java,go,php等和自己有关系,后来发现错了,做前端开发熟练掌握网络编程知识,对前端程序开发是事半功倍。参考了一些技术博客文档,并仔细查看了javaAPI,把java编程知识总结一下,以备日后学习翻阅。基础知识1,OSI分层模型和TCP/IP分层模型的对应关系网络分层有原来的

2017-12-13 21:37:03 579

转载 理解多线程设计模式(转)

多线程设计模式:1.Single Threaded Execution Pattern   [同一时刻只允许一个线程操作]比喻:三个挑水的和尚,只能同一时间一个人过桥,不然都掉河里喂鱼了。总结:在多个线程同时要访问的方法上加上synchronized关键字。 2.Immutable Pattern   [变量赋值一次后只能读取,不能改变。]   比喻

2017-12-10 20:15:32 230

原创 java多线程

进程和线程进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体, 是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。一个

2017-12-07 21:01:54 209

原创 javaIO流、File文件知识总结

JAVA流流定义:一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。           本质是数据传输。作用:数据在设备间进行传递。分类:按流向不同        输入流(in)/ 输出流(out)                按处理数据类型 字节流(byte) / 字符流 定义处理对象使

2017-12-06 21:48:09 520

原创 java集合框架

java集合框架1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2. 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。3. 抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自

2017-11-22 16:53:48 416

原创 java异常处理

java异常处理异常是程序中的一些错误,并不是所有的错误都是异常,并且错误有时候是可以避免的。异常发生的原因有很多,通常包含以下几大类:用户输入了非法数据。要打开的文件不存在。网络通信时连接中断,或者JVM内存溢出。异常类异常类分类:1、error---错误 : 是指程序无法处理的错误,表示应用程序运行时出现的重大错误。例如j

2017-11-21 19:53:55 272

原创 java常用类--日期和时间

java日期和时间java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date()第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。Date(longmillisec)

2017-11-20 21:04:48 248

转载 java常用类--Math

Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。Test.java 文件代码:publicclassTest{publicstaticvoidmain(String[]args)

2017-11-20 15:37:25 243

原创 java常用类--String,StringBuffer,StringBuilder的区别

Java String类在java编程中,字符串属于对象,java提供了String类创建和操作字符串。1,创建字符串String name="hello,world";这里的值是"hello world",编译器会使用该值创建一个String对象(字符串常量)。注意:String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了。如果

2017-11-20 15:07:55 266

转载 java常用类--object

Java作为一个庞大的知识体系,涉及到的知识点繁多,本文将从Java中最基本的类java.lang.Object开始谈起。Object类是Java中其他所有类的祖先,没有Object类Java面向对象无从谈起。作为其他所有类的基类,Object具有哪些属性和行为,是Java语言设计背后的思维体现。Object类位于java.lang包中,java.lang包包含着Java最基础和核

2017-11-20 11:42:57 240

转载 抽象类和接口

接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。一、抽象类我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的。如果一

2017-11-20 10:15:54 350

原创 面向对象的特征--多态

多态是什么?多态就是同一操作(方法)作用于不同的对象时,可以有不同的解释,产生不同的执行结果。多态编程的好处在父类写一个虚方法或抽象方法,子类去重写父类的方法,在调用的时候系统会根据对象运行时的类型决定调用哪个方法。假设我们有一个“书”类,然后有很多子类继承“书”类。例如“计算机组成原理”类继承“书类”,“深入Java面向对象”继承“

2017-11-18 21:31:58 380

转载 构造器和方法的理解

构造函数(构造器)是一种特殊的函数。其主要功能是用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。构造函数与类名相同,可重载多个不同的构造函数。在JAVA语言中,构造函数与C++语言中的构造函数相同,JAVA语言中普遍称之为构造方法。[java] view plain copy构造方法的声明:

2017-11-17 21:29:51 401

转载 this与super关键字

thisthis是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。this的用法在java中大体可以分为3种:1.普通的直接引用这种就不用讲了,this相当于是指向当前对象本身。2.形参与成员名字重名,用this来区分:123456789

2017-11-16 21:41:02 246

转载 面向对象的特征--继承

继承的概念继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。类的继承格式class 父类{}class 子类extends 父类{}继承的特性

2017-11-14 21:08:32 228

原创 面向对象的特征--封装

封装就是把同一类事物的共性(包括属性和方法)归到同一类中,方便使用。属性能够描述事物的特征,方法能够描述事物的动作。封装:封装也称信息隐藏,是指利用抽象数据类型把数据和基于数据的操作封装起来,使其成为一个不可分割的整体,数据隐藏在抽象数据内部,尽可能的隐藏数据细节,只保留一些接口使其与外界发生联系。也就是说用户无需知道内部的数据和方法的具体实现细节,只需根据留在外部的接口进行操作就行。封装

2017-11-13 11:58:21 232

原创 java面向对象

一、 类,对象    类?首先举一个例子:小李设计了一张汽车设计图,然后交给生产车间来生产汽车,有黑色的、红色的、白色的... 这里,汽车设计图就是我们说的类(class),生产车间就是new构造器(大部分对象都是new出来的),生产出来的汽车就是我们要说的对象。可以说java编程实质就是构建类的过程。对象?万物皆对象,宇宙中,如植物,动物,人类,每个个体都是各司其职、各尽所能的。

2017-10-20 16:48:52 199

转载 数组

在日常生活中,可乐有罐装的,有瓶装的。这里的“罐”和“瓶”就是可乐的容器。Java当中也一样,当同一类型的数据数量较多时,我们也可以通过容器将其装在一起,更加方便使用。数组是Java中的对象,用以存储多个相同数据类型的变量。数组能够保存基本数据类型也能保存对象引用,但数组自身总是堆中的对象。一、数组的创建1.1、声明数组:

2017-10-16 16:49:19 273

转载 java的基本语言元素--流程控制语句

流程控制语句的使用话到这里,就来到了一个重要的部分:Java的程序流程控制语句的使用。之所以使用流程控制语句,是因为一个程序的运行都是有序的,通常都是按照代码的书写顺序从上到下,从左到右进行执行。这一过程被称为顺序执行。但实际开发中,我们通常都要根据实际需求,对程序的运行方式做一些目的性的改变,例如加一些条件判断等等。于是,这个时候就必须用到流程控制语句,来进行

2017-10-16 14:48:32 457

转载 java的基本语言元素--代码块

语句同样是Java重要的基础语言要素之一,那么在Java中语句是以什么形式体现的呢?通常分为:简单语句:就如同语文中以句号“。”结尾的一个句子就是一句语句一样,Java中以分号“;”结尾的一段代码就是最基本的一条Java语句。块(复合)语句:指以一对花括号"{ }"包含起来的一系列程序语句的集合,所以又被称为复合语句。提到块语句,我们就不得不提及与之紧密相关的一

2017-10-16 14:46:52 395

转载 java的基本语言元素--运算符

如同前面我们已经总结过的标示符、关键字、注释一样,运算符和表达式也是Java的基础语言要素和一个Java程序的重要组成部分。这是因为任何程序通常都会涉及到对数据的运算,因为所谓的编程工作,实际也就是将现实生活中的一系列复杂问题,抽象出来编写成为程序,方便更加容易的处理的过程。所以正如同我们在日常生活中也会涉及到一系列类似加减乘除的运算一样,一个程序也离不开“运算”。运算

2017-10-16 14:40:42 1294

转载 java的基本语言元素--常量/变量/基本数据类型

变量与常量是一个Java程序组成的重要部分。我们可以将变量与常量理解为数据的载体,而从名称上我们也可以看出二者的不同:常量代表不能改变的数据值,而变量的值则存在可变性。在我们回顾Java中的关键字的使用时,说道:被Java中的关键字final所修饰的变量,其值一经初始化,便不能再次进行赋值。该特性恰恰符合常量的定义。[java] view p

2017-10-13 11:25:07 393

转载 java的基本语言元素--注释

注释是编程工作中一项重要和必不可少的东西。注释的使用并不复杂,其之所以如此重要的原因在于什么?来看一个概念解释:注释就是对代码的解释和说明。目的是为了让别人和自己很容易看懂。为了让别人一看就知道这段代码是做什么用的。正确的程序注释一般包括序言性注释和功能性注释。序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。模块的功能性注释的主要内容包括程序段的功能、语句的功能

2017-10-12 10:55:50 508

转载 java的基本语言元素--关键字

在我们认识Java中的标示符的时候,知道了标示符的定义规则里有一条:Java自身提供的49个关键字不能作为标示符定义。那么,所谓的关键字是什么呢?关键字实际上是Java中的特殊保留字。值得留意的就是特殊与保留两个字。为什么呢?因为通俗的来说,所谓的关键字事实上我们也可以理解为标示符存在,只不过这种标示符因为Java自身为其赋予了特殊的意义,所以作为Jav

2017-10-12 10:30:06 5388

转载 java的基本语言元素--标识符

一、Java中的标示符是什么?第一,标示符的概念:我们指定某个东西、人,都要用到它,他或她的名字;在数学中解方程时,我们也常常用到这样或那样的变量名或函数名。同样的道理:在编程中,是用户编程时使用的名字,对于变量、常量、函数、语句块也有名字,我们统统称之为标识符。第二,Java中标示符的概念:用来给类、对象、方法、变量、接口和自定义数据类型命名的

2017-10-12 10:25:17 887 1

原创 java开发环境的搭建

点击环境变量接下来要配JAVA_HOME,PATH, CLASSPATH 三个属性...1.配置 JAVA_HOME属性找到安装java SDK的目录:  C:\Program Files\Java\jdk1.8.0_101 (java sdk1.8.0 版本是目前演示的版本,如果不是一个版本,那也没有关系,安装的配置过程是一样的),复制该路径点击上图中的‘

2017-10-10 15:50:11 1213

空空如也

空空如也

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

TA关注的人

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