自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android gralde 配置pk8签名

准备好signapk.jar包,platform.pk8,platform.x509.pem,放到app路径下和app的gradle同级别,/** * 给debug包签名 */task signTVDebugApk(type: Exec, description: 'sign apk') { workingDir '/' def outputFileName = "ap...

2018-08-23 10:46:53 731 1

原创 蓝牙游戏鼠标开发

1.准备质料,inputmanger 系统原理2.蓝牙交互协议格式。3.游戏遥控杆事件分发方式 ,监听和实现。4.多点触控原理详细流程下一节继续分析

2019-07-08 23:36:38 945

原创 Android 录屏幕直播思路+水印 (思路)

个人方案 。通过mVirtualDisplay = mMediaProjection.createVirtualDisplay(TAG + "-display", mWidth, mHeight, mDpi, DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC, new Surface(mGlSurfaceView), nul...

2019-04-12 14:21:20 1099

原创 常用的加密算法

目前常用的加密算法:AES,DES,RSA,Base64,MD51、AES /** * AES加密字符串 * * @param content * 需要被加密的字符串 * @param password * 加密需要的密码 * @return 密文 */ publi...

2018-05-17 15:32:32 565

原创 皮肤自定义更新思路

个人学习总结,菜鸟总结,请大神指教皮肤自定义更新思路:1),apk的形式,通过安装子类apk实现皮肤的形式实现换装, 步骤1,是配置 manifest 的文件application 标签添加属性shareUserId="共享的报名"       2,宿主apk 在下载皮肤的地方去下载对应的皮肤apk ,通过一下啊代码获取到皮肤文件对应的上下文。   Context context = creat...

2018-04-20 18:09:02 518

转载 冒泡排序、插入排序、选择排序、希尔排序、堆排序、归并排序等常用排序算法的比较

掌握好常用的排序算法,在实际的项目开发中可以节省很多的时间。每一种排序算法在执行的效率上是存在差别的,这些微小的时间差,也许在平常的联系当中感觉不到,但是涉及到数据量比较大或者是在资源比较紧张的系统中就显得尤其的重要,比如嵌入式系统。下面简要介绍三种常用的排序算法以及他们的执行效率的比较。       冒泡排序:最优为O(n),最坏为O(n^2),平均O(n^2)       思路:将相邻

2017-07-07 12:50:47 560

原创 Android 序列化和反序列化

序列化和反序列化的概念一、序列化和反序列化的概念把对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。  对象的序列化主要有两种用途:  1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;  2) 在网络上传送对象的字节序列。  在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理

2017-07-07 12:36:00 289

原创 理解Android进程创建流程

理解Android进程创建流程/frameworks/base/core/java/com/android/internal/os/ - ZygoteInit.java - ZygoteConnection.java - RuntimeInit.java - Zygote.java/frameworks/base/core/java/an

2017-06-27 11:18:33 314

原创 手机端如何维持登录状态

手机端如何维持登录状态通过sessionKey / tokenKey相关疑问1、sessionKey / tokenKey哪里来的?1.登录成功之后,后台返回2、sessionKey / tokenKey生成有什么规则?1.后台返回的,按照一定规则生成(比如可以随机数生成一个24位以上的字符串)3、登录成功后返回的se

2017-05-24 10:22:43 1139

原创 Android 操作系统的内存回收机制

Android APP 的运行环境  Android 是一款基于 Linux 内核,面向移动终端的操作系统。为适应其作为移动平台操作系统的特殊需要,谷歌对其做了特别的设计与优化,使得其进程调度与资源管理与其他平台的 Linux 有明显的区别。主要包含下面几个层次:Application FrameworkApplication Framework 将整个操作系统分隔

2017-05-23 14:45:13 274

原创 常用算法总结-贪心算法

五大常用算法总结-【分治、动态规划、贪心、回溯、分支界定】贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。首先了解一下两个比较重要的

2017-05-19 14:59:52 321

