自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指offer(9) 斐波那契数列第n项及其应用【JAVA】

目录1.斐波那契数列第n项三种计算方法2.应用一:青蛙跳台阶问题3.应用二:小矩形放大矩形问题注:本文部分内容来自剑指offer第二版1.斐波那契数列第n项三种计算方法递归:存在严重的性能问题,因为重复计算,时间复杂度O(2^n)从下往上循环:解决了递归方法中重复计算的问题,时间复杂度O(n)矩阵求解:利用乘方公式以及乘方性质,采用二分法求解,时间复杂度O(logn...

2020-02-01 12:21:51 334

原创 剑指offer(9) 两个栈实现队列&两个队列实现栈【JAVA】

1.两个栈实现队列package example;import java.util.Arrays;import java.util.Collections;import java.util.Stack;/** * 用两个栈实现队列 * 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead, * 分别完成在队列尾部插入节点和在队...

2020-01-31 19:12:51 151

原创 剑指offer(8) 二叉树的下一个结点【JAVA】

package example;/** * 给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点? * 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针。 * * @author lvtong * @date 2020/1/30 */public class Example8 { public static void main(St...

2020-01-30 18:51:42 182

原创 Android Context理解

一个应用中Context的数量=Service个数+Activity个数+1。Context有哪些子类和实现?查看源码可以知道,Context本身是个抽象类,它的子类主要有ContextWrapper、ContextThemeWrapper,区别是后者有自己的主题资源。毕竟是抽象类,所以Context还有一个实现类ContextImpl,是final类。所有继承关系如下:...

2019-11-29 17:30:41 160

原创 设计模式之单例模式(Singleton)

首先是懒汉式:指全局的单例实例在第一次被使用时构建。按需加载,资源最大化利用/** * 懒汉式单例 * * @author lvtong * @date 2019/11/27 */public class Singleton1 { /** * TODO 4:volatile关键字禁止指令重排 */ private static volati...

2019-11-27 21:59:51 126

原创 Android无障碍开发笔记

1.添加组件内容描述可以在组件的布局XML文件里,添加android:contentDescription属性。当然,也可以在布局实例化代码里,使用someView.setContentDescription(someString) 方法。2.实现组件可聚焦有些框架组件,如Button、CheckBox等,默认 是可聚焦的;而像ImageView和TextView这样的框架组件需要手动...

2019-11-22 15:38:22 1416

原创 浅谈Window创建过程

一、activity启动与window创建过程activity启动最终由AndroidThread中的performLaunchActivity()方法完成,其内部通过类加载器ClassLoader来创建activity对象,如果对象不为空,就调用activity的attach方法为其关联一系列环境变量。attach方法中,系统通过PolicyManager的makeNewWindow方法创...

2019-09-19 10:46:02 253

原创 APP研发录笔记

https://github.com/lvtong199881/AndroidNote/blob/master/APP研发录.mmap

2019-09-06 10:00:39 141

原创 Dexposed实现热修复

AndroLua开源项目:https://github.com/mkottman/AndroLua阿里dexposed基于AOP思想:https://github.com/alibaba/dexposed原理:https://blog.csdn.net/yueqian_scut/article/details/50939034https://blog.csdn.net/hgfujffg/a...

2019-09-05 09:54:04 230

原创 Android Handler机制 学习笔记

emmmm本来想导出图片直接粘上来,没想到脑图导出bmp大小超了,别的格式清晰度又没法看23333所以还是传GitHub吧.....(里面也还有一些设计模式、读书笔记,持续更新中)脑图地址:https://github.com/lvtong199881/AndroidNote/blob/master/Android.bmp...

2019-08-16 16:12:55 144

原创 UI设计之Dialog

Dialog概述dialog是应用向用户展示信息并提供一些的操作的一种通知形式,与toast不同,dialog会获取界面焦点,中断用户操作,这种方式比较突兀,用户体验不是很好,除了像登录场景、检测到用户作弊等情况,其他情况下还是要谨慎使用,更加推荐使用snackbar。dialog的常见类型1.默认dialogAndroid封装了一个默认的AlertDialog,主要包括title...

2019-07-30 09:13:03 1613

原创 MD UI设计之SwipeRefreshLayout

SwipeRefreshLayoutSwipeRefreshLayout是谷歌官方推出的一个下拉刷新布局,经常与listview、recyclerview等配合使用,实现下拉刷新数据的效果。使用方法:①layout.xml中引入SwipeRefreshLayout布局,在里面添加你想刷新的控件或布局。例如下图:②activity中实例化SwipeRefreshLayout,这个...

2019-07-29 21:34:55 295

原创 MD UI设计之Snackbar

SnackbarSnackbar是谷歌的一个类似于dialog、Toast的通知用户方式,需与CoordinatorLayout配套使用。使用方法:①在activity中实例化CoordinatorLayout,这很重要,缺少实例化直接使用Snackbar,会报错null object。②Snackbar的使用格式和Toast很类似,如下对比Toast.makeText(th...

2019-07-29 20:52:28 400

原创 Android Studio报错以及解决方案汇总

本贴长期更新,主要汇总本人在使用Android Studio学习android开发的过程中遇到过的一些错误以及解决方案,希望能对别人有所帮助。目录:错误一:Activity模板无法使用错误错误二:虚拟机adc不能初始化错误...

2019-05-17 19:35:52 1046

原创 Android Studio打开虚拟机时报错不能初始化adc

错误:打开虚拟机时报错不能初始化adc、找不到麦克风解决办法:将虚拟机的gpu渲染模式改为software 在电脑系统的音频设备->录制中启用立体声混音 3.在虚拟机中将虚拟打开我本人的解决办法是第三个。...

2019-05-17 19:29:44 2401 6

原创 Android编程权威指南第三版 第32章

挑战练习内容1.首先,让日落可逆。也就是说,点击屏幕,等太阳落下后,再次点击屏幕,让太阳升起来。 动画集不能逆向执行,因此,你需要新建一个AnimatorSet。2.第二个挑战是添加太阳动画特效,让它有规律地放大、缩小或是加一圈旋转的光线。(这实际是反复执行一段动画特效,可考虑使用ObjectAnimator的setRepeatCount(int)方法。) 另外,海面上要是有太阳的倒影就更...

2019-05-09 02:40:54 2209 2

原创 Android启动页及其相关

一、新建一个启动页Activity(Main2Activity .java),代码如下package com.bignerdranch.android.myapplication;import android.content.Intent;import android.os.Handler;import android.support.v7.app.AppCompatActivity...

2019-04-29 00:40:54 137

原创 Android圆角Button及相关样式

一、设置控件background属性android:background="@drawable/shape"二、shape.xml文件<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> &l...

2019-04-28 23:46:19 144

原创 Android编程权威指南第三版 第31章

一、设备旋转问题1.问题设备旋转后,已绘制的矩形框会消失。要解决这个问题,可使用以下View方法:protected Parcelable onSaveInstanceState()protected void onRestoreInstanceState(Parcelable state)以上方法的工作方式不同于Activity和Fragment的onSaveInstance...

2019-04-28 18:41:26 1353 3

原创 Android编程权威指南第三版 第25章

一、分页显示1.问题getRecent方法默认返回一页包含100个结果的数据。不过,该方法还有个叫作page的参数, 可以用它返回第二页、第三页等更多页数据。 请实现一个RecyclerView.OnScrollListener方法,只要用户看完当前页,就使用下页返 回结果替换当前页。想更有挑战的话,可以尝试把后续结果页添加到当前结果页后面。2.提示onScrollListener...

2019-04-27 21:11:13 364

原创 Android编程权威指南第三版 第24章

挑战练习:应用图标 前面,为在启动器应用中显示各个activity的名称,你使用了ResolveInfo.loadLabel(...) 方法。loadIcon()是ResolveInfo类的另一个方法,可以用它为每个应用加载显示图标。作为 练习,请给NerdLauncher应用中显示的所有应用添加图标。解决办法:一、创建recyclerView中item的布局文件(item_r...

2019-04-25 23:50:25 629

原创 Android编程权威指南第三版 第23章

一、挑战练习23.8:按钮主题提示:BeatBox的父样式解决办法:①在list_item_sound.xml的BeatBoxButton按钮中添加style为BeatBoxButton,代码如下<Button style="@style/BeatBoxButton" android:layout_width="match_parent" andro...

2019-04-25 01:12:34 371

原创 剑指offer——第二章

一、编程语言1.C++概念理解题面试官:定义一个空的类型,里面没有任何成员变量和成员函数。对该类型求sizeof,得到的结果是多少?应聘者:答案是1面试官:为什么不是0?应聘者:空类型的实例中不包含任何信息,本来求sizeof应该是0,但是当我们声明该类型的实例的时候,它必须在内存中占有一定的空间,否则无法使用这些实例.至于占用多少内存,由编译器决定。在VisuaI studio中,...

2019-04-21 18:18:09 148

原创 剑指offer——前言与第一章

前言作者面试题博客 http://zhedahht.blog.163.com/第一章面试流程对于初级程序员,一般偏向考察算法和数据结构。要对公司有所了解,也要准备问面试官的问题。放松不紧张,先了解清问题再编写代码,检查后上交。面试形式 电话 不要不懂装懂、形象化语言 远程 思考再编码、代码规范、单元测试 现场 不要迟到、着装得体、准备问...

2019-04-20 01:01:10 130

原创 Android UI触摸选择器

一、创建触摸选择器文件右击res,选择资源文件,类型Drawable,根为selector,不需要限定符填写名字,如下图二、文件内容示例:<?xmlversion="1.0"encoding="utf-8"?><selectorxmlns:android="http://schemas.android.com/apk/res/android">...

2019-04-15 12:52:37 254

原创 Android Studio activity模版出错问题解决历程以及最终解决办法

不知道在什么时候,Android Studio新建activity模版,等待几秒右下角就会抛出异常,刚发现这个问题的时候,着急编写代码,所以转而使用手动创建并注册的办法,避开了这个问题。在昨天,在图书馆的时候,做优达学城的Android课程练习,再次想要利用模版创建,再次出现了上次的错误。于是进行了大量的尝试来解决。百度了很多办法,主要方法有以下几个:1.删除C:\\tmp文件夹,并删除项...

2019-04-05 17:37:02 1536

空空如也

空空如也

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

TA关注的人

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