自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (3)
  • 收藏
  • 关注

原创 React Native通讯原理

之前写过一篇文章 ReactNative Android源码分析,在此文章的基础上分析和总结下RN与Native的通讯流程。 本文基于Android代码分析,iOS实现原理类似。1. 通讯框架图先来解析下各个模块的角色与作用:Java层,这块的实现在ReactAndroid中 - ReactContext : Android上下文子类,包含一个CatalystInstance实例,用于获取N

2016-10-16 00:55:33 2303

转载 JVM-ClassLoader

转自: http://www.jiagou4.com/2015/08/744.html为了支持跨平台的特性,java语言采用源代码编译成中间字节码,然后又各平台的jvm解释执行的方式。字节码采用了完全与平台无关的方式进行描述,java只给出了字节码格式的规范,并没有规定字节码最终来源是什么,它可以是除了java语言外的其他语言产生,只要是满足字节码规范的,都可以在jvm中很好的运行。正

2015-09-30 00:59:53 402

转载 linux 下C语言学习路线

UNIX/Linux下C语言的学习路线。一、工具篇“公欲善其事,必先利其器”。编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工具。1、操作系统    在UNIX或Linux系统中学习C很方便,所以在开始您的学习旅程前请先选择一个UNIX或Linux操作系统,目前可供个人免费使用的UNIX或Linux系

2014-12-20 00:59:18 686

转载 Android中Bitmap,byte[],Drawable相互转化

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

2014-08-20 11:38:45 613

转载 Android NDK几点回调方式(device id & signature)

一、NDK中获取android设备ID的方式Java代码如下(获取设备ANDROID_ID):final String androidId = Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);对应的c代码(相当蛋疼),注意如果是C++,需要把所有的(*env)->替换成env->,同时去

2014-08-17 16:27:47 2124

转载 Android程序的签名保护及绕过方法

随着Android 市场的扩大,各类盗版、破解、打包党纷纷涌现,其使用的手法无非是apk _> smali ->修改代码 ->重打包签名,为对抗此类技术,广大程序员挖掘了Android平台特有的保护技术:签名校验  1、JAVA代码本地签名校验Android要求安装到手机上的APK文件必须有签名,而理论上开发者的签名他人是无法得到的(证书保护是另外一回事),所以

2014-08-17 16:25:37 781

转载 Android上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读

术语和概念 屏幕尺寸 屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如 2.8寸, 3.5寸)。 简而言之, Android把所有的屏幕尺寸简化为三大类:大,正常,和小。 程序可以针对这三种尺寸的屏幕提供三种不同的布局方案,然后系统会负责把你的布局方案以合适的方式渲染到对应的屏幕上,这个过程是不需要程序员用代码来干预的。屏幕长宽比 屏幕的物理长度与物理宽度的比例。程序可

2014-05-29 14:19:39 1708

转载 dex file format

文件头(File Header)Dex文件头主要包括校验和以及其他结构的偏移地址和长度信息。字段名称偏移值长度描述magic0x08'Magic'值,即魔数字段,格式如”dex/n035/0”,其中的035表示结构的版本。checksum0x84校验码。

2014-03-20 15:07:00 788

转载 Android DEX安全攻防战

本文章由Jack_Jia编写,转载请注明出处。  文章链接:http://blog.csdn.net/jiazhijun/article/details/9428861作者:Jack_Jia    邮箱: [email protected]      英文原版:http://www.strazzere.com/papers/DexEducation-Practici

2014-03-17 14:25:12 683

翻译 Sqlite数据库导入导出与备份恢复

(1)数据导入    建立了Sqlite数据库后就要建立表输入数据了,多数时候数据量较大,手动输入不可能,必须用导入语句    导入逗号分隔csv格式数据    首先建立一个表,比如test.db中建表test,如果表已经存在,可以利用命令".schema"查看该表结构,比如    sqlite>.schema test,结果得到test表的结构,因为要导入的数据必须具有相似的结构

