自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

5ingwings(SiHao)的博客

道阻且长,且行将至

原创 数字图像水印处理

java实现简单的数字图像水印处理一、需求说明 用java设计一个处理数字图像水印的系统,该系统可以实现打开图片,添加可见水印,添加不可见水印,识别水印,提取可见水印,提取不可见水印,保存图片等功能。 这里的水印识别只能识别自己添加的水印二、技术准备 图像处理,数字水印技术三、代码实现 参...

2020-05-03 20:42:08 6080 8

原创 云计算、云服务器、云数据库和云存储基本介绍

云计算 是什么: 云计算即分布式计算 通过使用更高性能的机器 更多的机器 来达到相关服务的计算 云计算产品分类: 如建立一个网站:要搞服务器 安装服务器软件 以及编写程序 Iaas(架构即服务) 不用自己搞服务器 计算基础设施的利用,包括CPU、内存、存储、网络和其它基本的计算资源,用户能够在之...

2020-03-28 21:18:13 3508 0

原创 Webview和js与native互调

Webview 前端相关知识: 同源策略: 当域名和端口名相同则称为同源 XMLHttpRequest 对象 可以在页面加载后与服务器进行收发包 可以只更新局部界面 跨域: 浏览器的同源策略导致了跨域 在浏览器中 不同来源的网站是不能相互访问 避免被随意修改内容 HTML 标签语言 用于设计网页的...

2020-03-28 21:12:12 3409 0

原创 Accessibility Service介绍与使用

Accessibility Service介绍与使用 Android系统提供的辅助功能,旨在帮助身体不便或操作不灵活的人辅助使用手机应用 一般在手机中 叫 无障碍模式 当然 也可以用于一些其他事情 如 自动抢红包 静默安装apk 自动点击弹框等 需要用户主动打开无障碍模式,并且打开所需的特定的无...

2019-01-26 14:09:36 5066 0

原创 Visual Studio 常见问题

Visual Studio 常见问题 1 打开了sln解决方案 但是没有.h .cpp文件 只有类文件 如图: 解决: 视图问题 当前是在 类视图 点击 “视图”->“资源文件管理器” 就可以切换到 带有 头文件 资源文件...

2018-10-31 15:12:05 213 0

原创 反编译工具及使用

反编译工具及使用 反编译大致流程: 对Dex文件(Davilk虚拟机的可执行文件)进行反编译成 Smali (Davilk的寄存器语言) 再转化为 .class文件 主要工具: 1 apktool 下载使用见 https://ibotpeaches.github.io/Apkto...

2018-09-10 22:52:13 3516 0

原创 Android屏幕常亮防息屏

Android屏幕常亮防息屏 PowerManager 主要是用来控制电源状态的. 通过使用该类提供的api可以控制电池的待机时间 尽可能的使用最低级别的WakeLocks锁,并且确保使用完后释放它 使用 WakeLock得加 权限 <uses-permission...

2018-09-10 22:48:00 2879 0

原创 java、kotlin反射

java、kotlin反射 反射机制 原理:JVM会持有加载的类的对象 反射就是去 获取指定的class对象 用该对象进行 属性 方法的获取 和 调用 作用:通过反射,可以在运行时获取一个类的所有方法和变量(包括私有) 可以动态地创建对象并调用其属性 破坏封装性? 封装,是将具体的实现...

2018-09-10 22:21:57 3888 0

原创 性能优化之内存优化和内存泄露排查

