自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SwipeRefreshLayout实现下拉刷新

SwipeRefreshLayout实现下拉刷新运行效果:一、SwipeRefreshLayout的简介以前我们都是使用XListView等流行框架实现下拉刷新以及上拉加载更多的,今天介绍一个新的控件SwipeRefreshLayout,它是谷歌官方提供的一个新控件,同样可以实现下拉刷新。​ SwipeRefreshLayout是V4支持包中提供的一个新的控件,它可以实现下拉刷新的功能。但是缺点是没有实现上拉加载更多。但是网上有很多开发者对它进行加强,使得它可以实现上拉加载。​ Sw

2021-03-11 00:54:35 509

原创 ButterKnife的使用和原理

ButterKnife的使用和原理参考文档:ButterKnife的使用:https://segmentfault.com/a/1190000016460847ButterKnife的原理:https://juejin.cn/post/6844904181158019079一、前言ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。使用ButterKnife对性能基

2021-03-10 23:45:30 11066

原创 Fresco的使用

Fresco的使用一、Fresco的简介Fresco的GitHub地址: https://github.com/facebook/frescoFresco的中文使用文档介绍: http://fresco-cn.org/docs/index.html​ Fresco是目前最强大的图片加载组件。以前们常用的比较火的是:Android图片异步加载框架Android-Universal-Image-Loader。是FaceBook出品的,项目中使用了MVC模式。​ Fresco中设计有一个叫

2021-03-10 20:16:07 600

原创 使用okHttp加载首页商品数据

使用okHttp加载首页商品数据演示效果:一、Android中网络请求的历史Android中网络请求的进化图:二、OKHttp的简介首先,给出oKHttp的项目地址:https://github.com/square/okhttp​ Android为我们提供了两种HTTP交互的方式: HttpURLConnection 和 Apache HTTP Client,虽然两者都支持HTTPS流的上传和下载,配置超时,IPv6和连接池,已足够满足我们各种HTTP请求的需求。但更高效的使用HTT

2021-03-10 00:04:24 259

原创 RecyclerView的使用

RecycleView的使用源码地址:实现效果:一、 Recycle的简介RecyclerView是一种新的视图组,目标是为任何基于适配器的视图提供相似的渲染方式。该控件用于在有限的窗口中展示大量数据集,它被作为ListView和GridView控件的继承者。​ 那么有了ListView、GridView为什么还需要RecyclerView这样的控件呢?整体上看RecyclerView架构,提供了一种插拔式的体验,高度解耦,异常的灵活,通过设置它提供的不同LayoutManager,It

2021-03-08 16:40:34 278

原创 SliderLayout实现轮播图

SliderLayout实现轮播图源码地址:https://github.com/Bacsonlx/Android-CNiaoShop/tree/master/CNiaoShop_03(注:代码采用的是第一章的模板,关于轮播图的代码只需要看HomeFragment以及相关的布局文件即可 )效果图:一、AndroidImageSlider简介​ AndroidImageSlider是GitHub上的一个非常火的开源项目,由“代码家”出品,他的网址是https://github.com/dai

2021-03-06 20:58:44 415

原创 Android项目实战——菜鸟商城

Android-菜鸟商城项目实战实战B站视频的菜鸟商城项目,每个章节有对应的知识点讲解,代码中有自己的注释和理解。视频地址:https://www.bilibili.com/video/BV1RJ411F7Kj?p=1(注: 感谢课程视频的分享者和老师的讲解,受益良多)项目对应章节:(在更新中…)CNiaoShop_01: 底部导航栏 ( FragmentTabHost+Fragment )源码地址: https://github.com/Bacsonlx/Android-CNiaoShop/

2021-03-06 19:00:53 2024

原创 自定义ToolBar的使用

自定义ToolBar的使用源码地址:https://github.com/Bacsonlx/Android/CNiaoShop/tree/master/CNiaoShop_02代码中:MainActivity演示的是自定义ToolBar的使用,TestActivity演示的是原生ToolBar的使用。演示效果:一、原生ToolBar1. 什么是ToolBarToolbar 是 android 5.0 引入的一个新控件,Toolbar出现之前,我们很多时候都是使用ActionBar以及Actio