2013-12-23 15:33:02 4234

转载 Android 获取ROOT权限原理解析

一、 概述本文介绍了android中获取root权限的方法以及原理,让大家对android玩家中常说的“越狱”有一个更深层次的认识。 二、 Root的介绍1.       Root 的目的可以让我们拥有掌控手机系统的权限,比如删除一些system/app下面的无用软件,更换开关机铃声和动画,拦截状态栏弹出的广告等。2.       Root的原理介绍

2013-12-12 17:13:32 697

转载 如何给apk文件签名

给apk文件签名主要分三步,创建证书(如果没有)-->签名-->优化(可选)1)使用jdk的keytool工具生成签名用的证书> keytool -genkey -v -alias CERT -keyalg RSA -keysize 2048 -validity 10000 -keystoreCERT.keystore 创建过程需要输入一些标识信息和密码,一些重

2013-12-05 17:15:18 846

转载 最全的Android源码目录结构详解

Android 2.1|-- Makefile|-- bionic                        (bionic C库)|-- bootable                (启动引导相关代码)|-- build                        (存放系统编译规则及generic等基础开发包配置)|-- cts                  

2013-11-25 13:11:44 598

原创 ServiceManager总结

最近在看Binder相关的东西,暂时的总结下。      1. 在Android启动过程           Android是基于linux的,所以Android的首先启动linux系统(bootloader和kernel),Init进程是第一个启动的用户进程,启动时会解   析放在设备根目录下的init.rc文件。该文          件包含一些系统初始化配置和需要启动的一些守

2013-11-02 21:47:42 717

转载 linux svn command

1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下

2013-10-14 11:27:00 679

转载 Embedding Tomcat Into Java Applications

Embedding Tomcat Into Java ApplicationsIn this article, we'll extend our Tomcat discussions to the application level by creating a Java application that manages an embedded version o

2013-05-29 11:08:36 1390

转载 HTTP摘要认证

摘要访问认证是一种协议规定的Web服务器用来同网页浏览器进行认证信息协商的方法。它在密码发出前,先对其应用哈希函数,这相对于HTTP基本认证发送明文而言,更安全。从技术上讲,摘要认证是使用随机数来阻止进行密码分析的MD5加密哈希函数应用。它使用HTTP协议。目录  1 概述2 MD5 安全问题对摘要认证的影响3 HTTP摘要认证的考虑3.1 优势3.2 劣势3.3

2013-05-27 15:37:10 877

转载 基于AKA的IMS接入认证机制

摘要:IP多媒体子系统(IMS)作为3G网络的核心控制平台,其安全问题正面临着严峻的挑战。IMS的接入认证机制的实现作为整个IMS安全方案实施的第一步,是保证IMS系统安全的关键。基于认证和密钥协商(AKA)的IMS接入认证机制是由因特网工程任务组(IETF)制定,并被3GPP采用,广泛应用于3G无线网络的鉴权机制。此机制基于“提问/回答”模式实现对用户的认证和会话密钥的分发,由携带AKA参数的S

2013-05-24 14:13:18 2953

转载 OpenIMS Core安装

具体OpenIMSCore的安装步骤已经有很多人写了参考http://www.vpsee.com/2009/07/install-configure-openimscore/原文如下(有剪切):[xhtml] view plaincopy下面是安装在 Ubuntu 9.04 Desktop 版本上的过程,Ubuntu 的其他版

2013-05-22 16:20:11 1761

转载 XMPP协议的原理介绍

XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。  XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;

2013-05-01 21:13:21 741

转载 SIP即时消息(RFC3428)

即时消息(IM)指的是近似实时的消息交互。即时消息通常很短,虽然并不要求这样。IM通常用于会话模式,也就是说,消息的交互是一来一回的,并且很快,近似于交互式的会话。     提出了MESSAGE方法,扩展了SIP协议以传送IM消息。由于MSEEAGE是SIP消息,所以它继承了SIP协议所有的路由和安全特性。 MESSAGE用MIME格式的body携带具体内容。MESSAGE本身并不建立dial

