自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 问答 (1)
  • 收藏
  • 关注

原创 不同场景下Activity生命周期的分析

按BACK键的生命周期:按HOME键的生命周期:按HOME键,再回到原Activity的生命周期:点击按钮从Activity A跳到Activity B的生命周期:Standard模式(默认):点击按钮从MainActivity跳到SecondActivity,||中间用蓝色线分割|| 从SecondActivity按BACK回到MainActivity的生命周期:singleTop模式:点击按钮从MainActivity跳到SecondActivity...

2020-08-04 10:41:57 216 1

转载 数据库范式

转载自:https://blog.csdn.net/qq_40780910/article/details/1053323791.第一范式(1NF)表中无表,即每个属性都是不可分割的。不满足第一范式的的的数据库不是关系型数据库。2.第二范式(2NF)非主属性必须完全依赖于主属性。即主属性整体才能确定一个非主属性,而不是主属性的部分属性就能确定另一个非主属性。举个例子:(先不要纠结下面例子表设计的合不合理,因为范式就是用来规范表的,不合理才需要改进。)有一张表R(学号,课程号,

2020-08-01 17:20:12 181

原创 仿电商App:笔记(十二):个人中心、图片裁剪、图片上传、收货地址、消息推送、权限管理等功能开发与一键式封装(一)

