![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 60
祥云湾
成为一个很厉害的人---三流程序员的奋斗目标!
展开
-
Rxjava3 创建Obervable被观察者 的相关操作符
1、create /** * creat是一个比较原始的创建Obserable的操作符 */ private static void test01(){ //正常调用形式// Observable.create(new ObservableOnSubscribe<String>() {// @Override// public void subscribe(@NonNull Obs原创 2020-10-28 09:40:32 · 477 阅读 · 1 评论 -
Android AES加密解密
定义AES工具类public class AES { /** * AES加密 * @param seed 为密钥 * @param cleartext 需要加密的内容 * @return * @throws Exception */ public static String encrypt(String seed,原创 2017-02-22 17:14:46 · 327 阅读 · 0 评论 -
Android DES加密解密
public class DES { //初始化向量,随意填充 private static byte[] iv = {1,2,3,4,5,6,7,8}; /** * DES加密 * @param encryptString 为原文 * @param encryptKey 为密钥 * @return * @throws Ex原创 2017-02-22 17:12:12 · 369 阅读 · 0 评论 -
Android MD5加密
/** * 文件名称统一为16位MD5保存和查询 * * @param s * @return */ private static String strToMD5(String s) { char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6',原创 2017-02-22 17:20:56 · 677 阅读 · 0 评论 -
Android 加密解密-开篇
Android中的加密解密分为基于Java和基于C/C++两类,几乎C/C++有的加密算法在Java中都实现了。加密算法大多是公开的,Java反编译也无所谓,可能做成C/C++会更高效一些。出于各种考虑将算法做成C/C++可能会更安全一些。在以后JNI调用部分,会更新相关C/C++加密算法。本篇是对Android中主要的加密方法的总结,之后篇幅中会结合代码详细介绍加密算法。对每个算法代码,我都会实原创 2017-02-22 17:11:02 · 588 阅读 · 0 评论 -
Android 主要涉及的安全问题调研
Android主要涉及的安全问题,与Android的系统架构相对应,如图:应用层涉及代码的安全与接入权限;应用框架层涉及数字证书问题;Android系统库与运行时一层主要涉及网络安全、数据库安全、虚拟机安全;Linux内核层涉及文件的访问控制;其中Android最重要的安全涉及虚拟机的沙箱和权限。1、代码安全因为Android的源代码源于Java,Java有易于反编译的隐患。为原创 2017-02-22 12:01:56 · 640 阅读 · 0 评论 -
图片压缩到指定尺寸和大小
第一步:/** * 对上次的图片进行压缩,压缩在100kb以内 * * @param image * @return */ private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new Byt原创 2017-02-22 22:46:52 · 2765 阅读 · 0 评论 -
Android studio 设置豆绿色
1、设置编辑部分的背景颜色2、设置console的背景颜色原创 2017-02-24 00:15:27 · 1172 阅读 · 0 评论 -
Android计算屏幕宽高
/** * 屏幕的宽度 */private int mScreenWitdh;// 获得屏幕宽度WindowManager wm = (WindowManager) mContext .getSystemService(Context.WINDOW_SERVICE);DisplayMetrics outMetrics = new DisplayMe原创 2017-02-15 22:23:11 · 330 阅读 · 0 评论 -
Android颜色配置定义大全
#FFFFF0#FFFFE0#FFFF00#FFFAFA#FFFAF0#FFFACD#FFF8DC#FFF5EE#FFF0F5#FFEFD5#FFEBCD#FFE4E1#FFE4C4#FFE4B5#FFDEAD#FFDAB9#FFD700#FFC0CB#FFB6C1#FFA500#FFA07A#FF8C00#F原创 2017-02-15 22:24:57 · 417 阅读 · 0 评论 -
根据Scrollview滑动情况,设置控件透明度
mScrollView.setOnScrollCallBack(new ScrollViewCallBack() { @Override public void onScrollChanged(int to) { refreshTitleTip(to); }});private void refreshTitleTip(int scrollY) {原创 2017-02-15 22:26:26 · 1560 阅读 · 0 评论 -
如何监控一个Activity加载完毕(完成渲染)-onWindowFocusChanged
onWindowFocusChanged通过这个事件可以实现当一个Activity完全加载完毕后,然后就执行。@Overridepublic void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { if (mPWW原创 2017-02-15 22:33:29 · 434 阅读 · 0 评论 -
查看签名指纹MD5和SHA1值(应用签名)
AndroidStudio中自带了终端Terminal,我们可以直接在里面进行操作。如下图:在这里首先我们得进入到C盘的,用户的.android路径下。其它操作同第一个种方法一样,如下:当然在这里我们只是获取的调试用的MD5和SHA1!获取apk中的MD5和SHA1,前提是你知道密匙:1.首先先解压apk,获取到其中的META-INF文件夹底原创 2017-03-07 10:29:46 · 3200 阅读 · 0 评论 -
Android编译时间优化
Android编译时间优化原创 2017-05-24 16:18:27 · 2672 阅读 · 0 评论 -
android压力测试命令monkey详解
一、Monkey 是什么?Monkey 就是SDK中附带的一个工具。二、Monkey 测试的目的?:该工具用于进行压力测试。 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出现的问题。三、Monkey 测试的特点?Monkey 测试,所有的事件都是随机产生的,不带任何人的主观性。四、Monkey 命令详解1).标准的monkey原创 2017-05-11 16:59:19 · 5313 阅读 · 1 评论 -
超级文件缓存类
超级文件缓存类原创 2017-02-21 20:39:43 · 566 阅读 · 0 评论 -
自定义控件探究
从今天开始每天会分享一些自定义控件编程相关内容。自定义控件研发算是Android研发中的一颗明珠。每每Android推出漂亮功能的时候,都是某位代码工匠精心雕琢的硕果。研究他们的实现原理,相关技巧,有助于我们开发更好Android功能。常言道:熟读唐诗三百首,不会作诗也会吟。好,今天我们先研究一个比较经典的,经常会碰到,但是又觉得实现起来有一定难度的“雷达波纹”效果。原创 2016-06-08 18:23:00 · 341 阅读 · 0 评论 -
APK动态加载框架DL库分析
APK动态加载框架知识点拓展: Android中插件开发篇之----应用换肤原理解析http://blog.csdn.net/jiangwei0910410003/article/details/47679843 知识点拓展: [Android]获取未安装的APK图标(原创非转帖)http://blog.csdn.net/sodino/article/details/6原创 2016-05-19 10:01:34 · 2087 阅读 · 0 评论 -
Android 自定义控件实现分析
Android 自定义控件实现分析原创 2016-05-20 14:10:28 · 317 阅读 · 0 评论 -
Android 6.0: 动态权限管理的解决方案
Android精品源码封面图:Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用户体验, 同时也为程序员带来新的负担. 动态权限管理就是这样, 一方面让用户更加容易的控制自己的隐私, 一方面需要重新适配应用权限. 时代总是不断发展, 程序总是以人为本, 让我们为应用添加动态权限管理吧! 这里提供了一个非常转载 2016-05-20 14:23:02 · 862 阅读 · 0 评论 -
Android Studio 导入 SO 文件方法示例
1、根目录中建立libs 目录(如果有直接拷贝),将不同 arm 版本的 libdu.so 文件分别拷贝到对应版本目录下:2、编写 build.gradle 文件,在 build.gradle 文件中添加标红的段落 :}task nativeLibsToJar(type: Zip, description: "create a jar archive of the nat原创 2017-02-16 17:35:09 · 835 阅读 · 0 评论 -
Activity Window 和View之间的关系
Activity Window 和View在Android中有显示交互的共同特性。他们之间有怎样的关系呢?我们从三者的创建和触摸、点击事件的分发相应两个方面做一个深入的分析。原创 2017-02-16 14:51:27 · 470 阅读 · 0 评论 -
浮动小插件效果
1、开启一个后台服务,保证app退出界面后,app依然活着public class MserServes extends Service { //服务 //这个类纯蛋疼用 只是为了在activity点击button后 在开启一个service @Override public IBinder onBind(Intent intent) { //原创 2017-02-17 11:10:00 · 703 阅读 · 0 评论 -
根据Scrollview滑动情况,设置控件透明度
mScrollView.setOnScrollCallBack(new ScrollViewCallBack() { @Override public void onScrollChanged(int to) { refreshTitleTip(to); }});private void refreshTitleTip(int scrollY) {原创 2017-02-17 11:12:05 · 532 阅读 · 0 评论 -
添加手机顶部状态栏TitleBar,根据不同手机计算相应高度
添加手机顶部TitleBar,根据不同手机计算相应高度第一步:跟布局顶部添加视图View<View android:id="@+id/view_statusbar" android:layout_width="match_parent" android:layout_height="24dp" android:background="@color/col原创 2017-02-17 11:18:13 · 1461 阅读 · 0 评论 -
Android模拟发送点击的两种方式
在Android中模拟一个点击事件有两种方式是通过模拟MotionEvent来实现;一种是通过ADB来实现。第一种:模拟MotionEventprivate void setSimulateClick(View view, float x, float y) { long downTime = SystemClock.uptimeMillis(); final MotionEv原创 2017-02-17 11:23:26 · 2801 阅读 · 0 评论 -
Android系统设置大号字体后布局错乱的问题
从android4.0起“系统设置”的“显示”提供设置字体大小的选项。这个设置会影响到所有以sp为单位的字体适配,所以很多app在设置了系统字体后会变得面目全非。那么应该怎么解决这个问题呢?想要解决这个问题,首先我们要找到这个问题的原因。在Android手机上调整字体的显示大小后,安卓手机中Configuration的fontScale的值会随之更改,正常情况下此值为1.0,修改字体大小后原创 2017-02-17 11:25:28 · 989 阅读 · 0 评论 -
确保关键代码的运行
WakeLock机制:Android为了确保应用程序中关键代码的正确执行,提供了Wake Lock的API,使得应用程序有权限通过代码阻止AP进入休眠状态。 WakeLock阻止应用处理器(Application Processor)挂起,确保关键代码的运行,通过中断唤起应用处理器private static WakeLock wakeLock = null;wakeL原创 2017-02-17 11:27:01 · 552 阅读 · 0 评论 -
invalidate和postInvalidate 的区别及使用
android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。 Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。原创 2017-02-17 11:28:26 · 459 阅读 · 0 评论 -
Android Handler和他的小伙伴们,消息机制详解
Handler一直是面试很热的话题,最近又看了好多文章,下面结合源码来总结一下。Handler 是Android 消息机制的上层接口,Handler的运行需要底层的MessageQueue和Looper的支撑,他们是Handler的好基友。Handler的运行机制也就是Android的消息机制。我们都知道Handler是用来更新UI的,其实更新UI只是开发者最常用的场景。概括来讲:有时候需原创 2016-05-16 23:41:44 · 1996 阅读 · 0 评论 -
Android http网络请求框架搭建
android上网络请求大致分为使用socket和http,普通应用大多使用http或者https,今天主要介绍http,实现目标通过使用http搭建一套简单的Android网络请求框架。待续。。。原创 2016-05-23 11:19:44 · 1835 阅读 · 0 评论