- 博客(115)
- 资源 (16)
- 收藏
- 关注

原创 深入理解IntentService
一、 概论最近看了很多篇讲解IntentService的文章,大部分云里雾里或者没有从原理和源码方面去深入分析,只是简单地show了下使用方法,本篇文章会深入源码,作为自己对IntentService认识的总结。若有错误之处,请指出,多多交流。IntentService是特殊的Service,它继承了Service并且它是一个抽象类,因此必须要子类实现它的才能使用IntentService...
2018-07-21 17:56:21
1158

原创 Handler消息机制原理分析-Java层
**概论** Android APP开发中经常用到Handler发送消息进行处理,本篇文章从使用方法->源码分析的角度来分析Handler的消息处理机制,作为自己对Handler的总结性文章,以便日后查阅,有些图片来源于其他博主。本文内容若有不足或错误的地方,请指出,多多交流。...
2018-07-20 17:08:45
2810
原创 关于Android APK的编译破解攻防
http://blog.youkuaiyun.com/jiangwei0910410003/article/details/50083649
2015-11-30 15:04:30
1329
原创 Android 代码混淆
Eclipse中的代码混淆和Android源码环境下编译的混淆:http://www.cnblogs.com/ruiati/p/3548758.html 关于混淆代码时创建签名文件的步骤以及步骤中需要设置的属性:http://android.blog.51cto.com/268543/575153/Eclipse Proguard打包总结:http://blog.sina.com.cn/s
2015-04-17 16:32:40
1373
原创 报数问题
public static void fun(int n ,int m){ List arr = new ArrayList() ;for(int i=1 ;iarr.add(i) ;}int targetPeopleIndex = 0 ;while(arr.size() > 1){targetPeopleIndex = targetPeopleIndex + m -
2015-03-20 15:54:23
1128
原创 Android应用开发使用第三方字体
Android原生的字体可能不会让UI妹纸欢心,实在觉得它太丑了,于是乎UI妹纸就用了第三方字体作为APP的字体风格,这篇博客就是总结在Android应用开发中怎样使用第三方字体。 首先得有第三方字体库,这里的字体库文件是black_simplified.TTF,在Android Assert目录下新建front文件夹,并将字体库文件放在front目录下面,即/Assert/f
2015-01-22 11:20:54
6526
原创 android 软键盘弹出隐藏挤压界面等问题
Android中软键盘的使用是非常多的,下面为软键盘常用的设置;1、横屏时,点击输入框出现全键盘解决方案: 在EditText、searchview等控件中加 android:imeOptions="flagNoExtractUi" 2、竖屏时,安卓会出现半屏。 case1:你的输入框处于中下的位置,这样的话,键盘可能挡住输入框。 解决方法:在manifest中对activ
2015-01-13 16:39:38
4655
转载 浅谈android4.0开发之GridLayout布局
本文重点讲述了自android4.0版本后新增的GridLayout网格布局的一些基本内容,并在此基础上实现了一个简单的计算器布局框架。通过本文,您可以了解到一些android UI开发的新特性,并能够实现相关应用。 在android4.0版本之前,如果想要达到网格布局的效果,首先可以考虑使用最常见的LinearLayout布局,但是这样的排布会产生如下几点问题:
2014-12-29 18:03:07
1052
原创 Android获取存储空间的使用情况
android.os下的StatFs类主要用来获取文件系统的状态,能够获取sd卡的大小和剩余空间,获取系统内部空间也就是/system的大小和剩余空间等等。 看下读取sd卡的:Java代码void readSDCard() { String state = Environment.getExternalStorageState(); i
2014-12-26 10:25:07
3121
原创 Android adb 命令(附带"more than one device and emulator"错误)
常用的adb命令应该是用的比较熟悉了,如Adb shellAdb remountAdb devicesAdb installAdb uninstallAdb pullAdb push这些都是本地adb,那怎样通过网络接口连接另外一台设备呢?那这里就稍微总结一下网络adb方面的东西。Adb connect IP:Port 这个命令中IP表示目标设备的ip地址,
2014-11-07 13:22:31
6672
原创 针对PDF文件无法添加注释、附注、书签等功能的解决方法(已测试通过)
针对PDF文件无法添加注释、附注、书签等功能的解决方法(已测试通过)
2014-09-09 10:56:50
41384
4
原创 Android IPC的6种方式
Android中的跨进程通信大体有6中方式,1、Handler + Looper(子线程与UI线程之间的通信)2、Activity(显示启动和隐式启动)3、ContentProvider(数据存储和数据共享)4、BroadcasrReceiver(系统广播和自定义广播)5、Service(startService和bindService)6、aidl (跨进程间通信,使用b
2014-08-29 14:25:32
1512
原创 Android 启动Activity的方式
Activity的启动分为两种方式,显示方式和隐式方式,显示方式就是在通过intent启动Activity时指定了Activity的包名和类名,而隐式方式则在初始化Intent时只指定action或action和data属性。接下来将来总结显示启动和隐式启动的方式和注意事项。1、Activity的显示启动:通过包名来启动(不管是启动自己应用的Activity还是启动其他应用的Act
2014-08-22 16:57:53
4445
1
原创 Android Environment类的接口详解
Android应用开发中,常使用Environment类去获取外部存储目录,在访问外部存储之前一定要先判断外部存储是否已经是可使用(已挂载&可使用)状态,并且需要在AndroidManifest.xml文件中添加外部存储读和写的权限。Environment类中提供了几个静态常量用于标识外部存储的状态,这些状态都是String类型MEDIA_BAD_REMOVAL 在没有挂载前存储媒体已
2014-08-19 19:33:46
2565
原创 JNI常用函数
JNI常用函数请参见http://blog.youkuaiyun.com/qinjuning/article/details/7595104
2014-08-15 13:46:00
1082
原创 Android DiskLruCache完全解析,硬盘缓存的最佳方案
详情请见,郭大侠的博客。http://blog.youkuaiyun.com/guolin_blog/article/details/28863651
2014-08-14 17:07:29
927
原创 Andorid Async-HttpClient解读
Async-httpclient是一个用于Android应用程序开发的http访问开源框架,开源在GitHub上,由于今天在GitHub上没有看到下载地址,我这里提供一个下载地址,是之前从GitHub上下载的,版本是V1.4.5。GitHub上还是有很多开发人提供了http访问的封装类,但是个人觉得Async-httpclient写的很不错,所以就总结下该开源包中的代码结构和调用方式。Asyn
2014-08-12 10:41:04
1353
原创 Android 获取assets文件和raw文件
在建立项目中一般会默认建立assets文件,当然我们还可以在res文件下面建立raw文件夹,这里面都可以存放一些多媒体文件或者文本信息,可以供我们在程序中使用。 assets下面的文件不会被编译,通过路径可以去访问其中的内容。raw中文件会自动编译,我们可以在R.java文件中找到对应的ID。 其中比较重要的是获取Assets和Raw中的资源方法 (对于文件tes
2014-08-06 12:49:53
3253
转载 Android面试-基础知识
1. 下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 2. 下面异常是属于Runtime Exception 的是(abcd)(多选) A
2014-08-06 12:47:22
1741
转载 Java面试题-基础知识
1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称
2014-08-06 11:53:35
912
转载 Android面试题-基本用法
1、请解释下Android程序运行时权限与文件系统的权限的区别 运行时 Dalvik(Android授权) 文件系统 linux 内核授权2、系统上安装了多种的浏览器,是否能指定某个浏览器访问指定的页面 在android程序中我们可以通过显示intent来启动浏览器,前提是要知道浏览器的packagename 和要启动的activity通过修改intent.setCl
2014-08-06 11:40:10
942
转载 Android面试题-基本概念
1、Activity的生命周期 onCreate(Bundle saveInstanceState):创建activity时调用。 onStart():activity可见时调用 onResume():activity与用户交互时调用 onRestart():当一个activity再次启动之前调用该方法 onPause():当前暂停、或调
2014-08-06 11:36:38
885
原创 java基础-面试题
关于自加自减的题目int i = 1 ;int j = 10 ;while(i++ System.out.println("yes");}从题目来看主要是考查自加和自减操作符,首先来复习下自加自减操作符。i++ : 首先这个是一个表达式,这个表达式的值是i,执行完该表达式之后i的值为加1++i:这个表达式的值为i+1,执行完这个表达式
2014-08-06 09:05:30
953
转载 Android异步加载图片开源框架Universal-Image-Loader
2013年8月19日开源框架之Universal_Image_Loader学习很多人都在讨论如何让图片能在异步加载更加流畅,可以显示大量图片,在拖动ListView的时候不会出现卡的现象。关于ImageLoader这个开源框架的使用有很多网友都介绍过,不过还不够清楚,这里有一个关于这个开源项目的完美例子,ListView的图片加载、GridView的图片加载、ViewPager
2014-08-05 16:35:42
2718
1
原创 Android截图
Android中截图很好实现,从开发文档中,可以看到View有一个接口getDrawingCache(),这个接口可以获取View在调用这个接口时的位图图像Bitmap。截图是抓取View在某一个时刻的图像,包含了addView到这个View的所有子View的图像,比如在截取Activity时,图像是不会包含浮现在activity上方的对话框的下面的代码是截取图像并且经过http post
2014-08-01 17:19:35
1571
1
原创 Android JNI
Android APP中时常用到JNI(java本地调用),如果接触过反编译方面的知识,肯定会觉得Android APP是如此地透明。本文主要总结Android APP用JNI的两种方式,第一种就是在源码下编译源文件生成.so文件 ;第二种是Eclipse配置NDK,不管是哪种方式都有以下的步骤:1、编写包含native方法的java文件,native关键字申明的方法即是JNI方法。2
2014-06-30 20:05:04
1358
原创 3DES
3DES是继DES容易被破解后的DES加密升级版,它属于对称加密。可指定24位长度的密钥,在java API中也有其实现,代码如下:/** * 3DES 的Java SDK API 实现 * @author dxd * 201406917 */public class DES3 { private static final String Algorithm = "DESede";/
2014-06-17 10:16:26
1574
原创 MD5算法与校验
MD5是Message DigestAlgorithm MD5的缩写,中午名为消息摘要算法第5版。为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。算法的文件号为RFC1321。其实在生活中也广泛见识过MD5,下载一个文件时,当下载完成之后要进行MD5校验,校验的目的就是去检测下载的文件有没有被篡改,哪怕是动了一个bit位,下载文件的内容生成的MD5校验值跟原文生成的MD5校验值差
2014-06-17 10:02:23
5917
原创 Base64加密与解密
Base64加密方式是将原文经过简单的字符转换,转换成不容易被肉眼看出的字符编码,Base64加密常用在HTTP环境下传递较长的标识信息确保不破坏HTTP的请求格式,Base64的加密原理是将3个8位二进制转换为4个6位二进制,不足6位时高位补0 ,以确保其值为64个可能,这就是Base64来源。如下图就是Base64标准中的编码表。取个例子:需要加密的原文是“ABC”这三个字
2014-06-16 20:05:19
3182
原创 身份证分解验证
/** *(1)前1、2位数字表示:所在省份的代码; *(2)第3、4位数字表示:所在城市的代码; *(3)第5、6位数字表示:所在区县的代码; *(4)第7~14位数字表示:出生年、月、日; *(5)第15、16位数字表示:户口所在地派出所的代表号码; *(6)第17位数字表示性别:奇数表示男性,偶数表示女性; *(7)第18位数字是校检码:代表个人信息,
2014-06-13 13:42:46
1555
Android应用开发中使用第三方字体
2015-01-22
Android局域网UDP通信模型
2014-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人