自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 makefile的语法及写法

0 Makefile概述 -------------------------------------------------------------------------------- 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要

2015-12-13 23:26:02 1302

原创 Android监听键盘状态变化

如下监听键盘状态变化的代码摘自React native的键盘状态监听代码,这个方法会影响部分性能,正常情况下可以忽略。import android.graphics.Rect;import android.support.annotation.Nullable;import android.util.DisplayMetrics;import android.view.Vie

2015-12-07 13:30:15 2427

转载 Linux chmod使用

修改文件的权限chmod [options] who operator permission file-list (符号模式)chmod [options] mode file-list (绝对模式) 参数file-list 是chmod需要修改权限的文件名或目录的路径名 说明Linux中主要有两种改变权限的方法第一种:使用符

2015-06-30 08:04:51 1497

转载 android jni 中常使用的函数及用法

http://blog.csdn.net/banketree/article/details/40535325Java类型本地类型(JNI)描述boolean(布尔型)jboolean 无符号8个比特byte(字节型)jbyte 有符号8个比特char(字符型)jchar 无符号16个比特sho

2015-06-29 17:59:40 2287

原创 Android注册native函数和jave方法的对应关系

原标题:Android System.loadLibrary及JNI_OnLoad简介  http://blog.csdn.net/myarrow/article/details/9718677 看着本篇文章主要是讲解load so库的方法及过程,以及在load库的过程中注册java方法和native函数的对应关系。标题也给稍微改动了一下。我也是刚开始看c代码和c++代码,没有

2015-06-29 14:37:56 3076

原创 dlopen与dlsym的说明和使用-动态拿到函数地址

Linux提供了一套API来动态装载库。下面列出了这些API:- dlopen,打开一个库,并为使用该库做些准备。- dlsym,在打开的库中查找符号的值。- dlclose,关闭库。- dlerror,返回一个描述最后一次调用dlopen、dlsym,或dlclose的错误信息的字符串。通过dlopen动态的打开动态库,动态库加载完成后,返回一个句柄,然后把句

2015-06-28 14:59:34 5430

原创 otto源码分析

otto这个开源项目是一个event bus模式的消息框架,用于程序各个模块之间的通信,此消息框架可以使得各个模块之间减少耦合性。此项目是支付公司square一个开源项目,项目托管于githubhttps://github.com/square/otto基本模型是,Android的组件可以注册监听,然后发送消息,接收消息,模式就是观察者模式,但是有别于java实现的

2014-08-17 17:54:23 4343

转载 Java 正则表达式

Java 提供了功能强大的正则表达式API,在java.util.regex 包下。本教程介绍如何使用正则表达式API。正则表达式一个正则表达式是一个用于文本搜索的文本模式。换句话说,在文本中搜索出现的模式。例如,你可以用正则表达式搜索网页中的邮箱地址或超链接。正则表达式示例下面是一个简单的Java正则表达式的例子,用于在文本中搜索 http://

2014-08-12 13:18:41 1776

原创 Android WebView安全讨论