原创 加密技术(android开发经常用到的加密技术)

MD5,SHA,HMAC和AES,前三种是不可逆算法,最后一种是可逆的加密算法。MD5(信息摘要算法),经常用于文件检验、密码校验,不管多大的文件,经过MD%加密后,都会生成唯一的32位的MD5值,比如现在的ISO校验就是MD5校验。SHA,(安全散列算法),它是数字签名等密码学应用中的重要工具,,虽然,SHA和MD5通过碰撞法都被破解了,但是仍然是公认的安全加密算法,比MD5

2017-05-15 13:28:18 501

原创 【直播技术探讨第二章】视频的采集(音频穿插,待续)

【直播技术探讨第二章】视频的采集,那到底怎么采集呢?小白努力中。。 采集是整个视频推流过程中的第一个环节,它从系统的采集设备中获取原始视频数据,将其输出到下一个环节。视频的采集涉及两方面数据的采集:音频采集和图像采集,它们分别对应两种完全不同的输入源和数据格式。·        音频采集 音频数据既能与图像结合组合成视频数据,也能以纯音频的方式采集播放,后者在很多成熟的应用

2017-05-15 09:16:58 530

原创 【直播技术探讨第一章】

【直播技术探讨第一章】1、  首先了解一下视频直播的流程图吧 视频直播的流程可以分为如下几步: 采集 —>处理—>编码和封装—>推流到服务器—>服务器流分发—>播放器流播放1)  采集包括视频采集和音频采集视频采集需要用到的协议由摄像头等设备拍摄成 YUV 编码的原始数据,然后经过编码压缩成 H.264 等格式的数据分发出去。常见的视频封装格式有:MP4、3GP、A

2017-05-09 16:58:01 473

原创 2016/3/7 我从菜鸟开始研究直播技术

现在的水平就是菜鸟级的,网上收索了好多视频音频流媒体的开发,但都是雨里雾里看不懂,了解的很浅,所以我决定去写个日记,来记录我每天的所掌握的东西,希望以后自己能成为大神,帮助像我一样水平的菜鸟,(本篇,励志篇)

2017-03-07 14:16:16 280

原创 解决原生webView无法加载部分格式视频的问题

腾讯X5内核的集成和使用  关于如何集成方面,虽然X5官网 有接入指南,但个人感觉某些方面不是很详细,所以我就总结一下自己的集成步骤:        1、首先在官网下载官方demo ,在手机上运行看看能否满足自己的需求?如果不能满足的话,我还知道有另一个项目,可以试试:Crosswalk ;         2、仍然在X5官网,注册开发者帐号,在开发者后台申请APPkey,配置

2016-11-24 13:49:24 2280

原创 LAMP环境搭建教程

学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP、WAMP、MAMP等。这里我介绍一下LAMP环境的搭建,即Linux、Apache、MySQL、PHP环境。一、首先安装操作系统操作系统:centos6.3I...    学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP、WAMP、MAMP等。这里我介绍

2016-11-18 09:34:40 348

原创 自定义使用正式签名文件的MD5加密的debug 签名,方便开发使用

修改Android签名证书keystore的密码、别名alias以及别名密码之前在测试Eclipse ADT的Custom debug keystore自定义调试证书的时候,发过一篇关于调试证书规格的博文:Eclipse ADT的 Custom debug keystore所需证书规格,提到过自定义调试证书的密码和alias命名以及alias密码都是有规矩的。其实Android应 用开发接

2016-11-17 14:11:44 462

原创 Rect和RectF之间的区别和联

Rect和RectF之间的区别和联系   1.Rect的参数为int类型,而RectF的参数类型为float类型,从这一点上来看,RectF的精度更高一些,但是他们都是通过四个坐标参数来确定一个矩形的区域。2.二者的方法不一样,  比如 RectF(Rect r)根据给定的Rect对象来构造一个RectF对象, 进而扩展Rect不具备的功

2016-10-27 10:53:14 1150