1、个人中心界面实现1.1 个人中心中RecycleView内地址和设置的item实现位于latte-ec模块main->personal->list包下的ListBean。主要作用:RecycleView内的数据处理,采用构造者模式,传入和保存数据。public class ListBean implements MultiItemEntity { private int mItemType = 0;//item的类型 private String mI

2020-07-28 16:35:07 517

原创 仿电商App:笔记(十一):购物车,订单,支付功能开发(包含支付宝支付)(二)

仿电商App:笔记(十一):购物车,订单,支付功能开发(包含支付宝支付)(二)6、订单和支付逻辑梳理和创建6.1购物车初始化时候的总价值6.2订单和支付逻辑梳理7、封装傻瓜式操作支付工具7.1 引入支付宝开发的jar包7.2 支付dialog的布局与弹出效果7.3 设置dialog,与对应的window绑定7.4 根Fragment中加入结算事件逻辑7.5 效果图8、支付宝接入和实现支付8.1 支付宝服务器的请求入口8.2 支付宝请求的具体逻辑实现8...

2020-07-28 11:05:18 597

原创 仿电商App:笔记(十一):购物车,订单,支付功能开发(包含支付宝支付)(一)

购物车,订单,支付功能开发(包含支付宝支付和微信支付)(一)1、购物车UI编写1.1 购物车根布局1.2 购物车根页面效果图1.3购物车中每条数据效果图2、购物车数据结构分析、解析与转化2.1 购物车每个item的数据解析类2.2 item的数据与视图绑定2.3 购物车根布局2.4 效果图3、购物车事件逻辑梳理与实现-13.1 处理购物车中点击事件3.3 根布局处理全选点击事件3.4 效果图4、删除、清空键的事件处理4.1 数据转换类中,更新删除.

2020-07-26 23:42:58 896

原创 仿电商App:笔记(十):基于WebView的混合App框架设计(包含浏览器与原生请求Cookie的处理)

目录1、WebView高可扩展性封装-11.1 WebView页面布局1.2 发现页面根布局1.3WebView的根布局抽象类1.4WebView常用工具类的初始化接口1.5 保存URL的路由枚举类1.6 与原生交互的工具类2、WebView高可扩展性封装-22.1WebView的根布局实现类2.2WebViewClient的实现类2.3 路由者,完成对url的处理2.4WebView的工具类,对WebView进行配置3、WebView高可扩展性...

2020-07-25 22:06:01 290

原创 仿电商App:笔记(九):主界面-商品分类开发(多布局Section RecyclerView)

主界面-商品分类开发(多布局Section RecyclerView)1、分类页面结构解析和开发1.1 分页结构布局1.2 分类根界面逻辑1.3 右侧内容Fragment1.4 效果图2、分类左侧列表数据解析与UI呈现2.1分类左侧列表数据解析类2.2分类左侧列表根Fragment2.3分类左侧列表数据转换类2.3 左侧分类列表每个item的样式2.5 效果图3、多布局Section列表实现与分类列表点击事件3.1 右侧内容Fragment3.2...

2020-07-23 23:51:38 631

原创 System.out.format()用法示例

public class Main { public static void main(String[] args) { int year = 2020; //直接打印数字 System.out.println(year); System.out.println("----------------"); //直接打印数字 System.out.format("%d%n",year); .

2020-07-23 21:24:48 3748

原创 仿电商App:笔记(八):主界面-首页UI与数据解析器开发(RecyclerView)

1、创建首页UI布局文件<?xml version="1.0" encoding="utf-8"?><androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_wi

2020-07-18 23:20:21 311

原创 win10系统下,解决VC6.0中打开文件闪退问题

在操作过程中,遇到了一些问题,最终解决了,把具体步骤分享一下吧参考:https://blog.csdn.net/qq_38432089/article/details/82951648#commentBoxhttps://blog.csdn.net/chen1083376511/article/details/53856728#commentBox首先需要FileTool.dll文件,...

2020-07-18 09:59:51 865

原创 仿电商App:笔记(七):主界面-通用底部导航设计与一键式封装

目录1、整体根布局设置2、底部导航BottomBar设计与实现1.1 底部导航tab的设置3、每个fragment与子tab关联3.1 存储每个fragment与对应的tab--建造者模式3.2绑定每个fragment与对应的tab4、使用入口4.1 效果图1、整体根布局设置包含两部分:上面的页面显示和底部的tab。根据不同的tab切换上面的页面。布局实现<?xml version="1.0" encoding="utf-8"?>&lt..

2020-07-17 22:36:47 320

原创 仿电商App:笔记(六): 登录、注册功能开发(ORM框架-GreenDao)

目录1、注册UI及验证逻辑实现1.1 注册页面逻辑实现1.2 验证效果2、登录UI及验证逻辑实现2.1 登录页面逻辑实现2.2 验证效果3、服务器数据简单介绍与基于GreenDao的数据库框架设计3.1 使用Apache+PHP搭建服务器,读取本地的json数据3.2 数据持久化--GreenDAO(使用单例模式确保操作唯一性)3.3 登录、注册页面的信息持久化4、用户状态与用户信息的回调封装4.1 用户状态回调--sharedPreference4.2

2020-07-14 13:53:05 610

原创 Java中原码、补码与反码

在 Java 中,编译器使用二进制补码记法来表示有符号整数。原码原码比较好理解,也就是该数字不进行其他操作时数字最原始的二进制表示,在Java中我们有熟悉的byte,short,int,long的整数型基本数据类型以及float,double的浮点型基本数据类型。在Java中,对于整数而言,其原码格式为最高位为符号位,该位上1表示负数而0表示正数,剩余位数为该数字的二进制表示。在这里我们用int型的整数6及-6看下例子:6的原码:00000000 00000000 00000000 00000

2020-07-13 21:43:38 300

转载 Java 位运算(移位、位与、或、异或、非)

Java提供的位运算符有:左移( <<)、右移(>>) 、无符号右移(>>>) 、位与(&)、位或( |)、位非(~)、位异或(^),除了位非( ~ )是一元操作符外,其它的都是二元操作符。1、左移( <<)Test1、将5左移2位:public class Test { public static void main(String[] args) { System.out.println(5&lt...

2020-07-13 21:37:52 135

原创 仿电商App:笔记(五):启动图功能开发与封装

1、倒计时效果1.1 记录App是不是第一次启动的数据存储功能--SharePreferences位于latte-core模块storage包下的LattePreference。主要作用:以键值对方式存储和获取有关是否是第一次启动标志位的信息。 private static final SharedPreferences PREFERENCES = PreferenceManager.getDefaultSharedPreferences(Latte...

2020-07-13 10:55:18 193

转载 Android中activityContext与ApplicationContext的区别

转载:https://www.cnblogs.com/SZ2015/p/6884039.html在android中常常会遇到与context有关的内容浅论一下context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder(this); 中,要求传递的 参数就是一个context,在这里我们传入的是this,那么这个this究竟指的是什么东东呢? 这里的this指的是Activity.this,是这个语句所在的Activity的t

2020-07-12 19:04:21 425

原创 仿电商App:笔记(四):网络请求框架设计

目录1、网络请求接口创建--retrofit的使用1.1 使用注解描述网络请求1.2 网络请求接口的实例创建2、Restful请求的处理--同接口,使用不同方法,可以产生不同的作用3、Loading框架集成和完善--在dialog中显示3.1 LoaderView的创建3.2 LoaderView的显示4、文件下载功能的实现--AsyncTask、线程池并发的实现5、拦截器功能的实现--OKHttp中拦截器的改写5.1 拦截器初始化5.2 拦截器功能实现使用r

2020-07-11 16:33:17 269

原创 仿电商App:笔记(三):单Activity多Fragment的App页面架构设计与实践

目录1、Fragment的根容器设计1.1根Fragment1.2权限Fragment1.3对外使用的Fragment2、单Activity页面架构设计2.1 根Activity2.2 对外使用的Activity单Activity多Fragment架构的优点:1、Fragment可以使你能够将activity分离成多个可重用的组件,每个都有它自己的生命周期和UI。2、Fragment可以轻松得创建动态灵活的UI设计,可以适应于不同的屏幕尺寸。从手机到平板电脑。3.

2020-07-10 15:49:31 543

原创 仿电商App:笔记(二):框架柱配置入口的设计与实现

目录1、项目架构初始化1.1 配置项的存储与获取1.2 配置项的对外包装类1.3 项目入口,进行配置2、字体图标库集成与封装2.1 引入字体图标库2.2 通过对Icon库封装,创建自己的图标库1、项目架构初始化1.1 配置项的存储与获取位于latte-core模块下的Configurator类,使用静态内部类方法保证单例模式public static Configurator getInstance() { return Holder.INSTA

2020-07-09 13:46:26 190

原创 仿电商App:笔记(一):项目概述

一、模块分解1、注解model(latte-annotations):提供代码生成器所需要的注解2、代码生成器model(latte-compiler):从注解获取信息,通过annotationProcessor或apt生成代码3、核心model(latte-core):基本的配置、网络请求、通用的工具、通用的UI(二维码扫描、图片剪裁、网络加载圈loader)、微信封装等。4、业务model-1(latte-ec):支付、登录、数据存储、主页面、启动等逻辑处理相关的内容。5、业务m

2020-07-07 16:57:46 577

转载 Java Scanner 类详解(附例子)记录学习

在笔试编程过程中,关于数据的读取如果迷迷糊糊,那后来的编程即使想法很对,实现很好,也是徒劳,于是在这里认真总结了JavaScanner 类的使用通过 Scanner 类来获取用户的输入,下面是创建 Scanner 对象的基本语法:Scanner s = new Scanner(System.in); // 从键盘接收数据下来我们演示一个最简单的数据输入,并通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext 与..

2020-06-11 21:03:23 195

原创 Android Studio3.5.2自定义注解不起作用

通过注解没有生成apt文件解决方法:将根项目的gradle版本降低到classpath 'com.android.tools.build:gradle:3.1.3'参考:https://blog.csdn.net/qq_31433709/article/details/103954864?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-

2020-05-27 09:51:18 519

转载 Java程序编译和运行的过程

转载自:https://blog.csdn.net/cynhafa/article/details/82425456Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程。 如下图,Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(ByteCode) 2、字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言("semi-interpreted...

2020-05-20 13:26:19 592 1

原创 Android Studio中 http数据get()失败

在使用Apache2.4搭建服务器的时候,使用Android Studio通过http,get()访问本机的json数据时,出现不报异常,访问失败的情况。解决方法:将访问本机的ip地址由127.0.0.1改为通过cmd查询到的本机ip地址...

2020-04-16 16:15:26 589

原创 Android Studio中配置GreenDAO(示例代码)

1、新建一个项目,命名为greendaoDemo(1)该项目中添加依赖:compile 'de.greenrobot:greendao:2.0.0'compile 'com.android.tools.build:gradle-core:2.2.0'2、新建Module->Java Library->命名为greendaogenerate添加依赖:3...

2020-03-28 22:09:36 375

原创 Window系统下PHP7.44环境搭建

首先需要下载安装Apache:安装步骤本文大部分摘自:PHP环境搭建-Windows系统下PHP环境搭建,内容有更改1、PHP下载链接:https://www.php.net/downloads.php 1.1版本选择:与 Apache 搭配,建议选择 Thread Safe 版本;2、PHP环境搭建: 2.1 将压缩包下载解压到:D:\PHP\php7(可更...

2020-03-27 11:44:18 275

原创 Android Studio重构项目发生:Error:(3, 17) 错误: 程序包org.junit不存在

Rebuild Project Module时,出现:Error:(3, 17) 错误: 程序包org.junit不存在原因:在Module的build.gradle中没有testCompile 'junit:junit:4.12'修改:

2020-03-19 16:48:29 373

原创 剑指Offer(java语言)--数据流中的中位数(树)

题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。知识点:int-转为->double:int.doubleValue();思路:Ins...

2020-03-16 20:12:28 98

原创 剑指Offer(java语言)--序列化二叉树(树)

题目:请实现两个函数,分别用来序列化和反序列化二叉树二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。二叉树的反序列化是指:根据某种遍历顺序得...

2020-03-14 22:15:30 83

原创 剑指Offer(java语言)--剪绳子(动态规划与贪婪)

题目:给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。输入描述:输入一个数n,意义见题面。(2 <= n <= 6...

2020-03-12 19:40:43 65

原创 剑指Offer(java语言)--机器人的运动范围(回溯法)

题目:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?知识点:回溯法审题:一共到达多少格...

2020-03-11 21:26:28 110

转载 彻底理解Android中的Window和WindowManager

转自:https://blog.csdn.net/suyimin2010/article/details/80991617有时候我们需要在桌面上显示一个类似悬浮窗的东西,这种效果就需要用 Window 来实现,Window 是一个抽象类,表示一个窗口,它的具体实现类是 PhoneWindow,实现位于 WindowManagerService 中。相信看到 WindowManagerServi...

2020-03-11 15:24:22 286 1

原创 剑指Offer(java语言)--矩阵中的路径(回溯法)

题目:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入...

2020-03-10 21:15:16 183 1

原创 剑指Offer(java语言)--字符串的排列(分解让复杂问题简单化)

题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。知识点:全排列思路:这是典型的递归求解问题,递归算法有四个特性:1、必须有可达到的终止条件,否则程序陷入死循...

2020-03-10 15:06:31 109

原创 剑指Offer(java语言)--滑动窗口的最大值(栈和队列)

题目:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5...

2020-03-08 18:55:42 87

原创 剑指Offer(java语言)--包含min函数的栈(举例让抽象具体化)

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。知识点:栈:先进后出思路:1、被否定的方法:添加一个成员变量用于保存最小元素, 每次压栈时如果压栈元素比当前最小元素更小, 就更新最小元素。原因:如果最小元素被弹出了呢, 如何...

2020-03-08 15:42:57 80

原创 剑指Offer(java语言)--树的子结构(代码的鲁棒性)

题目:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)知识点:树,递归思路:当A树的结点值=B树的节点值,进行递归判断,他们的子节点是否相同,相同则true,A先递归没或者有一个不同就不通过。当A树的结点值!=B树的节点值,对A的子节点和B进行判断。答案:/**public class TreeNode { in...

2020-03-07 22:37:05 79

原创 剑指Offer(java语言)--反转链表(代码的鲁棒性)

题目:输入一个链表,反转链表后,输出新链表的表头。知识点:链表,节点的设置思路:1、建立新节点(返回的头指针),现有指针的前一个节点pre2、现指针不为null,(1)记录现指针的下一个节点(为后面赋值做准备)pNext(2)if现指针的下一个节点为空,则新节点就是现指针(赋值操作,不能直接返回,原因:当前现指针没有与刚才前面的指针建立联系,需要将循环进行完;例子:...

2020-03-03 22:15:31 93

原创 剑指Offer(java语言)--二叉搜索树的第k个结点(树)

题目:给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。知识点:二叉搜索树:左节点值<根节点值<右节点值思路:前序遍历,根据结点值的从小到大,将结点传入ArrayList<TreeNode>中,在ArrayList<TreeNode>中寻找第k个(下标是k-1...

2020-03-02 21:55:29 74

原创 使用阿里巴巴矢量图标库下载图标代码

1、阿里巴巴矢量图标库官网:地址2、使用微博或github账号登入3、在下图或右上角搜索你需要的图标:4、点击选中的图标,加到购物车5、点击右上角购物车,并添加到项目6、可以右上角新建项目,或添加到已有项目。7、下载到本地即可。...

2020-03-01 20:38:23 1930

空空如也

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

TA关注的人

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