- 博客(76)
- 问答 (1)
- 收藏
- 关注

原创 网络基础概念总结
网络基础1;网络划分:局域网-》城域网-》广域网 1. ip地址:在网络中唯一标识一台主机---uint32位的整数(ipv4) 在网络通信中的每一条数据中都应该包含有目的IP地址+源ip地址 IP地址无符号32位的整数决定了ip地址的个数:不到43亿--不够用 DHCP--动态地址分配( 谁上网给谁分配ip地址)...
2019-09-03 19:15:51
387

原创 Linux:多线程基础概念
多线程: 概要信息:认识线程 线程控制 线程安全 线程池1.认识线程; -1.什么是线程? 线程是一个独立执行流(运行代码,处理数据)。 -2.线程概念; 先说进程:传统操作系统中使用pcb来描述一个个程序的运行-pcb就是进程 linux下线程使用进程pcb模拟实现线程,进程为线程组。因此linux下的线程实际是一个轻量...
2019-08-31 18:04:59
947

原创 C++;多态基础
多态;1.什么是多态?按字面意思就是“多种状态”。在C++中也是如此;同一操作作用不同的对象,可以有不同的解释,产生不同的结果。在C++中实现多态的方法有;虚函数,抽象类,覆盖,模板。2.多态实现的条件;(在继承体系中) 》基类中必须包含有虚函数,派生类必须对基类中的虚函数进行重写。 》虚函数的调用方式:通过基类的指针或引用调用虚函数 表现多态行为;...
2019-08-27 20:59:31
353

原创 C++;继承基础
一,继承和多态; 类之间的继承;基类,(父类); 成员变量:描述类的属性 成员函数:功能派生类(子类) 体现出与基类的不同继承;基类与派生类之间访问权限1.public继承 .基类里面的公有成员变量被继承后在派生类中也是公有的(可以在类外被访问); .基类里面的保护成员变量被继承后在派生类中可以被访问,在派生类中...
2019-08-27 11:36:17
305