2021-03-06 18:17:59 1153

原创 底部导航栏的实现方式( FragmentTabHost+Fragment )

底部导航栏的实现方式一、常见的实现方式TabHost+Activity:资源开销比较大,官方已经不推荐使用。RadioButton(RadioGroup)+Fragment:实现起来比较麻烦。FragmentTabHost+Fragment:实现简单,资源开销小,推荐使用。二、FragmentTabHost介绍​ 如下图所示,整一个底部导航栏是一个FragmentTabHost,里面包含的每一个“小按钮”我们称之为TabSpec,也就是每一个分页。TabSpec里面需要有指示器Indica

2021-03-06 18:04:10 563 3

原创 圆排列问题(分支限界)

圆排列问题1. 问题给定n个大小不等的圆c1,c2,…,cn,现要将这n个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。例如,当n=3,且所给的3个圆的半径分别为1,1,2时,这3个圆的最小长度的圆排列如图所示。其最小长度为2+4√2。2.解析圆排列问题的主要思路是排列问题,通过建立排列树,再进行回溯剪枝,得出最优排列。每次修改一个圆的排列位置,若修改后的排列长度变小,则在当前排列的前提下继续排列,否则回溯。每次排列后,相切情况下

2020-06-01 21:19:50 4038 2

原创 图的m着色问题

图的m着色问题1. 问题图的m着色问题。给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答“NO”。2.解析考虑所有的图,讨论在至多使用m种颜色的情况下,可对一给定的图着色的所有不同方法。通过回溯的方法,不断的为每一个节点着色,在前面n-1个节点都合法的着色之后,开始对第n个节点进行着色,这时候枚举可用的m个颜色,通过和第n个节点相邻的节点的颜色,来判断这个颜色是否合法,如果找到那么一种颜色使得第

2020-05-29 15:44:30 270

原创 最优前缀码

最优前缀码1. 问题代码(码字):Q{001,00,010,11}表示字符a,b,c,d同一序列:0100001产生两种译码(产生歧义):01 00 001;010 00 01二元前缀码:任何字符的代码不能作为其他字符代码的前缀利用二元前缀码译码:从第一个字符开始依次读入每个字符(0或1),如果发现读到的字串与某个码字相等,就将这个子串译作对应的码字;然后从下一个字符开始继续这个个过程,直到读完输入的字符串为止。二元前缀编码存储:二叉树结构,每个字符作为树叶,对应这个字符的前缀码看作根到这片树

2020-05-18 21:02:49 745

原创 相容问题——贪心算法

相容问题——贪心算法1. 问题有n项活动申请使用同一个礼堂,每项活动有一个开始时间和一个截止时间。如果任何两个活动不能同时举行,问如何选择这些活动,从而使得被安排的活动数量达到最多。设S={1,2,…,n}为活动的集合,si和fi分别为活动i的开始和截止时间,i=1,2,…,n定义:活动i和j相容<==>si≥fj或sj≥fi,i≠j求S最大的两两相容的活动子集A。2.解析k=3(1) 选择活动1:截止时间最早:活动2、3与活动1不相容,活动4与活动1相容;(2) 选择活动4

2020-05-11 21:23:05 846

原创 最长公共子序列——动态规划

最长公共子序列——动态规划1. 问题最长公共子序列问题,给定序列X=<x1,x2,…,xm>,Y=<y1,y2,…,yj>,就X和Y的最长公共子序列。设X和Z是两个序列,其中X=<x1,x2,…,xm>,Z=<z1,z2,…,zk>,如果存在X的元素构成的按下标严格排序递增序列<xi1,xi2,…,xik>,使得xij=zj,j=1...

2020-04-25 22:55:14 994

原创 矩阵链乘法