原创 textView显示html带img标签的字符串(支持minSdkVersion>8)

public class Html_TextView_TestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan

2016-10-26 18:14:35 1143

原创 沉浸式透明状态栏与导航栏

Android 4.4 沉浸式透明状态栏与导航栏,android4.4Android 系统自4.2 开始 UI 上就没多大改变,4.4 也只是增加了透明状态栏与导航栏的功能,如图那么现在我就来给大家讲解下如何使用这个新特性,让你的 app 跟随潮流,当然如果你不在乎外观就算了,使用这个特性能开发出很漂亮的UI,尤其对于 google 原生系统,屏幕下方的导航栏白白占据一

2016-10-26 15:07:48 444

原创 举例解释Touch 事件的分发和消费机制(通俗易懂)

Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup 及其子类、Activity。方法与控件的对应关系如下表所示:Touch

2016-10-25 14:33:27 324

转载 Android Paint set方法详解

一、前言我们用set方法来设置画笔的样式,类似于我们挑选画笔画画的过程。由于上面有些方法不支持硬件加速,所以在高版本系统中可能会没有效果。因此,我们首先来看看官方废弃的方法。下图来自: https://developer.android.com/guide/topics/graphics/hardware-accel.html#unsupported当你要使用打叉的方法时,请关闭硬

2016-10-24 18:03:08 4120 1

原创 CSS浮动(float,clear)通俗讲解

很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程。       前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家。      写在前面的话:       由于CSS内容比较多,小菜没有精力从头到尾讲一遍,只能有针对性的讲解。       如果读者理解CSS盒子模型,但对于浮动不理解,那么这篇文章可以

2016-10-24 10:50:06 155

原创 div里嵌套了img 底部会出现白边

因为img默认是按基线(baseline)对齐的。对比一下图片和右边的p, q, y等字母,你会发现这三个字母的“小尾巴”和图片下方的空白一样高。下面这张图中的黑线就是那条基线。      要去掉空格可以使用vertical-align: bottom或将img标签变为块级元素。  至于什么是基线,还记得四线三格的英语写字本么?中间第三条线就是基线。

2016-10-18 11:31:34 6813

原创 HTML5,指定内容滚动到底部固定