原创 C++ STL标准库 string类
STL:是C++中标准模板库(standard template libaray)1;对常见数据结构的封装2;通用算法:与类型无关(函数模板)+与数据结构无关STL六大组建;容器:(本质:常见数据结构封装,作用:存放数据);适配器:容器适配器---->stack 和queue ptiority_queue迭代器:仿函数(函数对象):可以像函数一样的操作的对象,作用:可以让一个算法更加...
2019-08-19 10:55:18
444
原创 Android AsyncTask介绍与使用
首先是创建AsyncTask异步任务类,里面的主要有四种方法,分布是开始(onPreExecute),执行(doInBackground),结束(onPostExecute),进度(onProgressUpdate)在执行方法中写要异步完成的任务,其返回执行结果。虽然说目前AsyncTask有缺点被淘汰,但是还是要搞懂其基本使用,该懂的还是要知道。其中3000是超时未结束执行相关操作。
2022-11-11 17:33:38
927
原创 Android正则校验16进制颜色码
输入String类型颜色码,如,0xFFFFFFFF , 0xFFFFFF, 0xFFF, #FF00FFFF , #FF00FF, #FF0等。返回boolen类型值。2. 后面跟8位,或者6位,或者3位16进制颜色码。使用正则校验校验16进制颜色码。1. 0x开头或#开头。
2022-09-24 08:57:41
1053
原创 Android中将Bitmap转换成byte[]数组及ParcelFileDescriptor
Android中将Bitmap转换成byte[]数组及ParcelFileDescriptor
2022-06-27 20:06:27
3734
原创 Android ImageView填充方式
ImageView设置填充方式 设置ImageView填充方式的前提是使用src作为设置图片的来源,否则的话,会导致图片填充方式设置无效的情况。1.不保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像(以显示完整图片为目标,对原图进行缩放)setScaleType(ScaleType.CENTER_INSIDE);2.不保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像(以...
2022-05-30 11:51:58
2494
原创 使用StringBuilder字符串拼接
在开发中我们一般要使用字符串格式化拼接,使用StringBuilder拼接字符最好不过了,话不多说,直接上代码示例,很简单,创建字符串对象,添加就好。 public static String effectTimeUrlSplicing(String time){ StringBuilder sb=new StringBuilder(); sb.append("https://www.fema.gov/api/open/v1/chivedAlerts?$inl
2021-12-26 20:49:57
1917
原创 使用SharePreference保存参数到本地
这就是一个做好的方法,将参数直接对应传进来保存就好了。public static void dataSave(Context context, int deadlines, int intervals, String Severity, int Width, int Height, String Colors, int Size, int SinglePageTime, int StotalTime, String font){
2021-12-17 15:23:09
336
原创 HandlerThread实现循环请求网络并接收。
首先先定义一个主线程中用于接收的handler:本人接收到数据类型是list型private Handler handler=new Handler(){ @SuppressLint("HandlerLeak") public void handleMessage(Message msg){ try { if(msg.what==1){ List<ConstructMessage> response .
2021-12-10 11:30:41
2458
原创 Android开发中实现list中元素中的时间的排序
list中的每一个元素是一个封装的类对象,如下ConstructMessage就是一个消息的封装类;msent就是消息的发送时间。将一个包含多个消息的集合list进行发送时间排序。public class ConstructMessage { private String msent; private String Id; private String event; private String headline; private String descrip.
2021-12-02 19:59:33
2865
原创 Android中创建子线程进行网络访问
//主线程中接收子线程发送的消息并处理private Handler handler=new Handler(){ @SuppressLint("HandlerLeak") public void handleMessage(Message msg){ try { switch (msg.what){ case 0: Strin..
2021-11-25 17:23:55
2732
1
原创 Android系统中获取当前本地时间
获取当前本地时间:static String getNetTime() { try { DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); calendar.add( Calendar. DATE, -1);//获取当前时间减去一天,一天前。 final Strin...
2021-11-12 10:48:48
3534
1
原创 Android异常处理javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x41ea4068: Failure in SSL
Android异常处理:Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x41ea4068: Failure in SSL library, usually a protocol errorlog如下:10-19 17:40:47.610 805-826/com.example.ipawsplay W/System.err: error:14077410:SSL routines:SSL23_
2021-10-22 16:05:48
2435
3
原创 MySQL视图特性
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。基本使用:1.创建视图:create view 视图名 as select语句;2.案例:create view v_ename_dname as select ename, dname from EMP, DEPT where EMP.deptno=DEPT.deptno...
2021-10-13 15:50:29
271
原创 Android中定时器的使用
首先在java文件中创建一个定时任务的方法用来执行定时要进行的操作private TimerTask task = new TimerTask() { private String date; public void run() { date = getDateFromSever(); parseJSONWithJSONObject(date); Message message = new Message(); Bundle.
2021-10-11 20:22:44
253
原创 android中创建线程的两种方式及比较
1.通过继承Thread类本身; 继承Thread类实现多线程,要求放入多线程中的类不能继承其他类(Java的单继承特性),如果需要请用 Runnable 实现(接口可以多实现并不影响继承其他类)。2.实现Runnalbe接口; 一个实现Runnable接口的类可以放在多个线程中执行,多个线程可以去执行同一资源;而继承Thread只能实现多个线程分别去处理自己的资源。(通过Runnable创建的多个线程可以由编程人员传入同一个Runnable对象,即执行同一个run方...
2021-10-07 16:55:05
404
转载 http协议规定的数据格式
HTTP协议--超文本传输协议浏览器与服务端之间的应用层协议使用的就是HTTP协议,HTTP协议要求建立在可靠传输协议基础上进行。而通常传输层协议使用的是TCP协议。HTTP协议规定了客户端与服务端传输的数据内容格式,以及通讯的方式。HTTP协议要求客户端与服务端之间的通讯方式为:一次请求一次响应,即:客户端发送一个HTTP请求(request)给服务端,而服务端处理该请求后会给客户端发送一个HTTP响应(response)。在这个通讯的过程中不允许服务端主动发送内容给客户端。HTT
2021-09-29 16:32:01
3707
原创 字节,位之间的换算
字节(Byte)位(bit)1T=1024GB=1024×1024MB=1024×1024×1024KB=1024×1024×1024×1024B(字节)=1024×1024×1024×1024×8 bit(位)由上可知:1字节=8位1kb=1024位=128KB我们经常说的一帧数据是24字节,也就是1帧=24字节=192位。...
2021-09-26 19:58:57
11341
3
原创 Android-view点击事件分发机制
在Android应用中所有的用户界面元素都是由View和ViewGroup对象构建而成。View对象用于绘制屏幕中可以和用户交互的内容。ViewGroup用于存储其他View对象和ViewGroup对象,从而构成界面的布局。就如图中所示,用户界面的布局就是通过View和ViewGroup的结构层次定义的。View和ViewGroup组成了用户界面的View树,在View树中可以清晰的展示View的层次关系。...
2021-09-24 20:38:47
1060
原创 什么是PID,PID的作用。
PID,就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种很常见的控制算法。P,I,D是三种不同的调节作用,既可以单独使用(P,I,D),也可以两个两个用(PI,PD),也可以三个一起用(PID)。这三种作用有什么区别呢?PID控制器的三个最基本的参数:kP,kI,kD。kPP就是比例的意思。它的作用最明显,原理也最简单。我们先说这个:需要控制的量,比如水温,有它现在的『当前值』,也有我们期望的『目标值』。当两者差距不大时,就
2020-11-04 15:55:29
10833
3
转载 android基础开关机流程
一;开机流程:1.system_server服务启动流程启动过程: Loader -> Kernel -> Native -> Framework -> App1.1 Loader层Boot ROM: 当手机处于关机状态时,长按Power键开机,引导芯片开始从固化在ROM里的预设出代码开始执行,然后加载引导程序到RAM;Boot Loader:这是启动Android系统之前的引导程序,主要是检查RAM,初始化硬件参数等功能。1.2 Kernel层Kernel...
2020-11-04 15:31:51
797
转载 AndroidOTA升级流程
这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理。我们先从update.zip包的制作开始,然后是Android系统的启动模式分析,Recovery工作原理,如何从我们上层开始选择system update到重启到Recovery服务,以及在Recovery服务中具体怎样处理update.zip包升级的,我们的安装脚本updater-script怎样被解析并执行的等一系列问题。分析过程中所用的Android源码是
2020-10-15 09:43:50
1092
原创 OTA基础知识
OTA基础知识1.OTA软件版本升级方式:(1)线刷升级用QFIL/FASTBOOT方式通过下载线连接手机更新版本(2)OTA在线升级通过网络下载升级包到本地后重启手机自动升级需第3方提供整体OTA解决方案(3)SD卡升级将升级包拷贝到SD卡后手动进入recovery模式,通过菜单选择升级包进行升级有的项目客制化成将升级包放在指定目录,按键进入recovery后自动升级,不需要手动选择。2.OTA包的分类(1)整包(刷机包)同一款手机可以直接刷入该zip文件,可用
2020-10-14 15:11:40
5134
原创 malloc,free和new,delete的区别
new和malloc的区别其实new的底层也是使用malloc来实现的,只不过在类类型中比malloc多了一个调用构造函数来初始化的功能1、1.返回值 , new开辟内存需要指定类型,返回指定类型的指针,因此不需要进行强转 malloc的返回值是一个指针,指向一段可用内存的起始地址。因此malloc的返回值需要强转成指定类型的地址2、内存开辟与初始化 ma...
2019-10-18 23:17:36
238
原创 timewait
问题1.time_wait状态是什么2.为什么会有time_wait状态3.哪一方会有time_wait状态4.如何避免time_wait状态占用资源1.time_wait状态是什么简单来说:time_wait状态是四次挥手中服务器向客户端发送FIN终止连接后进入的状态。下图为tcp四次挥手过程可以看到time_wait状态存在于客户端收到服务器Fin并返回ack包时的状态当...
2019-10-08 11:03:23
218
原创 三次握手,四次挥手
TCP三次握手(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。(2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将...
2019-09-28 12:00:20
231
Android中,Settings.Global.putString如何强制保存到本地
2022-05-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人