配置好kotlin有些关键词仍报错
当项目配置好kotlin之后,一些关键字比如let,lazy等在报错.\
看看项目的build.gradle中
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
是否与当前Android Studio是同一版本,如果不是,那么会有警告,不是的话就需要更新koltin插件了.
插件下载一般很慢,以下是下...
从源码角度彻底搞懂String、StringBuffer、StringBuilder
*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布
从源码角度彻底分析三者底层实现.第一次写源码分析,小记一笔,由于本人才疏学浅,有很多地方可能存在误解和不足,还望大家在评论区批评指正.
一、引言
学Java很久了,一直处于使用API+查API的状态,不了解原理,久而久之总是觉得很虚,作为一名合格的程序员这是不允许的,不能一直当API Player,我们要去了解分析...
从源码角度彻底搞懂ArrayList
*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布
欣赏我们常用集合ArrayList的源码,学习API背后的故事.
引言
学Java很久了,一直处于使用API+查API的状态,不了解原理,久而久之总是觉得很虚,作为一名合格的程序员这是不允许的,不能一直当API Player,我们要去了解分析底层实现,下次在使用时才能知己知彼.知道在什么时候该用什么方法和什么类比较...
Android 未root查看ANR异常
有时候APP不抛出错误,但是会抛出ANR。
一般我们的APP出现ANR后会将ANR信息保存到/data/anr/traces.txt里面。在系统里面配置环境变量:adb,然后打开命令行,输入方式1:
cd data/ 进入data目录
cd anr/ 进入anr目录
ls 可以看到之前产生的traces.txt文件
cat traces.txt 查看文件内容,当然也可以push到电脑上慢
从源码角度彻底搞懂LinkedList
LinkedList源码赏析
一、概述
LinkedList,相对于ArrayList,大家可能平时使用LinkedList要少一些,其实有时候使用LinkedList比ArrayList效率高很多,当然,这得视情况而定。
本文将带大家深入LinkedList源码,分析其背后的实现原理,以便以后在合适的情况下进行使用。
之前我所知道的LinkedList的知识:
Lin...
Android-skin-support 换肤原理全面解析
一.背景
二.AppCompatActivity实现
三.Android创建View全过程解析
四.换肤原理详细解析
1.上文预备知识与换肤的关系
2.源码一,创建控件全过程
3. 源码二,从皮肤包加载皮肤
4.简单总结一下原理(本文精髓)
一.背景
公司业务上需要用到换肤.为了不重复造轮子,并且快速实现需求,并且求稳,,于是到Github上找了一个star数比较多的...
国内用户无法使用TikTok(国外版抖音)的解决方案
首先,我是不推荐程序员使用这个东西的,毕竟很浪费时间.我平时比较忙,也是没时间玩这些.
1. 背景
娱乐娱乐也是可以,但不要沉迷其中.我们可以从这款产品中学习它的优点.
无独有偶,那天忽然在Google Play上看到这玩意儿TikTok(国外版抖音),准备下载下来欣赏欣赏(同时可以学习学习英语),和国内的有什么不同.因为国内版的抖音,想必使用的都知道,同质化、恶趣味、炫富等等,没意思....
浅析Java的深拷贝和浅拷贝.md
文章目录浅析Java的深拷贝和浅拷贝1. 浅拷贝2. 深拷贝3. 总结
浅析Java的深拷贝和浅拷贝
首先来看看浅拷贝和深拷贝的定义:
浅拷贝:使用一个已知实例对新创建实例的成员变量逐个赋值,这个方式被称为浅拷贝。
深拷贝:当一个类的拷贝构造方法,不仅要复制对象的所有非引用成员变量值,还要为引用类型的成员变量创建新的实例,并且初始化为形式参数实例值。这个方式称为深拷贝
1. 浅拷贝
写一个普通类P...
Android JNI初识 HelloWorld
以前学过一点JNI,很久没用,然后又忘了,复习一下.
一.NDK是什么
原生开发工具包 (NDK) 是一组可让您在 Android 应用中利用 C 和 C++ 代码的工具。 可用以从您自己的源代码构建,或者利用现有的预构建库
NDK使用场景
NDK会不可避免的增加开发过程的复杂性,通常是不建议使用的.
从设备获取卓越性能以用于计算密集型应用,例如游戏或物理模拟。
重复使用您自己或其他开发...
JavaScript数据类型入门必看
Javascript中有5种简单数据类型:Undefined、Null、Boolean、Number和String。还有一种复杂数据类型——Object。Javascript不支持任何创建自定义类型的机制,所有值都成为以上6中数据类型之一。typeof操作符typeof操作符是用来检测变量的数据类型。对于值或变量使用typeof操作符会返回如下字符串。字符串描述undefined未定义boolea...
JavaScript中Function类型解析
在ECMAScript中,Function(函数)类型实际上是对象。每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针。 一.函数的声明方式1.普通的函数声明function box(num1, num2) { return num1+num2;} 2.使用变量初始化函数var box= funct...
用Ajax写一个带模态框的增删改查
今天给大家讲如何用Ajax做增删改查。基本操作先写HTML和CSS.<body>
<table>
<tr style="background: #F2F7FF;">
<td colspan="4">
<button class="add" style="width: 200px;back
Ajax 异步与服务端交换数据
Ajax异步与同步有什么不同?
首先我们来思考一个问题
什么是同步?
传统提交表单的方式都是同步提交的,表单必须要有name属性,发生页面跳转
<body>
<div class="container">
<form method="post" action="api/form.php">
<div class="
有趣好玩的canvas
首先我们来了解一下canvas
canvas是HTML5中新增的一个元素,专门用来绘制图形。在页面放置一个canvas元素,就相当于放置了一个画布,可以在其中进行图形的绘制。
但绘制图形,并不是指使用鼠标作画,而是需要javascript进行配合。创建canvas的时候,他默认的宽高为300px*150px。
<canvas id="canvas">我是一个画布</ca...
查看模型保存的有name参数
# checkpoint_dir下有四个files:meta, index, data, checkpoint
checkpoint_dir = './save/checkpoint'
reader = tf.train.NewCheckPointReader(checkpoint_dir+'/model-init')
variables = reader.get_variable_to_sh...
复合变量【PL/SQL】
1. PL/SQL记录(相当于高级语言中的结构体)
declare
--定义记录类型
type emp_record_type is record(
ename emp.ename%type,
salary emp.sal%type,
title emp.job%type);
--定义变量
ch_record emp_record_type;
begin
--执行部分
select...
今日推荐
周排行