2013-04-24 17:06:38 754

转载 SIP Response Messages

SIP Response MessagesInformational100 TryingThis special case response is only a hop-by-hop request. It is never forwarded and may not contain a message body. A forking proxy must send a

2013-04-24 16:20:35 973

转载 TextView设置链接

当文字中出现URL、E-mail、电话号码等的时候,还可以为TextView设置链接。总结起来,一共有4种方法来为TextView实现链接。(1)在xml里添加android:autoLink属性。如果写为android:autoLink=”all”,则为所有种类添加链接。当然,同样的也可以在Java代码中完成,用法为tv.setAutoLinkMask(Linkify.ALL)。(2)将

2013-03-26 15:42:38 678

转载 Android的Camera架构简介

第一部分 Camera概述  Android的Camera包含取景器(viewfinder)和拍摄照片的功能。目前Android发布版的Camera程序虽然功能比较简单,但是其程序的架构分成客户端和服务器两个部分,它们建立在Android的进程间通讯Binder的结构上。    以开源的Android为例,Camera的代码主要在以下的目录中:Camera的JAVA程序的路径:

2013-03-18 17:17:04 892

转载 Android Camera架构浅析

1、Camera成像原理介绍Camera工作流程图Camera的成像原理可以简单概括如下:景物(SCENE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过IO接口传输到CPU中处理,通过DISPLAY就可以看到图像了。电荷耦合器件(CCD)

2013-03-18 16:58:03 567

转载 Android 的系统属性(SystemProperties)设置分析

Android 的系统属性包括两部分:文件保存的持久属性和每次开机导入的cache属性。前者主要保存在下面几个文件中:bionic/libc/include/sys/_system_properties.h1     #define PROP_SERVICE_NAME "property_service"2     #define PROP_PATH_RAMDISK_DEFAU

2013-02-28 11:34:14 550

转载 Eclipse+CDT+gdb调试android ndk程序

先介绍一下开发环境,在这个环境下,up主保证是没有问题的。ubuntu 11.10eclipse 3.7(indego) for javajdk 6android sdk 2.2andrid ndk r7 当然,在windows环境下通过cygwin等工具也是可以实现gdb调试的,我也确实实现过。但是性能实在太低,卡的根本没法用。Linux下直接用gdb

2013-02-05 13:59:20 448

转载 Android的Audio 系统

Android的Audio 系统第一部分 Audio系统综述第二部分 Audio系统和上层接口第三部分 Audio的硬件抽象层第一部分 Audio系统综述Audio系统在Android中负责音频方面的数据流传输和控制功能,也负责音频设备的管理。Audio系统主要的分成几个层次:1. media中库提供的Audio系统的上层接口2. AudioFlinger作为Aud

2013-01-23 12:47:09 827

转载 STUN检测NAT类型原理(转)

STUN检测NAT类型原理(转) STUN是RFC3489规定的一种NAT穿透方式,它采用辅助的方法探测NAT的IP和端口。毫无疑问的,它对穿越早期的NAT起了巨大的作用,并且还将继续在ANT穿透中占有一席之地。STUN的探测过程需要有一个公网IP的STUN Server,在NAT后面的UAC(User Agent Client)必须和此Server配合,互相之间发送若干个UDP数据包。U

2013-01-06 17:49:50 870

转载 NAT的四种类型及类型检测

考 虑到UDP的无状态特性,目前针对其的NAT实现大致可分为Full Cone、Restricted Cone、Port Restricted Cone和Symmetric NAT四种。值得指出的是,对于TCP协议而言,一般来说,目前NAT中针对TCP的实现基本上是一致的,其间并不存在太大差异,这是因为TCP协议本身 便是面向连接的,因此无需考虑网络连接无状态所带来复杂性。用语定义1.

2012-12-25 18:57:25 1108 1

转载 Java 中的Double Check Lock

对于多线程编程来说,同步问题是我们需要考虑的最多的问题,同步的锁什么时候加,加在哪里都需要考虑,当然在不影响功能的情况下,同步越少越好,锁加的越迟越优是我们都必须认同的。DCL(Double Check Lock)就是为了达到这个目的。 DCL简单来说就是check-lock-check-act,先检查再锁,锁之后再检查一次,最后才执行操作。这样做的目的是尽可能的推迟锁的时间。网上普遍举的

2012-12-06 16:41:33 1027

转载 Android中全局搜索(QuickSearchBox)详解

整体介绍1. 全局搜索(QuickSearchBox)介绍:全局搜索(QuickSearchBox)是Android系统中原生的应用程序,它的主要职能是接收用户的搜索请求,并将搜索请求传达给支持全局搜索的应用程序,应用程序执行搜索操作,并将搜索到的結果返回给全局搜索应用程序,全局搜索应用根据搜索結果渲染UI界面,当用户单击某一个搜索出来的結果项就会打开相应的应用程序,显示搜索結果的

2012-11-21 11:46:15 1116

转载 SIP协议全方位概要介绍

一、sip协议的背景和功能    SIP( 会话初始协议)的开发目的是用来帮助提供跨越因特网的高级电话业务。因特网电话(IP电话)正在向一种正式的商业电话模式演进,SIP就是用来确保这种演进实现而需要的NGN(下一代网络)系列协议中重要的一员。    SIP是IETF标准进程的一部分,它是在诸如SMTP(简单邮件传送协议)和HTTP(超文本传送协议)基础之上建立起来的。它用来建立,

2012-11-08 18:28:57 750

转载 C++中explicit关键字的作用

explicit用来防止由构造函数定义的隐式转换。要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。例如:class things{ public: things(const std::string &name = ""): m_name(name

2012-10-22 10:44:13 519

转载 C++中指针和引用的区别

从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数和引用传

2012-10-19 13:46:10 567

转载 C/C++中static关键字详解

静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。    静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。用法1:函数内部声明的static变量,可作为对象间的一种通信机制    如果一局部变量被声明为static,那么将只有唯一的一个静态分配的对象,它被用于在该函数的所有调用中表示这个变量。这个对象将只在

2012-10-19 11:21:17 482

转载 浅谈C++中的友元关系

在封装中C++类数据成员大多情况是private属性;但是如果接口采用多参数实现肯定影响程序效率;然而这时候如果外界需要频繁访问这些私有成员,就不得不需要一个既安全又理想的“后门”——友元关系;C++中提供三种友元关系的实现方式,友元函数、友元成员函数、友元类。友元函数:既将一个普通的函数在一个类中说明为一个friend属性;其定义(大多数会访问该类的成员)应在类后;友元成员函数:既然

2012-10-19 10:31:51 923

转载 Android Binder设计与实现 - 设计篇

关键词Binder Android IPC Linux 内核 驱动摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本

2012-10-18 18:15:54 900

转载 Linux下JNI的demo

java访问C/C++有6步1.写java文件2.编译java生成class3.生成C/C++头文件。4.写C/C++文件5.编译生成dll(Window下)或so文件6.运行java程序下面介绍ubutun下一个JNI例子1.编写Sample1.java文件: public class Sample1   {  public nativ

2012-10-12 16:42:11 523

转载 Intent和PendingIntent的区别

intent英文意思是意图,pending表示即将发生或来临的事情。 PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面,但不是马上跳转。 Intent 是及时启动,intent 随所在的activity 消失而消失。 PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadc

2012-09-29 16:04:38 428

android-service

Android Service组件的详细介绍,

2011-12-23

android-api

android API

2011-12-23

空空如也

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

TA关注的人

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