Android WebView安全问题相信大家都遇到过,今天我专门开一个帖子和大家讨论一下如何正确的对待WebView的安全问题。我提出的解决方式也许不是最好的,可能还会有很多其他的更好的解决方案,我在这里也仅仅是抛砖引玉,希望大家能提出更好的解决方案出来,能让大家在讨论中都能获益。下面我先抛出两个WebView的主要问题(1)关于Javacript和Java通信的桥的问题。(

2014-08-11 14:16:19 5398

原创 定时任务为什么不用Timer

在做定时任务的时候,有的同学可能能会用到Timer这个定时任务的辅助类,但是使用它会有潜在的风险,风险如下,(1)时间计算不准确问题    因为Timer是以绝对时间计算定时任务的,会受到系统时间的影响,如果在任务执行期间,更改了系统时间,那么会导致时间计算不准确问题,导致任务没用按找预定的时间执行。(2)只能单任务执行    简单讲就是,只能一次执行一个任务,如果前一个任

2014-08-07 15:48:06 2885

原创 Toast窗口的源码分析

今天写个帖子,主要讲解一下我自己对Toast的理解和创建流程。整个过程大部分都是分析源码。不多废话了,马上开始。为了更加直观,先上使用代码:Toast.makeText(context, "hello toast", 1).show();咱们一般用Toast来提示信息,比如eoe的安卓客户端按两次返回的推出提示咱们看下Toast的创建及显示过程吧:

2013-12-06 13:00:39 5033 3

原创 PopupWindow源码分析

PopupWindow是我们经常使用的一个控件,严格来说这个PopuWindow就用来在指定位置显示一个View。经过分析源码,PopupWindow里面没有Window对象,只是把View设置到屏幕而已。从构造函数中可知,我们只是把Context对象传递了过去,这个Context是Activity,通过Context获得WindowManager对象。从源码可以得出一个结论是,即使没

2013-12-02 18:39:08 3835 2

原创 Dialog的创建与显示过程

我们写应用程序的时候,有时候需要创建一个对话框,也就是Dialog,一般我们在程序里之间new一个Dialog,然后调用dialog的show方法显示处理,这个过程到底是怎样的呢?我们就从构造方法看起:注:源码是4.3_r2.1的。我们一般调用这个构造函数,然后调用重载的构造方法:接着继续调用重载的构造方法:默认createConte

2013-12-01 21:33:12 2987

原创 android中创建应用窗口

如前面的那篇帖子所述,每个应用窗口对应一个Activity,所以要创建应用窗口的话,首先要创建Activity。在Context与Activity的关系那篇帖子中也讲解了Activity的创建过程,我下面就直接上源码,直接加一些必要的注释,如果不明白的,可以自行查看源码,就不对每一句代码一一解释了。ps:技术能力有限,难免会有错误,敬请各位指正,感谢...大体步骤入

2013-11-30 20:29:51 2436

原创 Andriod中的Context理解与分析

大家在应用程序开发的时候会经常遇到Context,也经常使用,那怎么理解Context呢?在做Web开发的时候也会有一个Context,一般翻译“成上下文”,也就是代表整个程序运行的环境,直到进程结束之后。那么Android中的Context是不是这样的呢?Android中不是,Android中的Context可以理解成场景,场景是什么什么意思呢?如果把Android程序的

2013-11-15 15:13:47 4171 1

原创 Android进程通信Binder(2)-Android系统服务与Binder

当我们在编写咱们的应用程序的时候,有时候需要调用系统服务,做一些我们需要做的工作,比如调用输入法的服务,位置服务,Wifi服务等。首先大家要知道,这些服务不是通过startService()的方式启动的,是操作系统在开机的时候或者在需要的时候通过另一种方式启动的,后面的博客中国会讲到,也可以自行在网上查一下。    我们调用系统服务的时候试通过getSystemService(

2013-11-11 15:50:33 2779 1

原创 Android进程通信Binder(1)-Binder进程通信的思想

在android中Binder用于完成进程间通信,Binder工作在Linux层,属于一个驱动,只是这个驱动不需要硬件,其操作的硬件基于某一小端内存。从线程的角度来讲,Binder驱动代码运行在内核态,客户端程序调用Binder是通过系统调用完成的。Binder是一种架构,这种架构提供了服务端接口、Binder驱动、客户端接口三个模块。服务端:一个服务端实际上就是一个Binde

2013-11-11 11:18:35 3099

原创 Android异步消息处理

android异步消息 Handler Messagequeue Looper

2013-11-07 18:03:10 4120

原创 JNI调用机制

JNI android ndk

2013-11-05 12:59:24 8907 1

原创 android基于类装载器DexClassloader设计“插件框架”

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); useDexClassLoader2(); } @

2013-11-04 16:44:33 9920 4

原创 Android中的类装载器DexClassLoader

