自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

康康

但行好事,莫问前程

  • 博客(50)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 dart语言和flutter学习——Dart语言学习

Dart语言学习记录

2022-06-06 00:19:02 284 1

原创 16个数字,2个为一组,不能重复,8组为一轮,找出所有的排列方式

算法排序

2022-04-27 23:15:22 1273

原创 跳转Google play半屏详情页

1、使用google search 搜索luduking发现可以跳转到谷歌半屏详情页,通过观察一些日志发现有如下日志:2022-01-09 20:53:37.980 15518-16462/? I/SearchServiceIntentStar: startActivity: market://details?id=com.ludo.king&hl=zh&gl=US&inline=true&auao=true&enifd=ANAkzTBcOEiiRA5dIG5xHY

2022-01-09 23:04:17 14635 6

原创 Android 列表越界回弹效果实现

一、越界回弹效果的例子二、效果拆分下拉、上拉越界回弹:已到达列表顶部,执行下拉操作,此时会进行越界回弹惯性滑动 越界回弹:快速滑动列表,列表已到达底部,但由于惯性会继续前进一部分,此时会根据速度决定越界的距离以及回弹的速度三、下拉、上拉越界回弹实现方式及代码在实际项目中可能在多个页面都需要回弹的效果,所以需要尽可能的减少与需要回弹view的耦合代码。所以可以自定义一个ViewGroup来包裹需要回弹的view。public class PullOverLayout extends Rel

2021-08-29 23:09:33 1565

原创 Android消息机制之ThreadLocal