【邮天下】帅主直播 $(window).scroll(function(){ var divtop=$("#edit_one").offset().top-$(document).scrollTop(); $("#real_name").text( $(window).height()); var vis

2016-10-13 17:03:26 2566

转载 Jquery.ajax()访问接口

Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了。推荐一篇不错的jQuery Ajax 实例文章,忘记了可以去看看,地址为:http://www.cnblogs.com/yeer/archive/2009/07/23/1529460.html 和 http://www.w3school.com.cn/jquery/

2016-10-11 11:16:41 21034

转载 Android数据缓存处理

最近真够忙的,瞎忙!好久没写博客。不知道写什么,就写些最近对用户体验这块的一个小的见解吧。无论大型或小型应用,灵活的缓存可以说不仅大大减轻了服务器的压力,而且因为更快速的用户体验而方便了用户。从事Android开发工作以来,个人认为Android应用可以说是作为小型应用,只是其中很多的开发时间花费在细节之上(UI交互方式、响应速度、效果、字体、颜色等等),其中90%乃至99的应用并不是需要

2016-09-30 11:30:58 1352

转载 MaterialProgressDrawable , 实现SwipeRefreshLayout的下拉效果的旋转动画效果

概述 MaterialProgressDrawable,一个Material风格的圆形滚动条,样式比较百搭,在android.support.v4.widget包中,不过是私有的,但是,好东西怎么能埋没了呢,我们直接把它复制出来就可以用了,哇哈哈~~~(找不到就点我 - -)可以做什么?MaterialProgressDrawable大概可以实现以下效果:指

2016-09-23 13:39:54 1844

转载 dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()的关联 (三)

本文背景:前些天用到了之前写的自定义图片文字复合控件,在给他设置监听时遇到了麻烦。虽然最后解决了问题,但发现在不重写LinearLayout的onInterceptTouchEvent时,子ImageView、子TextView、父Linearlayout三者不同的属性配置(android:clickable android:focuseable)会造成自定义控件onClick监听失败、或成功

2016-09-22 11:07:09 258

原创 dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()的关联 (二)

(如有错误,请大牛指出,谢谢~  (~ o v o ~) ~) Android Touch事件分发详解 Android Touch事件分发详解先说一些基本的知识,方便后面分析源码时能更好理解。 - 所有Touch事件都被封装成MotionEvent对象,包括Touch的位置、历史记录、第几个手指等.事件类型分为ACTION_DOWN,ACTION_UP,

2016-09-22 10:55:20 257

原创 dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()的关联 (一)

(如有错误,请大牛指出,谢谢~  (~ o v o ~) ~) 一、在View里,有两个回调函数public boolean dispatchTouchEvent(MotionEvent ev); public boolean onTouchEvent(MotionEvent ev); 二、在ViewGroup里,有三个回调函数public boolean dispa

2016-09-22 10:53:58 201

原创 Android 分析onTouchEvent和OnTouch区别

废话不多说,先看dispatchTouchEvent();很明显可以看到,事件的传递,会优先掉用mOnTouchListener.onTouch(this, event)这个方法,然后才能轮到onTouchEvent(event)获取事件,说到这里,我们也应该想起了onClick和onLongPressClic都是对onTouchEvent(ev

2016-09-22 10:27:52 320

原创 实现curson 选项卡游标随viewpager移动

@Override    public void onPageScrollStateChanged(int arg0) {        // TODO Auto-generated method stub            }    @Override    public void onPageScrolled(int position, float positi

2016-07-12 10:05:57 509

原创 HorizontalListView 的selection方法

通过getAdapter的getView方法来获取子View的宽度,进行scrollTo();@Override    public void setSelection(int position) {         float addWidth = 0;         Log.e("++++getChildCount()++++"+getAdapter().getCount

2016-06-24 16:03:03 325

原创 Canvas绘制曲线和曲线底部颜色,高效实时刷新,解决了,记录一下,适用于K-线开发

开发中遇到实时刷新的曲线,由于曲线刷新太快,一般的绘制会出现卡顿额现象,此方法适用所有的曲线等线条的绘制,1,绘制简单的曲线,首先初始化 Paint mPaint = new Paint(); mPaint.setColor(Color.RED); mPaint.setAntiAlias(true); mPaint.setStrokeWidth(1); mPaint.s

2016-06-17 16:09:31 2742

原创 android EditText插入字符串到光标所在位置(表情开发用到,记下)

在安卓中处理文本编辑的时候,我们一般都是用EditText控件,除了基本的输入文字功能之外,我们很可能还需要一些更灵活的功能,比如在光标所在位置插入一张图片。但是EditText本身只有追加函数append(),并没有insert方法,难道要我们自己写方法实现插入功能吗,经过研究之后发现,EditText有已经实现好了的插入方法,不过在其附属的另外一个对象Editable中。通过getEditab

2016-05-25 16:23:02 1188

原创 自定义listVIew 实现条目文字渐变效果

public class MyGradientLv extends ListView {    public MyGradientLv(Context context) {        super(context);        // TODO Auto-generated constructor stub    }    public MyGradientLv(C

2016-04-09 09:43:39 461

原创 Android切换按钮 带文字

import java.util.Timer;import java.util.TimerTask;import android.app.Activity;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import a

2016-04-01 14:07:31 1849 1

原创 android 自定义切换按钮

import java.util.Timer;import java.util.TimerTask;import android.app.Activity;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import a

2016-04-01 14:00:45 747

自定义控件

基本原理,android自定义控件,onDraw,canvas:画布 Paint:画笔,获取屏幕尺寸:DisplayMetrics,postInvalidate();//强制刷新,不等待队列

2015-08-09

空空如也

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

TA关注的人

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