@SuppressLint("NewApi") private void useDexClassLoader(){ //创建一个意图,用来找到指定的apk Intent intent = new Intent("com.suchangli.android.plugin", null); //获得包管理器 PackageManager pm = getPack

2013-11-04 15:37:12 47092 7

转载 深入探索 Java 热部署

简介在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。对于某些大型的应用来说,每次的重启都需要花费大量的时间成本。虽然 osgi 架构的出现,让模块重启成为可能,但是如果模块之间有调用关系的话,这样的操作依然会让应用出现短暂的功能性休克。本文将探索如何在不破坏

2013-10-31 17:34:28 1403

转载 经典论文翻译导读之《Dremel: Interactive Analysis of WebScale Datasets》

Sina App Engine Blog无处不在 触手可及首页关于经典论文翻译导读之《Dremel: Interactive Analysis of WebScale Datasets》九月 26, 2013 by 遇见sharon[译者注]从头到尾读懂一篇国外经典技术论文!相信这是很多技术爱好者一直以来想干的

2013-10-31 16:35:37 2452

原创 二维码的生成细节和原理

下面这篇文章介绍了二维码的生成原理及具体的细节,都有举例说明,对基本了解原理的我们来说已经足够了,如果想深究其算法的话,正好作者也附上了一个关于二维码的定义文档,可以进行参考,博文作者所说,自己可以去实现二维码的生成与解析。本文作者:@左耳朵耗子   来源:酷壳————————————————二维码又称QR Code,QR全称Quick Response

2013-10-30 09:29:39 1566

原创 mongodb 的windows下的安装 eoe_blog_530826_author

(1)下载mongodb       去http://www.mongodb.org/下载合适的版本,windows下有32和64位的可选,现在已经更新的2.4.6了 (2)把下载的zip包解压到一个目录下面,我的解压到了F:\mongodb\中(3)安装默认情况下,mongodb会把数据库文件放在/data/db中,当我使用cmd.exe进入解压到的文件夹下 F:\mongo

2013-10-21 16:16:57 1439

转载 MotionEvent事件在onInterceptTouchEvent()、onTouchEvent()中的传递顺序

onInterceptTouchEvent()用于处理事件并改变事件的传递方向。处理事件这个不用说了,你在函数内部编写代码处理就可以了。而决定传递方向的是返回值,返回为false时事件会传递给子控件的onInterceptTouchEvent();返回值为true时事件会传递给当前控件的onTouchEvent(),而不在传递给子控件,这就是所谓的Intercept(截断)。onTouch

2013-09-21 18:53:20 1010

原创 如何在360短信拦截之前拦截短信

1.权限优先级设置到最大值,最大的整数值2.机启动service,开机就注册广播3.安装上自己的程序的时候,第一次启动程序把非己进程全部杀死如果自己的程序被360杀死之后怎么办?自动重启自己的程序,把360再杀死一次,哈哈,有点流氓了

2013-08-13 16:27:51 1430

原创 android 程序防止被360或者系统给kill掉

android程序防止被kill掉

2013-08-13 14:25:37 5056 9

原创 git仓库的组成

git仓库就是代码仓库的意思,不一定就存代码,就存放代码或者文件的地方。英文单词是Repository.git由什么对象组成的?git系统由三种对象组成,分别是(1)提交(commit)(2)树(tree)(3)原文(blob)根据三者之间的关系进行各个概念的讲解。先看一张图git的每一次提交是一个commit对象,这个对象中又包括这几个内容:tre

2013-06-27 16:30:15 5164

原创 andriod按键消息和触摸消息

用户消息是指经过消息处理前端把硬件物理消息转化成framework内部定义的统一格式后的消息。消息分为三类(1)按键消息(2)触摸消息(3)轨迹球消息由于轨迹球消息不常用或者根本就没用过,就不介绍了。一 按键消息  按键消息的实现类是android.view.KeyEvent,该类定义了按键消息包含的所有参数及参数获取接口。举例:1.返回按键动作:总共三个动作A

2013-06-26 19:39:40 1856

原创 android view系统整体介绍

android的view系统定义了从用户输入消息到消息处理的全过程。  比如,当用户通过触摸屏或者硬键盘等输入设备产生输入消息之后,该消息首先是被消息处理前端处理一下,转换为系统上层统一的消息值。举个例子,当我们按下返回键时(硬键盘),由于硬件的原因,不同的手机会有不同的值代表返回键,但是上层如何统一处理呢,就是前端处理一下(可能就是我们说的所谓的驱动来处理硬件消息),然后把处理的值发送给

2013-06-26 17:37:47 1341

转载 git学习资料

http://www.cnblogs.com/zhangjing230/archive/2012/05/09/2489745.html

2013-04-25 11:35:10 827

原创 android退出应用程序的江湖七招(升级版)

去年的时候总结过三种退出android程序的方式http://blog.csdn.net/com360/article/details/6663669,以前总结的不够好,也不够全面,今天晚上重新去总结一下退出android程序的方式,做为去年总结的升级,如果还有不全面的地方,还敬请各位朋友指正..如果想讨论更多内容请加入这个QQ群:200956440当应用不再使用时,通常需要关

2012-12-18 21:30:12 1825

原创 关于自定义组件-以apidemo中的LabelView进行讲解

对于自定义组件,可以有两种方式,一种是继承View,重写里面的onDraw()函数,或者继承ViewGroup或者子类,自定义组合类型的组件。下面以apidemo为例子进行讲解下面是代码,我又进行了重新注释,应该好懂点了1.对于构造函数,单个参数的构造函数是代码new的时候使用的,第二个构造函数是系统反射成对象用的,要想再xml中使用必须有两个参数的那个构造函数。2.request

2012-12-06 23:42:28 2033

转载 Android 动画框架详解,第 1 部分

http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt1/index.html?ca=drs-Android 平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果,本文将向读者阐述 Android 的动画框架是如何实现的。 任何一个框架都有其优势和局限性,只有明白了其实现原理,开发者才能知道哪些

2012-11-26 17:52:08 1201

原创 java程序员学C#基本语法两个小时搞定(对比学习)

对于学习一门新的语言,关键是学习新语言和以前掌握的语言的区别,但是也不要让以前语言的东西,固定了自己的思维模式,多看一下新的语言的编程思想。1.引包  using System;java用import2.构造函数和java语法相同3.析构函数  变量和类的对象都有生命周期,生命周期结束,这些变量和对象就要被撤销。  类的对象被撤销时,将自动调用析构函数。一些善后工作可放在析

2012-11-20 01:19:52 13208 2

原创 android ndk开发环境搭建(windows环境下)

这里讲解的是android ndk在windows下开发环境搭建的过程1.下载ndk和cygwin   ndk的下载地址:http://dl.google.com/android/ndk/android-ndk-r8b-windows.zip   当前更新到了r8b.  cygwin的下载地址:http://cygwin.com/setup.exe2.把ndk解压到一个磁盘里即

2012-11-13 16:53:03 17380 8

原创 dp、sp和px的区别

dp、sp和px的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原

2012-11-04 08:40:57 1072

原创 textview属性值

翻译来自互联网android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。android:bufferType指定getText()方式取得的文本类别。

2012-11-04 08:39:51 946

原创 android TraceView性能分析与性能优化

关于TraceView的性能分析的文章,我翻译自官网,翻译地址在eoe设局wiki上,网址:http://wiki.eoeandroid.com/Profiling_with_Traceview_and_dmtracedump关于性能优化,应该从以下基本的几点做起:1.避免创建不必要的对象,不要频繁的创建对象。    对于有些操作如果可以不用穿件对象就尽量不要创建,创建

2012-11-01 15:16:40 897

空空如也

空空如也

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

TA关注的人

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