定义:ThreadLocal是线程内部的数据存储类,通过它可以在当前线程中存储数据,这个数据也只能在对应的现场中取出。实际使用案例:Handler中的Looper就是用ThreadLocal来存储的,因为每一个线程都有一个自己的Looper,所以用ThreadLocal是再合适不过的代码实例:private ThreadLocal mBooleanThreadLocal;mBooleanThreadLocal.set(true );LogUtil.d(TAG, "main thread threa

2021-05-23 20:23:38 84

原创 Android代码混淆知识点

一、前言 Java代码时非常容易反编译的,但是代码被反编译有可能泄漏核心技术,所以一个安全性高的程序最起码要做到的一件事就是:对代码混淆。二、混淆的概念和作用 解释:对程序员来说,Utils类的isEmpty()方法可以更好的理解含义,但是对于计算机来说叫A类的b()方法效果是一样的 作用:1、增加APK反编译之后代码泄漏的困难性 2、缩小生成APK的体积三、混淆工具 Gradle 插件 3.4....

2021-03-18 00:01:58 247

原创 怎么在mac上登录两个微信

在已经登录了一个微信的情况下,打开终端输入nohup /Applications/WeChat.app/Contents/MacOS/WeChat > /dev/null 2>&1然后就可以打开另一个微信的登录界面了,直接扫码登录即可

2021-03-07 17:00:37 1550 5

原创 Android PMS之启动流程

一、PMS整体的结构图PMS是通过Binder机制进行与客户端的通信,其中:Binder服务端:即系统服务PackageManagerService extends IPackageManager.StubBinder客户端:即我们应用层经常使用的PackageManager,但实际上PackageManager是一个抽象类,所以实际使用的ApplicationPackageManager二、PMS的简单启动流程1、PMS是核心系统服务,所以一定是在SystemServer中启动的在Sy

2021-01-04 12:54:13 973 1

原创 Android PMS学习概述

1、Package Manage Service是Android 系统核心服务之一,在Android开发中非常重要。PMS主要负责如下功能:2、学习PMS

2020-12-23 20:01:43 1325

原创 Android Binder机制基本原理

一、概述Binder是什么?从功能上讲:Binder是一种在Android设备上进行IPC(Inter-Process Communication,进程间通信)的主要方式,主要用来实现跨进程通信。从代码上讲:Binder是一个类,实现了IBinder接口为什么需要Binder?进程隔离:为了保证安全性&独立性,一个进程不能直接操作或者访问另一个进程,即Android的进程是相互独立、隔离的IPC(跨进程通信):在实际开发中,经常需要进程间的合作、交互和通信进程空间的分配:用

2020-11-29 21:31:03 2159

原创 序列化反序列化Serializable和Parcelable

Serializable的作用: 是java提供的一个序列化接口,用来为对象提供标准的序列化和反序列化操作。使用Serializable做序列化比较简单。使用方式:直接实现Serializable接口声明一个静态值serialVersionUID。这个值并不是必须的,但是最好手动序列化。因为不设置这个值java会自动根据当前对象的hash生成一个值,但是这样容易引发一些问题,比如反序列化时程序崩溃。我们可以从后面的例子中看到。注意: 1、序列化的时候会将Serializable的值一起写入文件,

2020-11-22 19:15:42 143

原创 设计模式之责任链模式

责任链模式(Chain): 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之前的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它位置。优点: 职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了应用实例: 1、员工请假,不同的天数不同的的主管审批 2、如要进行网络请求,先检查url是否正确、再检查网络情况,再检查DNS解析情况等等,就可以使用责任链类图:代码实例:

2020-11-16 23:22:05 110

原创 设计模式之状态模式

状态模式(State): 当一个对象的内在状态改变时允许改变其行为,这个对象像是改变了其类。类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。场景: 状态模式主要解决当一个对象状态转换的条件表达式过于复杂时的情况,把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。即行为随状态改变而改变的场景类图:代码实例:public class Context { private State state; int progress; boolean

2020-11-14 01:23:45 80

原创 设计模式之观察者模式

观察者模式: 定义了一种一对多的依赖关系,让多个观察对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。应用举例: 如一个放哨的人,发现敌情后通知各个部门,然后各个部门做出自己的措施类图:代码://观察者类public abstract class Observer { public abstract void update();}public class XiaoLiObserver extends Observer{

2020-11-12 23:31:58 73

原创 设计模式之外观模式

外观模式(Facade): 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使这个子系统更加容易使用主要解决: 降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。实例: mvp的三层模式类图: 外观类Facade提供对子系统调用的方法,可以对子系统的调用顺序做组合等。外界只需通过外观类提供的方法去调用子系统即可。代码:public class Facade { Circle circle; Square square; Trian

2020-11-11 23:36:56 95

原创 设计模式之工厂方法模式

工厂方法模式: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类与简单工厂模式的区别: 简单工厂模式是在一个工厂类供根据不同的选择条件来创建不同的实例化。而工厂方法模式则是对每一个待实例化的类都增加一个对应的工厂类。注: 简单工厂如果新增加一个类,需要修改工厂类,不符合开放-封闭原则,即对扩展开放,对修改封闭类图:代码: 相比简单工厂模式增加了几个工厂类public interface IFactory { Shape createShape()

2020-11-11 22:55:03 87

原创 设计模式之代理模式

代理模式(Proxy): 为其他对象提供一种代理以控制对这个对象的访问使用场景:远程代理:为一个对象在不同的地址空间提供局部代表,比如访问远程机器上的对象虚拟代理:根据需要创建开销很大的对象,通过他来存放实例化需要很长时间的真是对象。这样这个对象只需要实例化一次安全代理:安全代理,可以控制真是对象访问时的权限应用举例: 1、比如买火车票可以去代售点买,而不用去火车站,代售点就可以看作是一个代理 2、比如windows里的快捷方式也可以理解为一种代理模式,可以去软件安装目录里点击打开,也可以直接

2020-11-11 20:46:06 82

原创 设计模式之装饰模式

装饰模式(Decorator) :动态的给一个对象增加一些额外的功能,就新增加功能来说,装饰模式比生成子类更为灵活。举个例子: 举个不恰当的列子,比如小明穿衣服,小明是个最基本的对象,T恤和裤子就是两个装饰类图:Component: 定义一个对象接口,可以给这些对象动态的添加功能ConcreteComponent : 定义一个具体的对象,给这个具体的对象增加功能。假如这个具体的对象就是小明Decoratore :装饰器抽象类,继承Component,并持有一个Component对象Concr

2020-11-04 23:27:56 68

原创 设计模式之策略模式

策略模式(Strategy): 它定义了算法家族,分别封装起来,让他们指尖可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。使用场景: 1、如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。 2、一个系统需要动态地在几种算法中选择一种。 3、如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重的条件选择语句来实现。应用实例: 1、商场的促销方案,每种促销手段就是一种策略 2、旅行的出游方式,选择骑自

2020-11-01 17:14:45 86

原创 设计模式之简单工厂模式

一、工厂方法模式1.定义:定义一个创建对象的接口,在不同条件下创建不同的实例2.实例创建一个接口public interface Shape { void draw();}创建实现接口的实体类public class Square implements Shape { @Override public void draw() { System.out.println("draw a Square"); }}public class

2020-08-09 21:04:12 94

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

单例模式的定义:保证一个类只有一个实例,并且提供一个全局访问点使用场景:重量级对象,不需要多个实例,如线程池,数据库连接池类图:一个私有的变量singleton,一个私有的构造方法,一个公共的全局访问点一、懒汉模式:延迟加载,只在真正实用的时候才开始实例化public class LazySingleton { private static volatile LazySingleton sInstance; //定义一个私有的静态变量,volatile是为了线程安全,防止字节码级别的指令

2020-08-05 22:44:34 155

原创 activity-alias及category android:name="android.intent.category.INFO的使用实现没有launcher跳转

<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" ...

2020-03-10 14:49:16 1958

转载 Android中的布局以及相关属性介绍,selector选择器和drawable shape

前言在进行Android开发中,常常需要用到各种布局来进行UI的绘制,今天我们就来讲下Android开发中最常用的五大布局介绍和相关属性的设置。目录Android五大布局介绍&属性设置.jpg一、布局介绍在Android中,共有五种布局方式,分别是:FrameLayout(框架布局)LinearLayout(线性布局)AbsoluteLayout(绝对布局)Relativ...

2019-10-19 00:52:17 362

原创 Java中返回协变类型

返回协变类型:父类有一方法返回一个类型的对象,其子类在重写父类的这个方法时可以不用和父类返回一样的类型,而是可以返回父类返回类型的子类型可以看看下面的例子public class Test { public static void main(String[] args) { Father father = new Father(); Son s...

2019-10-12 00:18:23 125

原创 Java的链式编程和builder

什么是链式编程?mStudentBuilder.name("LiHua").age(18).create().toString()就是可以像这样链式不断的调用的样子,可以让代码的可读性比较高。原理的话就是返回一个this对象,使得可以不断的调用。什么是Builder模式Builder模式就是一个构建对象的过程,一个比较复杂的对象可以让Builder去构建实例...

2019-10-06 22:48:19 818

原创 比较好用的软件收藏集合

这个文章用来记录下我用过的一些比较好用的工具哦,以后会慢慢增加,这就是我以后换电脑的装机必备工具。IDM下载工具,全称Internet Download Manage-一款下载视频嗅探工具。功能及使用可以百度“IDM”查看。我用它是来下载一些比较难下载的视频,比如知乎上看到某个视频、或者央视新网网看到一个视频,都可以被IDM嗅探到,可以直接下载,而且是多线程下载,速度一般比较快。效果如下图...

2019-09-14 10:29:10 299

原创 JSON格式数据学习和在Android中用JSONobject和Gson解析网络数据

本人刚入门,有错误请评论指出一、Json相关知识点什么是Json?Json是一种存储数据信息的语法格式Json类似于XML,但是比XML更小、更快、更易解析Json的语法规则数据保存为“键/值”对的格式数据由逗号分隔花括号保存的是对象方括号保存的是数据Json的值可以是以下格式:数字(整型和浮点型)字符串(在双引号中)逻辑值(boolean)数...

2019-09-08 11:57:01 234

原创 ListView中点击Item列表项点击无法跳转详情页

问题描述:​ 用ListView实现了一个列表,含有很多Item列表项,每个列表项里包含一张ImageViwe图片几个TextView文字以及一个按钮Button;设置setOnItemClickListen()监听列表项时发现点击item并不发生跳转,打了log以后观察压根没有进入点击。问题原因:​ 当Item中包含Button、CheckBox等点击控件时,当Item...

2019-08-29 19:08:46 960

原创 嵌套Fragment中的子Fragment的显示问题

问题情景​ 最近练习时遇到了一个问题,问题情景时在一个MainActivity中包含5个Fragment,然后在第四个Fragment又需要切换三个子Fragment,此时会出现切换外层Fragment时内层Fragment中的PagerView无法加载出来的问题,如下图:问题解决:​ 出现这样的原因时Fragment的管理问题,再Fragment中使用Fragment时我习惯性的...

2019-08-29 10:57:08 1417

原创 ADB基本使用和安装问题

adb start-serveradb kill-serveradb devices 查看系统是否识别设备(List of devices attached 是没有识别到设备)adb logcat -c 清除旧日志信息adb logcat -v time >.\logcat.log 开始抓取日志,>:代表输出到.\logcat.log(adb logcat -v time:是...

2019-08-26 20:49:59 665

原创 Android中实现竖线和横线

<!--竖线--><Viewandroid:layout_width="1dp"android:layout_height="12dp"android:background="#c8c8c8"android:layout_gravity="center"/><!--横线--><View android:layout_height="1...

2019-08-26 16:19:35 1337

原创 Android Adapter相关学习及使用方法

声明:刚开始学习Android技术,笔记中可能会有一些错误,如有发现请下方评论指出Adapter应该是安卓中比较重要的一个知识点,官方文档说Adapter扮演一个在AdapterView即视图和底层数据之间桥梁,Adapter提供对每个数据项的访问,并且为数据集建立视图访问。简单来说就是适配器Adapter给我们的界面提供数据,给用户看。主要有三种Adapter:(可以把Adapter翻译为...

2019-08-23 21:04:36 344

原创 Android中的ListView和RecycleView用法

在安卓中实现列表的方式有几种,一个是ListView一个是GridView还有最新的RecycleView一. 先来看一下ListView:在布局文件中添加一个ListView,并添加一个id准备数据,将数据添加到适配器Adapter中在Activity中根据id找到ListView并设置适配器监听item的点击事件<ListView android:id="...

2019-08-23 14:43:56 1374

原创 对Android Activity生命周期的一些学习

刚开始学习,后面还会继续补充,生命周期其实时安卓很复杂的一部分,大家看到有什么不对的地方希望评论区指出先来一张Activity的生命周期图,一共7个阶段onCreate() 所有的Activity必须要实现这个回调,并且必须要在onCreate()中使用setContentView()方法定义Activity的用户界面,onCreate()执行结束下一步一定是onStart()o...

2019-08-19 22:04:41 81

原创 Ubuntu16.04安装Hadoop单机和伪分布式环境超详细

介绍:Hadoop是Apache开源组织的一个分布式计算框架,可以在大量廉价的硬件设备组成的集群上运行应用程序,为应用程序提供了一组稳定可靠的接口,旨在构建一个具有高可靠性和良好扩展性的分布式系统。 HDFS(分布式文件系统)为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。通过这次云计算课程,我希望通过自己亲手搭建Hadoop并操作一些实例来体会一下云计算的魅力。安装环

2017-12-10 17:16:54 30238 38

原创 SQL之查询语句的实践运用

第一次数据库系统上机作业1、mysql> select sno,grade    -> from sc    -> where cno="CS3121014";2、mysql> select sc.sno,sname    -> from sc,student    -> where student.sno=sc.sno and    ->

2017-12-05 23:18:49 586

原创 MySql常用命令和语法以及可视化工具Navicat的使用

今天在课程的基础上,又看了网上的教程 ,自己动手创建了几个数据库,发现经常用到的命令就那些。现在记录下以备忘记。注:SQL语言是以;来结束一个语句的。在MySql中命令好像是不区分大小写的。一、MySQL常用语句及数据类型1、创建数据库mysql> create database ;例:mysql> create database student; //创建一个student数据

2017-12-03 22:47:09 4860

原创 使用MySQL设计大学学籍管理数据库(后台数据库+前台程序)

最近期末数据库课程老师布置了一个大作业,写一个关于大学生学籍管理系统。大概要求如下:最近从学习开始制作,以后每天更新一下开发过程。DAY1根据课本,数据库设计可以分为以下六个阶段1、需求分析;2、概念结构设计;3、逻辑结构设计;4、物理结构设计;5、数据库实施;6、数据库的运行和维护;一、需求分析A.用户需求1)、录入学生的基本信息,如学号、

2017-12-01 19:54:13 10076 3

原创 阿里云服务器ubuntu12.04安装WDCP报错

最近在服务器上部署WDCP总是报错这是安装教程:  第一步在网站中获取wdcp:wget http://dl.wdlinux.cn/files/lanmp_v3.tar.gz  解压:tar zxvf lanmp_v3.tar.gz  编译:sudo sh lanmp.sh  开始报错:  lanmp.sh: 45: lib/common.conf: f

2017-09-14 20:32:16 1006

原创 初学Bootstrap

前端之路越走越迷茫,并不知道自己适不适合学习前端。在自己不知道做什么的时候,那就从手头的事情做起吧。先学习前端比较简单的框架Bootstrap。下面记下Bootstrap3.1.0的学习过程。先简单说下这个html主页的各行代码解释。 Bootstrap 101 Template

2017-09-08 22:28:27 282

一个利用HBuilder开发的web天气预报安卓app,完全使用前端技术

一个天气预报APP,利用HBuilder+mui开发,使用前端技术,可以查看最近三天的温度天气等情况,可以查看PM2.5和空气湿度等信息,使用和风天气API,所有数据都通过和风天气API获得,读者可以根据需要进行修改选择所需的数据。压缩包中含有全部源码和一个安装包

2019-01-01

云计算发作业之Hadoop的安装与配置

这个是大学云计算技术课程的大作业,是关于部署云计算系统Hadoop的教程

2018-01-24

微型计算机技术原理与应用西安电子科技大学出版社

此文档为西安电子科技大学出版社出版的数据微型计算机技术与原理的全部课件

2018-01-24

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

TA关注的人

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