自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TCP传输管理协议

TCP传输管理协议滑动窗口:TCP是一种面有序的、可靠的、有连接状态的字节流传输协议TCP要保证可靠,需要对每一个数据包进行ACK确认后才能发送下一个数据包,有了滑动窗口,发送端在发送完一个数据包后可以不用等待它的ACK,只要新包的Seq与没有得到确认包的最小seq之差小于滑动窗口大小,就可以继续发送新包,接收端可以在接收了多个包后 只发送一个ACK.1、TCP数据包格式CW

2018-01-31 11:20:36 3005 2

原创 DNS域名解析和域名解析系统

1、DNS命名空间DNS使用的名称集合就叫命名空间,与计算计文件夹和文件系统类似,都是划分为层次且大小写不敏感,类似于树状结构1、顶级域名(TLD)top-level-domain:命名空间树的最高层,包括4个顶级域名(通用顶级域名gTLD、国家代码顶级域名(ccTLD)、国际化国家代码顶级域名(IDN ccTLD)、基础设施顶级域名(infrastructure TLD)通用顶

2018-01-29 14:15:29 4034

原创 UDP协议

1、UDP用户数据报协议UDP是一种保留消息边界的简单的面向数据报的、无连接的、无序的快速灵活的传输层协议,它不提供队列管理,重复消除,流量控制,拥塞控制等1、UDP数据报格式 UDP长度(lenght):当UDP封装在IPv6中时,如果使用巨型负载,则UDP数据报的大小可以超过65535个字 节,UDP头中的长度位数只有2个字节不够时会被设置为0,虚拟头部的长度为32位

2018-01-26 18:41:09 910

原创 网络层协议

网络协议层IP地址:用于在网络中唯一标识主机1、IP地址分类1、按照接收者分为四类:单播地址(unicast address)、多播或组播地址(multicast address、广播地址(broadcast address)、任播(anycast)单播(unicast)地址:连接接收者是某一个单一的主机组播(multicast)地址:连接接收方是一组注册过的多个主机,

2018-01-26 13:29:26 8286

原创 OSI模型综述

1.OSI模 协议层 包含的协议 7应用层(Application) HTTP、HTTPS(web服务),DNS 6代表层(Presentation) 5会话层(Session) TLS 4传输层(Transport) TCP、UDP、ICMP(3.5层)、IGMP、SCTP、DCCP 3网络层(Network) IP

2018-01-19 17:37:16 244

原创 Android中的Context类解析

一、Context类官方说明:是应用程序全局信息数据有关的方法类是一个抽象类,由android 系统提供该类的具体实现类ContextImppl类通过context可以获取应用程序的resources和classes等二、Context类的主要用途:加载资源(file,res中的文件等)获取包名等(context.getResource())启动activity或发送广播等(contex

2017-09-19 20:41:14 936

原创 Android Framework

android os 的框架,一共分为四层

2017-09-11 22:50:44 324

原创 Handler,Looper,MessageQueue,Message解析

Handler:用于线程间的通信,handler会在实例化它的Thread上注册,它提供了一个通道将数据发送给它注册的Thread(比如,你在某个activity中onCreate方法中实例化了一个handler,这个handler将用于向主线程中传递数据)通过handler的方法将Message或者Runnable对象发送到handler所在线程的Looper中的MessageQueue中,通过H

2017-08-31 15:58:23 489

原创 JAVA之Collection 集合容器框架(LinkedList,ArrayList,Map等解析)

Java中的集合框架(Collections framework)包含两个组成:Collection 和Map一.CollectionCollection是一个继承于Iterable的接口Collection接口中主要定义了以下常见方法: int size(); //集合的长度 isEnmty();//是否为空 boolean contains(Object o); //否含有某个

2017-08-27 12:12:46 1028

原创 UI显示系统之 Window 及 HierarchyView,ViewRootImpl,view的绘制等

基本概念:window: window就是平时看见的窗口(如dialog,statueBar窗口,activity窗口等),每个窗口都有一个surface对象用于渲染显示窗口的视觉内容,应用程序通过与WindowManager类的交互来创建window,WindowManager为每一个window创建一个surface并将其提供给应用程序进行绘图 surface:surface是一个持有要合成屏

2017-08-25 15:52:43 370

原创 UI之CoordinatorLayout、AppbarLayout、CollapsingToolbarLayout的使用

1.CoordinatorLayout 是什么CoordinatorLayout 是一种功能更强大的FrameLayout主要用于: 1.作为window的顶层布局 decor 2.作为父容器调度协调子布局,通过设置子View的 Behavior来调度子View的布局实现手势影响布局的形式产生动画效果 3.Behavior是CoordinatorLayout中的一个抽象类,用来协助Coord

2017-08-22 16:42:37 1210 1

原创 MySQL的使用

一.MySQL 程序安装二. MySQL的使用以管理员运行cmd命令行启动 mysql 服务 net start mysql用户登录 mysql -u(用户名) -p(密码) prompt提示符修改语法: 修改用户密码:SET PASSWORD = PASSWORD('新密码');修改客户端显示字符集SET names gbk;//将客户端字符集改为gbk,服务器端不变修改分界符DE

2017-08-15 22:21:10 384

原创 ColorFilter的使用

用于paint上对像素颜色做修列表内容改,也可以用在drawable上作为颜色滤镜drawable.setColorFilter(color,PorterDuff.Mode.XXX) //color为添加覆盖的颜色,PorterDuff.Mode为枚举值(PorterDuff是什么,两个人的姓!Thomas Porter和Tom Duff在1984年发了一篇paper,提出了带alpha通道的数

2017-08-12 16:33:43 1005 1

原创 常用的第三方库

1.UI库PagerSlidingTabStrip————ViewPager的标题导航方便实用的viewPager标题的分页导航条引入依赖地址compile 'com.jpardogo.materialtabstrip:library:1.0.6'PagerSlidingTabStrip——GitHub 在xml文件中增加的属性值pstsIndicatorColor 可以滑动的指示器的颜色

2017-08-09 16:37:50 536

原创 FileObserver文件监听

FileObserver是一个监听文件的创建、删除、更改,移动等操作的抽象类监听的事件类型:FileObserver.ACCESS,即文件被访问 FileObserver. MODIFY,文件被 修改 FileObserver.ATTRIB,文件属性被修改, FileObserver.CLOSE_WRITE,可写文件被 close FileObserver.CLOSE_NOWRITE,不可

2017-08-06 21:39:38 4781 2

原创 关于Chronometer(计时器)

Chronometer用于计时和倒计时的部件 常见的方法有:chronometer.setBase(SystemClock.elapsedRealtime() - recordingtime);//chronometer.start();chronometer.stop();chronometer暂停后计时连贯的问题: 由于chronometer.stop()方法调用后,top()方法只是

2017-08-03 21:54:24 2420

原创 Bluetooth的使用

Bluetooth的使用分用以下几种: 1.蓝牙耳机:HeadSet 2.高效传输音频 3.连接健康设备:HealthDeviceBluetooth使用的基本步骤:1.在manifest中获得权限 <uses-permission android:name="android.permission.BLUETOOTH"/>//使用默认的蓝牙硬件的权限 <uses-permission

2017-06-30 17:30:33 1385

原创 Camera和Camera2的应用

android.hardware.camera2是在android5.0引入的用去取代android.hardware.Camera的APIcamera2的好处在于:支持30fps(帧/秒)的全高清连拍支持帧之间的手动设置支持RAW格式的图片拍摄支持零快门延迟和电影快照支持设置其他手动相机设备控制,包括噪音消除水平camera2的基本使用被分成了5个部分: CameraManager:

2017-06-28 09:38:52 2492

原创 Media播放(播放音频,录音等)

1.播放audio或video通过MediaPlay提供的API播放Audio: - 1.播放保存在res/raw中的audio文件 MediaPlayer mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.music1); mediaPlayer.start();//通过create()方

2017-06-20 21:51:12 571

原创 SurfaceView

1.SurfaceView和普通的View的区别:在android中一般绘制更新UI都是在主线程中,但是有些比较复杂的动画会卡顿主线程(如相机,复杂的游戏画面的等),因此Android提供了SurfaceView,即在非主线程绘制UI。2.SurfaceView的工作原理:SurfaceView是view的子类和其他的View一样可以镶嵌在View Hierarchy(view层级

2017-06-13 14:58:31 275

原创 自定义View

自定义View 可以完全控制View的外观和view的行为,如需对预设的widget做修改可以继承于该widget,若需完全自定义可根据以下步骤:创建自定义的控件类(MyView)继承于View或其子类(若只有该activity会使用到自定义的控件类,则可创建自定义控件类做为activity的内部类)在attrs中定义在MyView中需要用到的属性,在res/layout/XXX.xml中MyV

2017-06-10 10:44:05 275

原创 多窗口模式(multi-window mode)

多窗口模式(multi-window mode):是android7.0(API24)添加的,可以有分屏模式(split-screen mode),画中画模式( Picture-in-Picture mode),自由模式( freeform mode用户自动调整activity的大小)1.进入多窗口模式的方法有两种:在最近打开窗口( Overview screen)中,长按activ

2017-06-03 15:03:15 10466

原创 Search events

Search events 在android中有两种方法: 1.通过屏幕上方的SearchDialog来交给系统的收搜框架来完成开启相关的activity; 2.通过布局SearchView来通过系统的收搜框架开启相关activity处理收搜事件系统会创建一个intent并将用户输入的收搜信息储存在intent中,开启通过申明的处理search的activity(searchable a

2017-06-02 10:23:19 299

原创 NumberPicker

NumberPicker:选择器类(类似于TimePicker)也可以提供文字的选择 创建方法:1.在布局中加入NumerPicker控件2.在代码中实例化 NumberPicker Picker = (NumberPicker)findViewById(R.id.numberPicker);3.初始化Picker设置选择值的类型,最大和最小值默认值等//设置选择类容为文本时:picke

2017-05-22 15:17:29 364

原创 Dialog样式

Dialog分三个部分:标题(可以不设置),类容,动作按钮(可以不设置) Dialog中actions分为三种: 通过builder.setXXXButton("buttonText",onClickedListener)的方式设置确定按钮(PositiveButton)builder.setPositiveButton()取消按钮(NegativeButton) builder.setNe

2017-05-22 12:00:03 381

原创 基于Intent来动态添加Menu的Item

基于Intent对象来添加菜单项有些时候,你想要菜单项使用一个Intent对象来启动一个Activity(不管这个Activity是你的应用程序中的还是其他应用程序中的)。当你知道你要使用的Intent对象,并且也指定了启动这个Intent对象的菜单项时,你就能够在对应的on-item-selected回调方法(如onOptionsItemSelected()回调方法)调用期间用startActiv

2017-05-18 17:04:14 573

原创 菜单实现之PopupMenu

PopupMenu(弹出菜单):点击view后在view下面弹出的菜单 实现方法: 1.创建popup_menu PopupMenu popupMenu = new PopupMenu(this, button);//button是popupMenu的宿主,也可以是其他任意view popupMenu.getMenuInflater().inflate(R.me

2017-05-18 16:37:21 1002

原创 实现菜单之ActionMode

ActionMode是临时占用actionBar的位置来展示菜单的一种实现菜单的方式 创建方法:1.在res/menu/下创建一个menu<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item androi

2017-05-18 14:35:31 1667

原创 RecyclerView的使用

RecyclerView属于AdapterView(需要设置Adapter)用于动态展示数据资源 ( V7包增加的用于代替listView和gridView ),可以通过设置LayoutManager来快速动态实现listview、gridview、瀑布流的效果,而且还可以设置横向和纵向显示,添加动画效果 RecyclerView:控制item的排列方式,通过布局管理器LayoutMa

2017-05-16 21:53:54 198

原创 android:adb操作命令

一.什么是abd adb(Android Debug Bridge )连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。 二.abd操作命令(在cmd中输入)adb devices:查看当前链接的所有android设备和android模拟器设备adb install app.apk

2017-05-15 16:15:08 219

原创 android中的计量单位(用于dimension )

android 中的多种计量单位一、基本概念dip : Density independent pixels ,设备无关像素。dp :就是dippx : 像素dpi :dots per inch , 直接来说就是一英寸多少个像素点。常见取值 120,160,240。一般称作像素密度,简称密度density : 直接翻译的话貌似叫 密度。常

2017-05-14 09:31:10 591

原创 多样式文本SpannableString

SpannableString:一段文本中可有同时拥有多个样式 如下图 1.Spannable创建方法:SpannableString spannableString = new SpannableString(string);//将字符串传入新建一个SpannableString 对象SpannableStringBuilder spannableStringBuilder = new Spa

2017-05-12 16:11:49 513

原创 res/资源文件

res/目录是放置预置资源的地方tips:1.不可以在res/目录下直接创建资源文件,否则会出现编译异常 2.res/子目录下不可以再有子目录 3.res/子目录/文件名由字母、数字和下划线组成,且只能以英文小写字母或下划线开始。英文字母只能是小写的。 如果不符合以上规则,文件不会映射到R.Java文件中。res/目录下的子目录:res/anim/:定义va

2017-05-11 20:46:05 1816

原创 Service

service:service是后台运作的不需要交互界面的控件(如更新数据,播放音乐等)1.service内建的分类:1.Service:service的基类,默认状况下是运行在主线程中的,如做耗时操作必须新开一个工作子线程, onstartCommand()方法中传入的参数intent就是开启它的startService()中传入的intent2.IntentService:继承于

2017-05-11 19:37:51 494

原创 Loader

Loader类是用于执行异步加载数据的抽象类,是加载器的基类 android内建的常见loader的子类有: 1.AsyncTaskLoader:一个提供异步任务的加载器 2.CursorLoader:用于contentProvider内容异步查询的加载器,是AsyncTaskLoader的子类 3.自定义加载器类,继承于Loader

2017-05-10 16:15:33 197

原创 Fragment

fragment: 作为Activity的一个模块,有自己的生命周期、布局和监听事件,其生命周期受到宿主activity生命周期的影响 fragment的种类: 1.继承于基础的Fragment 2.继承于DialogFragment 3.继承于ListFragment 4.继承于PreferenceFragment

2017-05-10 14:16:36 133

原创 Parcelable 与Serializable(两种序列化方式用于传输非基本类型的数据)

在android系统中不能直接将非基本类型数据在activities或fragments之间传递,需要将数据序列化然后通过intent或者bundle的putExtra()方法来传递1.什么叫序列化: 将非基本类型的数据对象转换成可存储或可传输的状态2.Serializable( java自带的序列化接口,将对象序列化为二进制数据(字节流)) 通过implements Serializable

2017-05-09 21:35:16 890

原创 Application生命周期及Process进程

当application在Linux平台开启时,系统会给这个application创建一个进程(progress)来运行同时分配内存资源给该application,当程序结束运行时,该进程结束系统回收内存资源1.application的进程出现以下情况时会被system意外终止:1.系统空间不足时,会杀死进程的优先顺序:

2017-05-05 17:15:55 3478

原创 Activity

1.activity生命周期 onCreate()状态,activity加载与用户交互的接口 setContentView(); onStart()状态,activity做用户可见之间的最后准备工作,调用onStart()方法后activity对用户可见 onResume()状态,调onResume()后activity在backStack的top,对用户可见且获得焦点(在onRes

2017-05-05 10:09:23 258

原创 permission权限

自定义权限1.定义应用程序安全访问级别的权限(其他程序或组件若要访问该程序必须先获得该权限)<?xml version="1.0" encoding="utf-8"?><manifest package="com.example.wendy.pieview" xmlns:android="http://schemas.android.com/apk/res/android"

2017-05-04 18:15:30 419

空空如也

空空如也

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

TA关注的人

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