矩阵链乘法1.问题设A1,A2,……,An为n个矩阵的序列,其中Ai为Pi-1×Pi阶矩阵,这个矩阵链的输入用向量P=<P0,P1,……,Pn>给出。给定向量P,确定一种乘法次序,使得具备运算的总次数达到最小。2.解析Ai…j:表示矩阵链相乘的子问题Ai,Ai+1…Aj; M[i…j]:表示得到乘积Ai…j所用的最少基本运算次数;假定最后一次相乘发生在矩阵链Ai…k Ak...

2020-04-19 23:02:00 300

原创 动态规划求解投资问题

动态规划求解投资问题1. 问题2. 解析3. 设计 //给F[0][0-m]赋值 for (j from 0 to m) { F[0][j] = f[0][j];//第一个项目上投入0 to m元钱的最大收益等于f[0][0 to m] } for (遍历n个项目) {//项目循环,从1...

2020-04-13 19:36:29 523

原创 选第k小元素:特定分治策略

选第k小元素:特定分治策略1. 问题一个数组S中查找第k小的元素并输出。2. 解析3. 设计int Select( int a[], int start, int end, int k ){ int min, i, iKthIndex; if ( end - start < k ) //k比数组下标小1, 当数组覆盖范围<k时候,直接返回里面最小的一个数字 {...

2020-04-06 15:38:43 150

原创 分治算法解决最近对问题

分治算法解决最近对问题1. 问题设P1(x1, y1),P2(x2, y2),P3(x3, y3), P4(x4, y4) …,是平面上n个散列点构成的集合S,最近对问题就是找出集合S中距离最近的点对。2. 解析将集合S分成两个子集S1和S2,每个子集中有n/2个点。然后在每个子集中递归地求其最接近的点对,在求出每个子集的最接近点对后,在合并步中,有两种可能:① 集合S 中最接近的两...

2020-03-30 21:08:14 1039 1

原创 归并排序算法

归并排序算法1. 问题对n个不同的数构成的数组A[1…n]进行排序,其中n=2^k。思路:二分归并排序是经典的分治算法,分而治之,将长度为n的数组不断划分成n/2的子数组,即将n规模的问题转化成为了n/2规模的子问题,不断划分,当问题规模为1时(长度为1的数组本身就是有序的),将每一个长度为1的子序列进行归并(归并有序表),不断归并就能够实现将长度为n/2的有序表归并得到长度为n的有序表,...

2020-03-23 21:31:36 642

原创 查找算法

查找算法1. 问题写出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.2. 解析顺序查找:就是遍历数组的过程。二分查找:假设有一个升序排列的数组 arr,在该数组中查找元素 key。首先找出该数组中最中间的元素,然后将最中间的元素mid 与所要查找的元素 key 进行比较,如果相等则返回该元素的下标。如果 mid &gt...

2020-03-15 19:25:27 382

原创 Dijkstra求解最短路问题

Dijkstra求解最短路问题1. 问题下图使用Dijkstra算法求由顶点a到顶点h的最短路径,按实验报告模板编写算法。

2020-03-11 17:28:09 896

原创 Floyd求解最短路

Floyd求解最短路1. 问题用Floyd算法求解下图各个顶点的最短距离。写出Floyd算法的伪代码和给出距离矩阵(顶点之间的最短距离矩阵)

2020-03-11 16:21:44 302

原创 Kurskal构造最小生成树

Kurskal构造最小生成树1. 问题在一给定的无向图G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即),而 w(u, v) 代表此边的权重,若存在 T 为 E 的子集(即)且为无循环图,使得的 w(T) 最小,则此 T 为 G 的最小生成树。2.解析3.设计int Kruskal(){ sort(edge+1,edge+1+m...

2020-02-26 18:26:44 224

原创 Prime构造最小生成树

Prime构造最小生成树1. 问题在一给定的无向图G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即),而 w(u, v) 代表此边的权重,若存在 T 为 E 的子集(即)且为无循环图,使得的 w(T) 最小,则此 T 为 G 的最小生成树。2. 解析3. 设计N is the numberof vertices;int Prime(){ vi...

2020-02-26 17:44:26 1976

空空如也

空空如也

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

TA关注的人

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