自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

羊之草叶的专栏

书山有路勤为径,学海无涯苦作舟!

  • 博客(88)
  • 资源 (5)
  • 收藏
  • 关注

原创 HTTPS的理解

一个Cipher Suites(加密算法套件)是以下4个算法的组合:Authentication(认证)算法:有RSA,ECDSA,DH等;Encryption(加密)算法:AES-128, AES-256, AESGCM256等;Message Authentication Code(消息认证, MAC)算法:有AEAD, SHA1, SHA256等;Key Exchange(密钥交换...

2019-09-23 15:23:34 236

原创 Android中SharedPreferences的理解

SharedPreferences的创建通过Context的getSharedPreferences(String name, int mode)返回创建的SharedPreferences.

2017-10-16 19:59:39 490

原创 从截屏调用功能看Android Binder的调用流程

以截屏功能为例,分析一下Android中Binder通信的流程。class ISurfaceComposer: public IInterface { DECLARE_META_INTERFACE(SurfaceComposer); // flags for setTransactionState() enum { eSynchronous = 0x01,

2017-09-12 11:11:39 475

原创 深入浅出Android消息通信机制

消息通信是Android系统中使用相当普遍的一种线程间通信方式。既然是线程间的通信,就一定存在共享的对象,一定需要处理线程间的同步。本文对Handler、Looper和MessageQueue所实现的消息通信机制做深入的剖析。 图1. Android消息机制的框架一、HandlerHandler用于发送和处理Message和Runnable对象(两者统称为消息),即Handler

2017-08-16 08:01:10 877

原创 Android中MediaCodec的使用

一、主屏幕信息的获取 SurfaceComposerClient类提供了获取主屏幕信息的方法,获取结果保存在DisplayInfo结构体中,如果要监听屏幕方向变化,则可以轮询getDisplayInfo( )函数来实现。sp<IBinder> mainDpy = SurfaceComposerClient::getBuiltInDisplay( ISurfaceComposer::

2017-08-12 14:01:52 3551

转载 一篇讲述Android图像合成的文章

Android图形显示系统——下层显示4:图层合成上(合成原理与3D合成) https://yq.aliyun.com/articles/57390?spm=5176.100239.blogcont57389.9.8YGrd1

2017-08-10 21:46:27 489

原创 Android中的GraphicBuffer的分配

Android中图像缓冲区的分配介绍

2017-08-05 11:31:33 1934

原创 C++沉思录“字符图像”的程序分析

《Ruminations on C++》一书中有一例子,要求显示“character strings“为“framed pictures”。一、题目给定一个字符串数组,编写程序,依次支持以下功能: 1. 显示“字符图像”: 按每行显示一个字符串的方式,打印出矩形字符阵列。矩形高为字符串数组的大小,宽为最长的字符串长度。 2. 对“字符图像”加框:上下左右各加一行; 3. 对两副“字符图像”横

2017-07-29 21:43:26 276

原创 Android中Graphic的理解

APP进程private int relayoutWindow(WindowManager.LayoutParams params, int viewVisibility, boolean insetsPending) throws RemoteException { float appScale = mAttachInfo.mApplicationScale

2017-07-23 17:08:11 961

原创 Android中Looper类的设计与实现

Android系统中Looper类的设计

2017-06-18 22:08:12 858

原创 wait()和waitpid()的理解

#include <sys/wait.h>pid_t wait(int *stat_loc);pid_t waitpid(pid_t pid, int *stat_loc, int options);wait()和waitpid()函数用于获取调用者子进程的状态信息。可以通过设置参数来获取已中止(terminated)或结束(stopped)的子进程的状态信息。如果两个或多个子进程的状态信息同时

2017-06-18 20:37:56 457

原创 ffmpeg命令使用总结

ffmpeg的使用选项:-f formats alaw PCM A-law f32be PCM 32-bit floating-point big-endian f32le PCM 32-bit floating-point little-endian f64be

2017-06-13 17:43:08 1965

原创 应用程序请求注册对Input事件的监听

Android系统的Input子系统分析

2017-02-27 23:49:43 1494

原创 linux中的线程本地存储pthread_key_t和pthread_once

Linux中提供了这样一种机制:同一进程的多个线程之间既可以共享某个全局变量,也可以做到每一个线程单独使用它,独立设置、获取它的值,而不影响别的线程的使用。这种机制就是线程本地存储(Thread Local Storage, TLS)。#include <pthread.h>int pthread_key_create(pthread_key_t *key, void (*destructor)(v

2016-12-18 22:15:40 1003

原创 socketpair的用法和理解

socketpair()函数的声明:#include <sys/types.h>#include <sys/socket.h>int socketpair(int d, int type, int protocol, int sv[2]);socketpair()函数用于创建一对无名的、相互连接的套接子。如果函数成功,则返回0,创建好的套接字分别是sv[0]和sv[1];否则返回-1,错误码保存

2016-12-17 22:09:33 6213 1

原创 Anroid中强指针和弱智针介绍

Android中强弱指针的总结

2016-10-23 19:25:00 1519 1

转载 如何搭建一个独立博客——简明Github与Hexo教程

前言买过域名和主机,折腾过wordpress,个人博客也搭建起来了,本来是准备写技术文章,分享,但是折腾那些东西花费了太多的时间,认真写作反而少了。现在决定换成hexo写博客,专注写作分享,少折腾。本文主要参考cnfeat的《如何搭建一个独立博客——简明Github Pages与Hexo教程》,原文很详细,还有Zippera的《hexo系列教程》为什么选择Hexohexo是一个

2016-10-15 16:25:00 495

原创 linux共享内存的理解

linux共享内存理解的一些资料

2016-10-09 23:36:28 434

原创 欢迎使用CSDN-markdown编辑器

MarkDown实例本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键代码示例:service installd /system/bin/installd cla

2016-10-09 19:43:19 180

转载 epoll多线程的例子

/* ============================================================================ Name : epoll_multithreads.c Author : Version : Copyright : Your copyright notice Description :

2016-08-22 07:53:30 712

转载 Epoll代码实例

#include #include #include #include #include #include #include #include #include #include #define MAXEVENTS 64static int set_non_block(int sockfd) { int flags, s; flags = fcntl(s

2016-08-19 18:44:07 234

转载 理解Cookie和Session机制

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。Cookie机制Co

2016-08-12 16:20:10 502

转载 Linux中select函数的使用举例

/* For sockaddr_in */#include /* For socket functions */#include /* For fcntl */#include /* for select */#include #include #include #include #include #include #include #define MAX_LINE

2016-07-23 20:53:31 372

转载 swap扩展的方法

swap 介绍:当物理内存占用完了后,当系统还需要更多的物理内存时,物理内存中inactive pages ,就move到swap空间。swap 空间是在位于硬盘上的,因此访问速度较物理内存慢。当机器的物理内存发生变化时,swap 分区也要做相应的扩展:有三种方法可以对swap 分区进行扩展:一、扩展正在使用的swap 分区的逻辑卷(推荐使用此种方式)二、新建swap 分区,

2015-09-29 09:50:42 724

转载 C语言getopt()函数的使用

getopt(分析命令行参数)   相关函数表头文件        #include定义函数        int getopt(int argc,char * const argv[ ],const char * optstring);函数说明        getopt()用来分析命令行参数。参数argc和argv是由main()传递的参数个数和

2015-09-20 23:02:19 347

转载 C/C++中的日期和时间 time_t与struct tm变换

摘要:本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概

2015-07-09 10:00:01 600

转载 Android中对GridView, ListView等滚动控件的Touch事件onInterceptTouchEvent,onTouchEvent理解

在开始正文之前,首先得感谢http://blog.csdn.net/guitk/article/details/7057155提供的一篇转载文章,里面说的内容和插图让我对TouchEvent的事件传递迅速有了一个大致的印象。但是文章里面有说的不全面不详细的地方,特发此博客记录个人对于这类问题的理解,用来补充和完善,有不妥的地方,也欢迎大家批评讨论。       正如命名一样,onInter

2015-06-09 18:20:24 656

转载 Android中Bitmap和Drawable

一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1、从资源中获取Bit

2015-06-06 16:08:55 342

原创 Android中像素单位的理解

dip:device independent pixels (设备独立像素)。不同设备不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。dp: density independent pixels(与密度无关的像素),它与像素密度有关。像素密度的单位dpi是Dots Per Inch的缩写,即每英寸像素数量。不同的手机/平板

2015-05-25 15:45:24 1384

转载 Android系列---JSON数据解析

一、什么是jsonjson(Javascript Object Notation)是一种轻量级的数据交换格式,相比于xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编写大段的代码,所以客户端和服务器的数据交换格式往往通过json来进行交换。尤其是对于web开发来说,json数据格式在客户端直接可以通过javascript来进行解析。json一共有两种数据结构,一种是以

2015-04-29 16:05:15 331

原创 HttpClient的使用指南

使用HttpClient可以在客户端发送Post请求,请求访问服务端的Servlet,具体的实现如下:public void sendPostMethod(){ DefaultHttpClient httpclient = new DefaultHttpClient(); //参数代表目标地址 HttpPost httppost = new HttpPost

2015-04-22 23:22:18 617

原创 对象创建型模式总结

对象创建型设计模式

2015-04-19 10:26:08 369

原创 使用Builder模式代替来创建实例

引入:考虑有这样一个类的设计,它用来表示包装食品外面的营养标签,包含以下内容:每罐的含量(servingSize)营养品的种类(servings)卡路里(calories)脂肪含量(fat)钠含量(sodium)糖含量(carbohydrate)。其中前两个是必须的,后面几项是可选的。对于这样的类,应该用哪种构造方法或者静态方法来编写呢?一种常用的方法是采用重叠

2015-04-06 15:09:53 619

原创 DownloadProvider介绍

一、介绍DownloadProvider提供了一个保存数据的格式,如content://downloads/my_downloads/1,或content://downloads/all_downloads/2。第三方应用可以使用DownloadManager的enqueue(Request)方法来请求下载,并可以使用ContentResolver的query()方法来查询,注意这里只能查到他

2015-04-05 23:57:30 8113

转载 Android中的颜色设置

1、在android中经常看到设置的颜色为八位的十六进制的颜色值,例如:123public static final class color {    publicstatic final int lightblue=0x7f040000;}或者在Java

2015-03-04 19:54:25 402

原创 Animator介绍

一、ObjectAnimator重要的方法:public static ObjectAnimator ofFloat(Objecttarget, String propertyName, float... values);构造并返回一个ObjectAnimator对象。注意values值的意义:1.如果values只有一个值,表示动画的结束值;2.如果有两个值,意味着一

2015-02-03 22:21:04 998

转载 自定义ViewGroup来理解View的scrollTo()方法

本文主要用于帮助理解View的scrollTo()方法,并穿叉了View的一些知识点。一、自定义ViewGroup自定义的ViewGroup有3个LinearLayout组成,在滑动时屏幕上一次只会显示一个LinearLayout,在构造函数中完成了布局的初始化,如下:public class MultiViewGroup extends ViewGroup { private st

2015-01-25 23:53:20 517

转载 RelativeLayout介绍

1. RelativeLayout用到的一些重要的属性:第一类:属性值为true或false  android:layout_centerHrizontal   水平居中  android:layout_centerVertical     垂直居中  android:layout_centerInparent   相对于父元素完全居中  android:layout_alig

2015-01-15 23:37:04 392

原创 BaseAdapter与CursorAdapter的结合使用举例

一、 CursorAdapter的介绍需要由子类实现的两个方法:public abstract View newView(Context context, Cursor cursor,ViewGroup parent);public abstract void bindView(View view, Context context, Cursorcursor);对外提供的公共方法

2015-01-14 23:34:31 590

转载 ContentObserver与DatasetObserver的区别

1. ContentObserver    ContentObserver主要是通过Uri来监测特定的Databases的表,如果该Databases表有变动则会通知更新cursor中的数据。    如果使用ContentProvider操作数据库,在ContentProvider的query()方法中会通过Cursor.setNotificationUri()注册uri描述的表,在ins

2015-01-13 15:13:33 420

代码大全2中文版

代码大全第二版(中文版),高清晰、带书签、方便阅读;

2018-10-04

字符图像源码

C++沉思录中"字符图像"显示的代码

2017-07-29

Android中Touch事件的传递

从布局的角度来分析Touch事件,便于深刻的理解并编写出合理代码。

2015-03-27

Androidh中的DrawerLayout导航实例

Android自带的实现左侧导航效果的示例代码,可以根据这个demos进行扩充需求。

2014-12-10

ACM中的跳马问题(c++)

问题描述 给定8*8方格棋盘,求棋盘上一只马从一个位置到达另一位置的最短路径长。 注意马是走“日”形的。 输入 输入有若干测试数据。 每组测试数据仅1行,每行上有2个方格pos1、pos2,之间用一个空格隔开,每格方格表示棋盘上的一个位置,该位置由表示列的1个字母(a-h)及表示行的一个数字(1-8)构成,如“d7”表示第4列第7行。 输出 对输入中每行上的2个方格pos1、pos2,输出马从位置pos1跳到pos2所需的最短路径长。如“a1==>a2: 3 moves”表示从位置a1跳到a2所需的最少步数是3。 注意:按输出样例所示格式输出,如“a1==>a2: 3 moves”中冒号后有一个空格,再输出所需的最少步数。

2010-11-12

空空如也

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

TA关注的人

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