自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (16)
  • 收藏
  • 关注

原创 onTouchlistener、onTouchevent、onClick的优先级

先看一下Android源码中对于View中dispatchTouchEvent的实现: public boolean dispatchTouchEvent(MotionEvent event){ ... ... if(onFilterTouchEventForSecurity(event)){ ListenerInfo li = mListenerInfo; if(li != null && li.mOnTouchListener != null &&amp

2021-04-02 01:35:43 633

转载 DES加密原理

首先要生成一套加密密钥,从用户处取得一个64位长的密码口令,然后通过等分、移位、选取和迭代形成一套16个加密密钥,分别供每一轮运算中使用。DES对64位(bit)的明文分组M进行操作,M经过一个初始置换IP,置换成m0。将m0明文分成左半部分和右半部分m0 = (L0,R0),各32位长。然后进行16轮完全相同的运算(迭代),这些运算被称为函数f,在每一轮运算过程中数据与相应的密钥结合。在每一轮中,密钥位移位,然后再从密钥的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过一个

2021-04-01 03:16:09 389

原创 一些工作总结整理

一、git操作:远程分支如何合并git rebase 使用(已commit) 本地分支合并git pull --rebase(1.未commit 2.已commit)1.会失败 2会合并且不会额外生成一个历史记录git pull 前已有本地修改 没commit拉不了,commit会mergegit pull (会有merge?) 是的git commit --...

2020-01-14 09:58:05 216

原创 NAT穿透

1 .ClientA-1 (202.103.142.29:5000 )发送数据包给Server ,请求和ClientB-1 (221.10.145.84:6000 )通信。2. Server 将ClientA-1 的地址和端口(202.103.142.29:5000 )发送给ClientB-1 ,告诉ClientB-1 ,ClientA-1 想和它通信。3. ClientB-1 向Client...

2018-11-15 15:10:19 431

原创 ADB调试广播发送接收

adb发送BOOT_COMPLETED我们可以通过adb shell am broadcast -a android.intent.action.BOOT_COMPLETED命令发送BOOT_COMPLETED广播,而不用重启测试机或模拟器来测试BOOT_COMPLETED广播,这条命令可以更精确的发送到某个package,如下:adb shell am broadcast -a android....

2018-05-21 18:35:03 5072

转载 webrtc声音处理demo与编译

Android APM带JNI源码的例子https://github.com/dengzikun/WebRTC-APM-for-AndroidAndroid APM接口使用例子https://github.com/dengzikun/WebRTC-APM-for-Android-Demo

2018-01-22 16:28:30 1233 2

原创 Volley在AS中的使用

compile 'com.android.volley:volley:1.0.0'

2018-01-15 16:33:03 1594

原创 NDK重新编译so库

先用test2.cpp生成libhello.so,将该库放在源文件目录下,然后对该库进行再次编译,android.mk文件如下格式:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := foo-prebuiltLOCAL_SRC_FILES := libhello.soinclude $(PREBUILT_

2017-12-21 23:15:12 2485

原创 jNI callback

#include #include #include "tdnmanager.h"#define LOG_TAG "Network"#include "log.h"#include "NetworkCallback.h"#include static const char* const kClassNameNetwork =        "com/apical

2017-12-14 22:05:18 575

原创 Ubuntu编译Android源代码

一、环境准备本人使用VMware安装Ubuntu系统。1、安装git (命令 sudo apt-get install git)安装完成之后,需要对git进行配置,设置git的电子邮件和用户名。git config --global user.email "你的电子邮件地址"git config --global user.name "你的名字"2、下载repo

2017-10-08 01:17:00 713

原创 AS的gradle各版本下载地址

http://services.gradle.org/distributions/

2017-09-26 20:17:04 3261 1

转载 Android Studio gradle插件版本和gradle版本对应关系

转载自http://blog.csdn.net/whj9073/article/details/768546921、gradle插件版本配置位置:project对应的build.gradle文件中buildscript { repositories { jcenter() } dependencies {

2017-09-25 20:06:13 1205

转载 H264实时传输心得总结

一篇不错的文章,转载于 http://blog.csdn.net/mandagod/article/details/52559053

2017-02-28 17:24:26 2050

原创 apk反编译

(命令中test.apk指的是要反编译的APK文件全名,test为反编译后资源文件存放的目录名称,即为:apktool.bat d -f [apk文件 ] [输出文件夹])注意:上面的命令针对低版本的apktool,在高版本运行会提示:input file was not found or was not readable,此时应该运行新的命令:apktool d -f ride.apk -o ride (中间多了-o)

2017-02-14 14:10:39 284

转载 Tinker热修复技术使用

一篇不错的文章:http://blog.csdn.net/johnny901114/article/details/54934782

2017-02-09 16:12:19 358

原创 android的AIDL的一点心得

个人理解的通信原理就是客户端和服务端使用同一个接口,服务端通过service实现这个接口的方法并且暴露(注册),客户端通过与service连接得到接口关联,之后客户端就能调用服务端接口的方法了(粗略理解,个人觉得每次接口改变,客户端和服务端都得改,这种架构并不好)      需要注意几点:1.编写.aidl文件,IDE会自动再gen目录生成.java文件(客户端和服务端都一样,且.aidl

2017-02-07 16:02:12 318

原创 android的Binder框架

Binder机制的核心是在客户端创建一个代理,在服务端创建一个存根,通过代理和存根之间的调用来完成进程间的数据交换

2017-02-07 15:07:54 284

原创 android静默安装

关键点:1.手机已经root2.执行静默安装的程序需要申请root权限,代码如下: /** * 应用程序运行命令获取 Root权限,设备必须已破解(获得ROOT权限) * * @return 应用程序是/否获取Root权限 */ public static boolean upgradeRootPermission(String p

2017-02-07 14:05:45 394

原创 设置Textview的可复制性

android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="!!!!!!!!!"    android:enabled="true"    android:textIsSelectable="true"    android:focusable="tru

2017-02-07 11:18:45 1043

原创 android蓝牙通信

一 蓝牙开启首先需要获取系统的蓝牙适配器,如果适配器不为空且没有开启的话,通过intent进行开启操作,相关代码如下:BluetoothAdapter blueadapter = BluetoothAdapter.getDefaultAdapter();if (blueadapter != null) {  //Device support Bluetooth    //确认开启

2017-02-06 09:48:21 569

原创 URL编码

url编码是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。不管哪种情况,在服务器端的表单输入格式样子象这样:theName=Ichabod+Crane&gender=male&status=missing& ;headless=yes

2016-12-01 15:21:38 292

原创 paint.setXfermode不起作用的解决方法

当想设置图片重叠的相交状态时 paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));这个不起作用了。试下setLayerType(View.LAYER_TYPE_SOFTWARE, null);//关掉硬件加速

2016-10-28 10:37:17 2967

转载 分辨率兼容

首先Drawable资源分为xxhdpi,xhdpi,hdpi,mdpi,ldpi,分别为超超高密度400dpi(左右),超高密度320dpi,高密度240dpi,中密度160dpi,低密度120dpi。然后手机的屏幕又分为FWVGA,WVGA,VGA,HVGA,QVGA,其中    VGA是:Video Graphic Array,显示标准为480 x 640;    WVGA是Wi

2016-08-23 09:34:49 670

原创 ProgressDialog高级使用

http://www.cnblogs.com/firecode/archive/2012/09/25/2701039.html

2016-05-25 10:22:51 300

原创 Service的一点心得

Service接收通知的原理:通过维护一个死循环,在这个死循环中,不停地去读内核中binder driver,查看是否有可读的内容;即是否有对service的操作要求, 如果有,则调用svcmgr_handler回调来处理请求的操作。应用和service之间的通信会涉及到2次binder通信。1.应用向SM查询service是否存在,如果存在获得该service的代理binde

2016-05-19 16:51:36 361

转载 android-async-http使用总结

下载最新的包可以到github:https://github.com/loopj/android-async-http官方说明文档:http://loopj.com/android-async-http将jar包添加到项目里面就可以开始使用了:第一步:按照官方推荐,创建一个静态的请求对象.添加基本请求功能public class MyBaseRequest { publ

2016-05-19 10:42:02 3301 3

转载 Android ListView分类/分组效果 - 第二种实现方式

http://blog.csdn.net/androiddevelop/article/details/8316759

2016-05-19 10:40:47 320

转载 守护进程

https://github.com/AigeStudio/Android

2016-05-10 14:43:44 243

转载 android studio调试编译错误

有各种各样原因,具体就请自己进cmd编译看什么地方出错进入项目的gradle文件所在目录打gradlew compileDebug --stacktrace来追踪就可以啦~

2016-03-11 14:13:19 398

转载 Activity被回收导致fragment的getActivity为null的解决办法

这两天一直被这个问题困扰,假如app长时间在后台运行,再点击进入会crash,而且fragment页面有重叠现象,让我十分不爽。研究了一天,终于明白其中的原理并加以解决。解决办法如下:    如果系统内存不足、或者切换横竖屏、或者app长时间在后台运行,Activity都可能会被系统回收,然后Fragment并不会随着Activity的回收而被回收,从而导致,Fragment丢失对应的Acti

2016-03-10 11:44:39 366

转载 android 获取控件高度

问题如何获取一个控件的长和高,相信很多朋友第一眼看见这个问题都会觉得很简单,直接在onCreate里面调用getWidth、getMeasuredWidth不就可以获得了吗,但是,事实上是并没有简单的,不信的话,你可以去试一下,在onCreate里面,你是无法获得长宽值的,始终为0。原因这是为什么呢,其实熟悉view绘制流程的朋友应该一眼就看出来了,在onCreate中,我们的控件其实

2015-10-23 14:23:50 438

原创 SkImageDecoder::Factory returned null

SkImageDecoder::Factory returned null流不能二次操作。于是看明白了,第一次取图片尺寸的时候is这个InputStream被使用过了,再真正取图片的时候又使用了这个InputStream,此时流的起始位置已经被移动过了,需要调用is.reset()来重置,然后再decodeStream(imgInputStream, null, options)就没问题了。

2015-05-28 10:08:38 481

原创 shareSDK使用心得

1.微信分享如果使用绕过审核的方式,只要一进入到界面就会提示分享成功2.ShareSDK的APPID不要忘记填写;3.ShareSDK后台可以配置各个分享平台的APPID,如果本地的XML文件APPID和后台的不一致也会导致失败,应该清空后台配置

2015-04-24 09:52:31 389

原创 popupWindow自适应关键代码

popupWindow.setWidth(LayoutParams.WRAP_CONTENT);                   popupWindow.setHeight(LayoutParams.WRAP_CONTENT);popupWindow.showAtLocation( myview, Gravity.TOP | Gravity.CENTER, 0, 0);

2015-03-18 16:58:28 383

原创 asp.net网站安全检测网址

https://asafaweb.com/Scan?Url=old.pinganxiaoba.com%2Findex.php

2015-03-11 14:42:13 651

原创 根据文件名获取id字符串

int resId = context.Resources.GetIdentifier(name, "drawable",                            context.PackageName);

2015-02-28 11:41:01 754

原创 android控件的边框设置

xml version="1.0" encoding="utf-8"?>shape xmlns:android="http://schemas.android.com/apk/res/android" > 圆角 --> corners android:radius="9dp" android:topLeftRadius="2dp"

2015-02-15 15:30:08 19200

原创 利用NDK生成.so文件

1.选中工程,点击右键-->Properties-->Builders-->New,新建立一个Builder,在弹出的对话框上点中Program,点击OK;2.在弹出对话框EditConfiguration中,配置选项卡Main:Location中填入NDK安装目录,D:\ProgramFiles\Android\android-sdk\android-ndk-r9\ndk-build.cmd

2015-02-15 15:28:26 717

原创 微信分享注意事项及总结

1.在微信后台注册时,注意MD5和包名没有写反,一不小心就容易混淆;2.网络图片分享时记得压缩成缩略图,原生的demo默认是120px,所以是跑不通的,后来我改成80就可以了

2015-02-04 15:22:48 725

转载 Android AudioManager处理两个播放器同时有声音,停止其中一个播放的问题

 尽管某个时刻只有一个activity可以运行,Android却是一个多任务环境.这对使用音频的应用带来了特殊的挑战,因为只有一个音频输出而可能多个媒体都想用它.在Android2.2之前,没有内建的机制来处理这个问题,所以可能在某些情况下导致坏的用户体验.例如,当一个用户正在听音乐而另一个应用需要通知用户一些重要的事情时,用户可能由于音乐声音大而不能听的通知.从Android2.2开始,

2014-10-09 14:36:20 20486 2

jni的回调使用

jni的回调使用~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2017-12-17

最简单的AIDL通信

最简单的AIDL通信

2017-02-07

静默安装demo

亲测三星note2手机可运行

2017-02-07

图片滤镜+裁剪+字幕+美化

图片滤镜+裁剪+字幕+美化

2016-06-06

混淆打包文件

混淆打包文件

2016-06-06

ZHD_cisp.rar

ZHD_cisp.rar

2013-07-18

移动APP前端框架

移动APP前端框架

2013-07-18

HTML5移动Web开发指南

非常不错的一本书,适合想学移动WEB开发的初学者

2012-12-27

植物识别系统

植物识别系统

2012-12-17

siverlight字体绚丽效果

siverlight字体绚丽效果

2012-12-16

JS风琴效果

JS风琴效果

2012-12-16

jquery绚丽购物车

jquery绚丽购物车

2012-12-08

JQUERY字体滚动

非常酷的滚动设计插件。当你在浏览器中拉动滚动条时,你会发现页面上元素顿时活跃了起来,非常有趣

2012-12-08

JQUERY左右翻页效果

JQUERY左右翻页效果

2012-12-08

通讯录源码

base64加密!

2012-09-13

程序更新工具

程序更新工具

2012-07-23

空空如也

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

TA关注的人

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