android
Groople
专注技术分享
展开
-
Pixel 3 XL 刷入EdXposed框架
一、解锁OEM 1、打开设置-->关于手机,在版本号处连续点击7次,调出开发者选项。 2、打开设置-->系统-->高级-->开发者选项,打开USB调试开关和OEM解锁。 3、若OEM解锁开关无法点击,在通知栏中将USB连接模式由充电模式改为文件传输模式。 4、打开命令行工具,分两次输入以下两条指...原创 2020-04-21 15:12:37 · 3810 阅读 · 0 评论 -
7.0以上系统Charles无法抓取https接口的解决方案
现象 Android 7.0及以上系统在即使安装过证书的情况下,抓取https接口会出现:Client SSL handshake failed: An unknown issue occurred processing the certificate (certificate_unknown)问题,证书无效,导致https接口数据抓取失败问题。原因 在Andro...原创 2020-03-12 15:08:40 · 2908 阅读 · 8 评论 -
Andorid 多FileProvider问题
背景: 开发SDK过程中,为了兼容Android 7.0以上文件访问问题,引入了FileProvider,但业务方在使用SDK的过程中也引入了FileProvider,导致多个FileProvider共存时,打出的apk包Manifest中少了一个FileProvider或res/xml文件夹缺少xml文件的问题。 关于FileProvider的使用说明见:https://bl...原创 2019-10-21 21:53:49 · 869 阅读 · 0 评论 -
Android中的强引用、软引用、弱引用、虚引用
一、强引用Java中的引用,类似于C++的指针。通过引用,可以对堆中的对象进行操作。在某个函数中,当创建了一个对象,该对象被分配在堆中,通过这个对象的引用才能对这个对象进行操作。假设以上代码是在方法内运行的,那么局部变量str将被分配在栈空间上,而对象StringBuffer实例,被分配在堆空间中。局部变量str指向StringBuffer实例所在的堆空间,通过str可以操转载 2017-07-19 10:13:01 · 723 阅读 · 0 评论 -
每日一学(四) android Handler原理分析
我们平时写代码的过程中,经常会用到Handler去进行线程间的数据传递,尤其是UI线程的更新等等,但Handler是如何工作的呢?内部又是如何实现线程间的数据处理呢,此篇 博客就是要搞明白这个问题,也顺便记录一下,以作日后查阅。Handler用法 通常我们会在UI线程如Activity中这么使用Handler: Handler myHandler =原创 2017-06-12 22:18:17 · 251 阅读 · 0 评论 -
每日一学(三) android View绘制流程之onMeasure()分析
之前做自定义View的时候,知道需要重写onMeasure()、onLayout()、onDraw()方法,便是对于View的绘制流程一直不是很理解,这里有机会学习一下,与大家分享,有不对的地方,欢迎大家指出~一、android绘制view的过程简单描述 简单描述可以解释为:计算大小(measure),布局坐标计算(layout),绘制到屏幕(draw);原创 2017-06-11 16:07:44 · 349 阅读 · 0 评论 -
每日一学(二)刮刮卡效果实现
一、原理及分析 1、核心原理:xfermode xfermode是android绘图过程中用来处理两张图片叠加效果的,关于它的详细介绍请移步:http://blog.csdn.net/iispring/article/details/50472485 这篇博客里详细讲解了xfermode的实现原理、用法及使用过程中原创 2017-06-10 20:49:30 · 644 阅读 · 0 评论 -
每日一学(一)android图形验证码的实现
一、实现原理分析 本质上是一个自定义View,不过是一张带颜色的背景图 + 要绘制的验证码+横线+若干小点点 实现步骤: 1、绘制一个背景图 2、绘制随机产生的验证码 3、绘制随机产生的若干小点和横线(起干原创 2017-06-09 23:50:40 · 1721 阅读 · 0 评论 -
每日一学(十)Android动画---Frame动画
在之前的博客中我们已经介绍了Android动画的分类,并实现了Tween动画: android 动画设计概述: http://blog.csdn.net/u010838555/article/details/73468066 android 动画---Tween动画的xml实现:http://blog.csdn.net/原创 2017-06-20 10:13:46 · 374 阅读 · 0 评论 -
每日一学(九)Android动画---Tween动画的代码实现
在之前的博客中,我们已经知道了Android动画的分类,并用xml实现了android中的Tween动画: android 动画设计概述: http://blog.csdn.net/u010838555/article/details/73468066 android 动画---Tween动画的xml实现:http://blog.csdn.net/u010原创 2017-06-19 19:49:23 · 380 阅读 · 0 评论 -
一个错误日志记录工具类
package com.moxiu.downloader.util;/** * 当程序发生Uncaught异常的时候,有该类来接管程序,并记录错误日志 * Created by ZGP on 2017/7/25. */import android.annotation.SuppressLint;import android.content.Context;import andro原创 2017-07-27 17:27:53 · 988 阅读 · 0 评论 -
每日一学(十一)Android动画--属性动画基本用法
1、前言在之前的博客中我们已经介绍了Android动画的分类,并实现了Tween动画、Frame动画: android 动画设计概述: http://blog.csdn.net/u010838555/article/details/73468066 android 动画---Tween动画的xml实现:h转载 2017-07-27 18:14:10 · 579 阅读 · 0 评论 -
每日一学(十二)Android动画---属性动画(圆形菜单、扇形菜单)
在上篇文章中,我们已经介绍了属性动画的基本用法:http://blog.csdn.net/u010838555/article/details/76214821 这里做一个实例-----扇形菜单~ #1.我们首先要用到一个属性动画 以下是实现原创 2017-07-27 18:25:56 · 874 阅读 · 0 评论 -
Android Studio 基于NDK加密,防止反编译获取加密key
Android Studio 基于NDK加密,防止反编译获取加密key一、配置ndk路径(不会请自行百度)二、新建JniUtils类实现native方法1. JniUtils代码public class JniUtils{ public static native String getStringC(); public static nati转载 2018-01-02 21:11:00 · 1892 阅读 · 0 评论 -
贝塞尔曲线----原理以及在Android平台的实现
一、什么是贝塞尔曲线?贝塞尔曲线于 1962 年,由法国工程师皮埃尔·贝济埃(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线主要用于二维图形应用程序中的数学曲线,曲线由起始点,终止点(也称锚点)和控制点组成,通过调整控制点,通过一定方式绘制的贝塞尔曲线形状会发生变化。后面会具体介绍绘制的方法。在计算机图形学中贝赛尔曲线的运用很广泛,例如Pho...原创 2018-10-31 18:04:54 · 1489 阅读 · 0 评论 -
Day5.ViewStub的使用与理解
本篇博客主要解决以下问题: 1、ViewStub是什么?怎么用? 2、为什么ViewStub是懒加载的?它和把View设置为GONE有什么区别?一、ViewStub使用 先说一下ViewStub的应用场景及使用: 假如页面上有一个数据显示的View(contentView),还有一个针对异常处理的View(...原创 2019-03-14 00:46:13 · 228 阅读 · 0 评论 -
Day6.android layout_weight的用法?
weight代表权重,也就意味着使用layout_weight会根据控件设置的权重分配大小,它的计算公式为:# 实际尺寸: 子控件最终展示出来的尺寸# 当前尺寸: 子控件刚被放到布局中, 系统还没有解析其weight属性时的尺寸# weight比例: 子控件在所有有`layout_weight`属性的控件中所占的比例# (例: 三个子控件, 第一个...原创 2019-03-25 22:05:38 · 224 阅读 · 0 评论 -
Day7.android适配之px、pt、dp、dip、dpi、sp的意义及区别
px pixel,即像素,1px代表屏幕上的一个物理的像素点比如我们说的 1920x1080说的就是1920像素和1080像素。 dpi dots per inch,每英寸的像素数,也就是屏幕密度,它的计算公式是:,这里的长和宽指的是屏幕分辨率,比如一个1902x1080的5英寸手机,它的dpi就...原创 2019-03-31 16:26:05 · 598 阅读 · 0 评论 -
android Profiler 实战-----内存泄露的分析与定位
一、Profiler是什么? Memory Profiler是Android Profiler中的一个组件,是Android Studio3.0用来替换之前Android Monitor的观察工具,主要用来观察内存,网络,cpu温度。它能够让你识别出内存泄漏和内存抖动,导致应用卡顿,anr和crash. 它可以给你展示一个内存使用的真实图表,让你知道当时内存使用情况,还能强制内...原创 2019-07-19 17:44:10 · 22199 阅读 · 2 评论 -
android Profiler 实战-----CPU占用率分析
前期准备1、连接手机 在AndroidStudio右上角的导航栏中有一个图标可以快速启动Profiler(红框中的图标),点击后会启动app。 2、app启动后在AndroidStudio中会看到下面这张表格:CPU相关指标查看 点击右边CPU模块,可查CPU详细数据: 按图上的数字解释: 1、当前进程中的所有线程。...原创 2019-09-09 13:27:09 · 3819 阅读 · 0 评论 -
每日一学(八) Android动画---Tween动画的xml实现
这里主要记录一下Tween动画的原理及使用方法一、原理 关于android Tween动画的原理可参考这两篇博客: android动画模块 Tween 动画的实现原理: http://www.android100.net/html/201304/23/2262.html Android动画原理: http://b原创 2017-06-19 19:05:32 · 351 阅读 · 0 评论 -
每日一学(七)Android 动画设计概述
Android系统提供了很多丰富的API去实现UI的2D与3D动画,最主要的划分可以分为如下几类: 1、Tween动画,也叫补间动画、视图动画。 2、Frame动画,也叫逐帧动画。 3、属性动画。一、Tween动画 通过对View执行一系列简单变换来实现动画效果,它提供了4种动画效果: AlphaAnima原创 2017-06-19 16:38:43 · 669 阅读 · 0 评论 -
setScale,preScale和postScale的区别
下面是Matrix3*3的矩阵结构[java] view plaincopy1. {MSCALE_X,MSKEW_X,MTRANS_X, 2. MSKEW_Y,MSCALE_Y,MTRANS_Y, 3. MPERSP_0,MPERSP_1,MPERSP_2} 一、首先介绍Scale缩放的控制scale就是缩放,我们调用Matrix的setSc原创 2015-03-16 16:05:03 · 11186 阅读 · 3 评论 -
解决Android 4.4 系统图库选择图片问题
从图库选择图片的方式大家都不陌生: Intent intent = new Intent(Intent.ACTION_GET_CONTENT);//ACTION_OPEN_DOCUMENT intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("image/jpeg");原创 2015-01-24 15:41:02 · 1742 阅读 · 1 评论 -
Android Handler使用
Android Handler使用一、什么是Handler?Handler有什么用? Android中Handler是一个十分重要的东西,很多时候都需要用到Handler。为什么要用Handler呢?我们知道Android更新UIt的操作必须放到主线程中来进行,那么问题来了,假如你有现在需要下载一张图片并显示到Activity中,假如这张图片很大,需要下载很长时间。如果你原创 2014-12-30 19:39:14 · 566 阅读 · 0 评论 -
Android ListView Item与子控件焦点问题
经常会碰到ListView Item和子控件焦点冲突问题,查了很多资料后发现问题出在listview item的父容器布局中 android:descendantFocusability属性和子控件 android:focus属性的冲突android:descendantFocusability属性共有三个取值,分别为 beforeDescendants:v原创 2014-12-29 20:37:20 · 3090 阅读 · 1 评论 -
Android 使控件位于界面底部
Android 如何使控件位于界面底部 使控件位于界面底部有很多种办法,下面我就分情况说一下: 一、LinearLayout布局中: 把握三个原则即可轻松使控件位于界面底部: 1、最外层父容器LinearLayout设置高度 layout_height="match_parent" 2、 内层LinearLay原创 2014-12-29 18:47:46 · 16259 阅读 · 1 评论 -
Eclipse大项目运行典型问题
android大项目运行中出现问题汇总 Android 项目中,特别是当项目文件和规模达到一定的程度后,会引发一些平常不常见的问题。 下面对遇到的一些问题做一个汇总和总结。scenario 1: 在项目中,我们采用了chromimum内核 和 android4.4 的java层代码来实现自定义my_webview。 过程中编译生成android4.4的java的class原创 2014-11-25 08:17:11 · 1364 阅读 · 0 评论 -
ContentProvider与ContentResolver
android 没有一个可以将所有应用程序数据统一放置的地方,即两个应用程序间的数据不能共享。但ContentProvider与ContentResolver可以解决多应用程序数据共享。我们都知道在Android系统中,SQLite数据库的相关操作方式被封装为内容提供Content Provider一. 概述ContentProvider负责组织应用程序的数转载 2014-11-24 10:07:23 · 933 阅读 · 0 评论 -
Eclipse 环境变量配置(JDK和SDK)
若只是使用Eclipse编写Java程序,只需要配置JDK的环境变量即可:配置环境变量的前提是电脑中安装了 JDK,此处略去安装过程 1、我的电脑 ---->右键------->属性---->高级系统设置------>环境变量2、在系统变量中点击新建: 变量名:JAVA_HOME 变量值: 你的JDK安装路径(因人而异,我的是:D:\原创 2014-11-17 09:32:33 · 3201 阅读 · 0 评论 -
Eclipse更新的那点事
关于Eclipse插件更新的问题,一直重复不断,大部分原因是因为下载这些插件需要翻墙,依靠国内没有翻墙的网络去下载它的插件,98%的可能性是要失败的,今天给大家说一种比较简单可行的办法,先说说Eclipse更新插件的三种办法: 一、打开Eclipse,点击Help-->Install New Software... ,点击右侧的Add ,在弹出的对话框中输入插件保存的名字和下载的原创 2015-06-23 16:29:58 · 5125 阅读 · 0 评论 -
eclipse android 设置及修改生成apk的签名文件
android eclipse 设置及修改生成apk的签名文件 1、 问题: 平时在使用eclipse进行android project开发时,由于每个项目组都有自身的签名, 但默认Eclipse ADT调试运行使用的是临时生成的Debug专用证书,默认为C:\Users\XXX\.android\debug.keystore。 于是每andro转载 2015-08-10 10:30:15 · 763 阅读 · 0 评论 -
使用Eclipse搭建简易Android服务器
一直都想做一些自己的app奈何多数功能都需要借助于服务器才能实现,本想用第三方平台,细想之下毕竟不是长久之计。这里自己搭建一个Android简易服务器 这篇文章只是简单介绍下如何使用Java搭建Android服务器,刚学习不久,有不足之处欢迎指出,共同进步! 一、环境搭建 1、 所需软件列表原创 2015-07-31 12:14:49 · 11105 阅读 · 2 评论 -
Unity3d android 通信之数据传递
此篇博文解决的问题是: unity3d如何与android传递复杂数据,本文以图片传递为例,实现效果为,android传递给unity3d一张图片,unity3d在页面中绘制出这张图片。在上篇文章中(点这里),我们已经实现了unity3d读取android SD卡的文件,本篇博客在上次的基础上继续实现。 一、unity3d与android 能传递什么样的数原创 2017-05-05 16:46:46 · 8300 阅读 · 0 评论 -
Android 6.0 文件读写问题
此坑来自于Android 6.0 API更新带来的权限动态申请问题在项目开发中发现一个问题,6.0以后的手机无法创建文件夹,也无法写入文件。查了Android官网后发现https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html?hl=zh-cn6.0后应用需要权限时,必须在运行时动态向用户申请,而原创 2017-02-24 18:20:14 · 3853 阅读 · 0 评论 -
MIME类型汇总
类型/子类型 扩展名 application/envoy evy application/fractals fif application/futuresplash spl application/hta hta application/internet-property-stream acx application/mac-binhex40 hqx ap原创 2017-02-24 12:32:22 · 498 阅读 · 0 评论 -
Android 6.0 动态申请权限
Android 6.0 动态申请权限原创 2017-02-23 19:30:32 · 1096 阅读 · 0 评论 -
Android中的设计模式——观察者模式
先看下这个模式的定义。定义对象间的一种一对多的依赖关系,当一个对象的状态发送改变时,所有依赖于它的对象都能得到通知并被自动更新还是那句话,定义往往是抽象的,要深刻的理解定义,你需要自己动手实践一下。先来讲几个情景。情景1有一种短信服务,比如天气预报服务,一旦你订阅该服务,你只需按月付费,付完费后,每天一旦有天气信息更新,它就会及时向你发送原创 2016-08-31 11:50:34 · 433 阅读 · 0 评论 -
Android获取内外SD卡路径
外置sd卡路径,也许很多同学在平时的工作中并不会用到,因为现在很多机型都不支持外置sd卡(这也是Google目标),所以并不用考虑外置sd卡的路径问题。除了开发文件管理类的应用之外,其他应用使用 Enviroment 这个类中的一些静态方法就能满足需要。但也有一些特殊需求需要用到外置sd卡路径,那怎么才能准确获得外置sd卡的路径呢?方法一//内置sd卡路径String sdc原创 2016-06-29 15:38:33 · 11708 阅读 · 0 评论 -
Genymotion使用中碰到的问题总结
Genymotion是我最喜欢的一款Android模拟器,反应快、可联网、版本多、使用简单是其最大的亮点。对于我这种没有Android手机的人来说简直是福音啊有没有!换公司之后想在电脑上装下Genymotion使用,刚开始没有装成功,由于有很多工作要做,没来得及好好整理,就用了其它模拟器,用来用去觉得其它模拟器太不好用了,不是广告一堆就是各种不稳定,花了一些时间解决Genymotion安装过程中的原创 2016-03-28 18:44:55 · 3777 阅读 · 0 评论