Android性能优化之内存优化 计算 APP 获得的最大内存分配值 Runtime rt=Runtime.getRuntime(); long maxMemory=rt.maxMemory(); Log.i("maxMemory:&a...

2018-09-10 21:27:00 3466 0

原创 AudioManager(获取麦克风录音流)

AudioManager public AudioDeviceInfo [] getDevices(int flags) flags: GET_DEVICES_ALL 3 GET_DEVICES_INPUTS 1 GET_DEVICES_OUTPUTS 2 Aud...

2018-09-10 21:24:10 1988 0

原创 Android-APK体积优化与dex方法数超出解决

一、Android APK体积优化 1 开启混淆 则可以去除一些不需要的文件 minifyEnabled 开启混淆 shrinkResources 删除无效的Resource shrinkResources依赖于minifyEnabled,必须和minifyEnabled一起用 2 图片...

2018-09-10 21:15:25 665 0

原创 Android执行命令行命令(获取系统Logcat)

Android执行命令行命令 一、通过ProcessBuilder 1 String[] args = {"pm", "install", "-r", filePath}; 2 ...

2018-09-10 21:03:45 2702 0

原创 Android盒子开发

Android盒子开发 一、盒子重启 需要root权限 1 加权限: <uses-permission android:name="android.permission.REBOOT" tools:ignore="Pr...

2018-09-10 20:44:36 3833 0

原创 jar、aar、sdk打包以及app module生成 Library Module

jar、aar、sdk打包以及app module生成 Library Module 打包jar: 1 将要打成jar包的 module 设置为 android-library模式 2 在主module中 用compile project(‘:要打成jar包的 module’) 3 你编译...

2018-09-10 20:43:13 3560 0

原创 获取View的Bitmap以及ViewPager使用

获取View的视图几种方法: 保存一个父布局 则 他的子控件 子View也是会显示的 一、创建一个新的空Bitmap,然后再根据它来创建一个Canvas,最后调用View的draw方法将View画到Canvas上 public Bitmap createViewBitmap(V...

2018-06-30 17:41:56 540 0

原创 性能优化之UI卡顿排查与解决

性能优化之过度绘制 过度绘制监测: 打开开发者选项的 显示过度绘制 原色:没有过度绘制 蓝色:1 次过度绘制 绿色:2 次过度绘制 粉色:3 次过度绘制 红色:4 次及以上过度绘制 优化策略: 1 若你的界面有自己的背景覆盖了全屏,则可以去除Activity自带的背景色 ...

2018-06-27 00:53:00 4199 0

原创 Android进程与进程保活(涉及Notification)以及app crash表现

Android进程与进程保活 由于内存限制,android系统会在内存不足时回收进程, * 一、进程回收顺序:* 优先级:前台进程>可视进程>服务进程>后...

2018-04-22 19:06:22 5357 0

原创 build.gradle结构分析与常见gradle命令

module-build.gradle结构分析与相关使用介绍 gradle基本结构: apply plugin: 'com.android.application' android { // 编译版本 compileSdkVersion ...

2018-04-18 00:05:27 4540 0

原创 Android 自定义属性,自定义控件、自定义View以及View的常见Error

Android 自定义属性,自定义控件、自定义View 自定义属性 1 要使用 系统的属性 可以使用所继承的控件的属性 如继承的TextView 或者 View 则相关的属性都可以不用声明直接使用 2 否则 要styleable中定义 &am...

2018-04-14 13:24:01 4250 0

原创 Android动画

Android动画 主要有 帧动画,补间动画,和属性动画。当然也可以自定义动画 帧动画 drawable中创建 xml文件 用 < animation-list 标签 设置图片组 <?xml version="1.0" enc...

2018-04-11 15:51:02 3830 0

原创 运动轨迹预处理

运动轨迹预处理相关名词: Trajectory preprocessing 轨迹预处理 time stamp 时间戳 sampled/sampling 采样 figure 1 图1 policy 策略 threshold 阈值该处理方式是建立在已有的硬件设备、服务的基础上的,如G...

2018-04-11 13:47:32 9927 0

原创 常见加密解密和URL编解码

MD5Message Digest algorithm 5非对称加密,不可逆(因为会将原文部分信息丢失),长度固定 哈希算法的一种加密工具类public class MD5 { public static String md5(String content) { byte...

2018-04-02 14:14:48 4163 0

原创 Android性能优化之图片压缩处理

Android性能优化之图片压缩处理相关概念:* 图片压缩种类*1 质量压缩 改变图片的呈现质量,降低清晰度2 尺寸压缩 改变图片的尺寸达到压缩的目的* 色位深度* ALPHA_8: 只含透明值的 8位存储 RGB_565: 不保存透明值,其中红色通道为5位,绿色通道为6位,蓝色通道为5...

2018-04-01 14:18:36 5502 0

原创 Android上架相关(代码混淆和反编译工具的使用,签名,打包,加固)

Android上架相关(代码混淆和反编译工具的使用,签名,打包,加固) 步骤:混淆 ,签名,打包(多渠道打包) ,加固 二次打包 :也就是 将已经打包的apk再次打包 生成 山寨版的 apk 对抗重打包:通过 判断 签名的密钥和 当前app的 签名密钥是否相同 若不相同则退出等操作 多渠...

2018-03-24 19:25:27 4052 0

原创 Android结束APP进程以及判断进程是否存在

Android结束APP进程以及判断进程是否存在 1 androidstudio 的 stop app 是结束 app 下次启动 会从头启动 2 通过 DDMS 结束进程 tools->android device monitor 等十几秒,弹出新对话框,然后左上角可以看...

2018-03-24 18:13:38 7270 0

原创 Retrofit2.0(三)封装:如超时设置,加请求头,加公共请求参数,加拦截器等

Retrofit2.0(三)封装:如超时设置,加请求头,加公共请求参数,加拦截器等 Retrofit2.0基本使用参考: Retrofit2.0(一)retrofit基本使用讲解和Converter转换器使用 通过 OkHttpClient.Builder 实现相关设置: Ok...

2018-03-09 12:23:43 4425 0

原创 Retrofit2.0(二)结合Rxjava2使用

Retrofit2.0(二)结合Rxjava2使用 Rxjava2 学习参考: http://blog.csdn.net/weixin_37577039/article/details/78555208 Retrofit2 学习参考: http://blog.csdn.net/weix...

2018-03-09 11:45:51 789 0

原创 极光推送配置和使用

极光平台流程: 客户端集成 极光推送,然后在软件启动的时候,获取RID(也可以自定义别名和标签) 然后上传值给服务器,当触发了某个事件时,进行网络请求,服务器端接收到会通过极光推送,发送推送(给不同标签组)。客户端再去根据不同的需求去接受数据,处理数据appkey是可以对应 android和苹果...

2018-03-02 15:12:04 8079 0

原创 HashMap使用和原理分析(以及HashMap内存优化)

HashMap使用和原理分析(以及内存优化) HashMap:通过链地址法存放键值对的一种数据结构 链地址法:(开散列方法):设散列表地址空间的位置从0~m-1,则通过对所有的Key用散列函数计算出存放的位置,具有相同地址的关键码归于一个子集合(桶),采用链表的方式链接起来(链接头)。 ...

2018-03-01 12:32:07 4913 0

原创 Android高德地图获取当前地理位置(不显示地图只获取当前位置)

Android高德地图获取当前地理位置(不显示地图只获取当前位置) 一、集成和权限配置 参考:http://blog.csdn.net/weixin_37577039/article/details/79177131 二、 //声明AMapLocationClient类对象 ...

2018-02-26 21:05:19 10062 1

原创 RecyclerView使用(六)结合PopWindow呈现

RecyclerView使用(六)结合PopWindow呈现PopWindow使用参考: http://blog.csdn.net/weixin_37577039/article/details/79369614 RecyclerView使用参考:http://blog.csdn.net/we...

2018-02-25 16:29:56 1948 0

原创 PopWindow基本使用

PopWindow基本使用 PopWindow,类似Dialog 也是可以设置自定义view,设置窗体大小和位置 网上很多人说 PopWindow是阻塞线程的 而 AlertDialog是非阻塞线程的,其实我觉得不太对。 PopWindow和AlertDialog应该都不会阻塞线程的,至于他...

2018-02-25 16:21:49 4249 0

原创 RecyclerView使用(五)——结合Editext进行关键词搜索呈现

一、在原List数据中,加一个副List数据 public ArrayList<Integer> customerID = new ArrayList<>(); public ArrayList<Integer> customerID2 = new ...

2018-02-24 23:24:59 588 0

原创 Android M(6.0)以上权限获取和处理

Android M(6.0)以上权限获取和处理 这里以获取通讯录为例子 一、AndroidManifest中权限配置 也是需要在AndroidManifest 配置权限 &amp;amp;amp;amp;amp;amp;amp;lt;!-- 允许程序读取通讯录权限 --...

2018-02-07 20:05:52 662 0

原创 Android打开通讯录并获取数据

Android打开通讯录并获取数据一、AndroidManifest中权限配置<!-- 允许程序读取通讯录权限 --> <uses-permission android:name="android.permission.READ_CONTACTS"/&...

2018-02-07 20:00:24 5223 2

原创 RecyclerView的使用(四)——Item内部控件的点击事件

RecyclerView的使用(四)——Item内部控件的点击事件有时 我们不仅需要Item的点击事件 我们还需要Item内部的某个控件的点击事件实现:一、 创建item内部点击接口/** * Created by SiHao on 2018/2/6. * item内部的删除监听接口 */p...

2018-02-06 18:22:59 2638 1

原创 Android Uri,Path与File、Bitmap的相互转换(新)

Android Uri,Path与File的相互转换(新) 一、path-&gt;file File file = new File(path); 二、 file-&gt;path String path = file.getPath(); 注意U...

2018-02-02 19:19:03 20712 7

原创 Android下拉刷新和上拉加载更多

Android下拉刷新和上拉加载更多 下拉刷新 通过android系统提供的组件:SwipeRefreshLayout 一、基本使用 1 xml中 添加 SwipeRefreshLayout 组件 该组件包含着要操作下拉刷新的控件 如ListView RecyclerView ...

2018-01-31 11:06:29 21534 4

原创 Android裁剪图片(UCrop)使用说明

Android裁剪图片(UCrop)使用说明Android如何打开拍照 打开系统相册参考: http://blog.csdn.net/weixin_37577039/article/details/79186183使用的是UCrop的一个开源库 参考地址:https://github.com/...

2018-01-28 15:02:13 6782 0

原创 Android调用系统的拍照,打开相册功能

Android调用系统的拍照,打开相册功能 1 添加权限: uses-permission android:name="android.permission. WRITE_EXTERNAL_STORAGE" /> uses-permission an...

2018-01-28 13:27:38 26766 10

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