android
dhd040805
这个作者很懒,什么都没留下…
展开
-
隐私协议
本软件尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本软件会按照本隐私权政策的规定使用和披露您的个人信息。但本软件将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在征得您的同意前,本软件不会将这些信息向其他人或向第三方提供。本软件会不定时更新本隐私权政策。您在同意本软件服务使用协议之时,即表示您已经同意本隐私权政策的全部内容。本隐私权政策属于本软件服务使用协议不可分割的一部分。一.适用范围1、在您使用本软件网络服务时,本软件只会接收您提交的信息,不会记录您原创 2021-04-08 20:26:39 · 202 阅读 · 0 评论 -
Android原生奇门遁甲排盘代码
奇门遁甲,风水八字等自动排盘具体的逻辑主要是公历转为中国传统的农历/** * @param rgz 日干 * @param curtime 时间 * @return */public static List<Object> getPanInfo(long curtime, String rgz) {原创 2021-03-04 11:10:08 · 3453 阅读 · 4 评论 -
Edxposed安装和xposed框架在Android 8.0以上手机使用最全攻略
d在网上,关于Xposed模块编写的博客文章可谓是一抓一大把。但由于时间的推移,很多工具和方法都发生了变化,也正因此,网上的文章往往有一些时限性,比如现如今 provide 这个关键字已经被舍弃了却仍有人在用,还有些说要把jar包放到lib文件夹而非libs文件夹。。。我当前使用的AndroidStuido版本为Magisk与EdXposed框架安装由于现在Android新版本的普及,新上市的手机基本都是8.0以上了。所以以前的Xposed框架已经不适用。EdXposed团队成为了后续版本研原创 2021-01-15 17:50:28 · 15210 阅读 · 2 评论 -
关于系统文件管理 配置xml_path的知识
<files-path name="name" path="path" /> 物理路径相当于Context.getFilesDir() + /path/ <cache-path name="name" path="path" /> 物理路径相当于Context.getCacheDir() + /path/ <external-path name="name" path="path" /> 物理路径相当于Environment.getExternalStorage.原创 2020-05-27 17:49:21 · 452 阅读 · 0 评论 -
kotlin学习网站
Kotlin视频学习01-课程介绍http://www.365yg.com/item/6445599306496868878/02_kotlin学习方法http://www.365yg.com/item/6445599300020863502/03_kotlin选好教练车http://www.365yg.com/item/6445599302214484494/04_kotl...原创 2020-04-11 15:18:27 · 191 阅读 · 0 评论 -
常见技术面试题
https://zhuanlan.zhihu.com/p/102193331Flutter这么火,2020跳槽都要准备哪些面试题?https://www.jianshu.com/p/77552f36fcc6Flutter 三棵树https://blog.csdn.net/zhwadezh/article/details/79310119Binder机制的原理...原创 2020-04-11 15:16:22 · 259 阅读 · 0 评论 -
Error:(29, 13) Failed to resolve: com.android.support:appcompat-v7:26.1.0
从api 26开始,support libraries 需要从google的maven仓库下载,所以需要在project的build.gradle中allprojects 添加如下配置即可maven { url "https://maven.google.com" }原创 2018-07-30 13:14:57 · 646 阅读 · 0 评论 -
React-native初次运行红屏问题
每次阅读源码或者使用新的第三方SDK的时候,总想爆一句The fucking code or The fucking document ~~真实坑多!这里稍微总结一下自己集成RN的一些经验其实集成react-native按照文档来环境肯定没问题中文文档地址:https://reactnative.cn/docs/getting-started.html英文文档地址:https://...原创 2018-07-31 14:02:09 · 4321 阅读 · 0 评论 -
Conflict with dependency 'com.google.code.findbugs:jsr305' 解决方法
在集成React Native的时候遇到这个错误,解决办法是在app的gradle页面的android花括号中增加如下代码configurations.all { resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'} ...原创 2018-07-30 12:11:58 · 240 阅读 · 0 评论 -
If you trust this host, enter "y" to add the key to
在首次安装Sourcetree的时候,如果项目托管的服务器有SSH权限校验的话,会报这个错误If you trust this host, enter "y" to add the key to解决办法是在git的命令行窗口输入以下命令ssh-keygen -C "xxxxx你的账户" -t rsa然后会生成一个pub的公钥文件,和一个私钥文件生成好以后,把公钥发给管理员...原创 2018-07-25 13:44:49 · 6398 阅读 · 0 评论 -
Flutter新手入门
在谷歌五月份IO大会重申Flutter后,这个插件就变得越来越火了,那我们也来看看这个到底怎么使用首先打开Flutter的github地址然按照步骤操作就可以,且看我截图说明第一步点击install第二步按照自己电脑系统来选择安装哪个第三步按照文档的意思是要clone这个flutter项目,但是如果安装了androstudio的就不用这么麻烦了直接按照图示打开,然后先安装dart插件,安装好了再搜...原创 2018-07-05 10:41:21 · 947 阅读 · 0 评论 -
友盟推送android 8.0系统不显示推送消息问题
android各版本对应的api情况,而android8.0以及之后的版本,notifycation为了更安全,又增加了channel的写法,代码如下if (Build.VERSION.SDK_INT >= 26) { NotificationManager manager = (NotificationManager) context.getSyst...原创 2018-04-17 14:08:48 · 8130 阅读 · 0 评论 -
友盟推送集成小米华为通道
在集成友盟推送的时候,小米和华为对后台进程做了诸多限制。若使用一键清理,应用的channel进程被清除,将接收不到推送。为了增加推送的送达率,可选择接入小米托管弹窗功能。通知将由小米系统托管弹出,点击通知栏将跳转到指定的Activity。该Activity需继承自UmengNotifyClickActivity,同时实现父类的onMessage方法,对该方法的intent参数进一步解析即可,该方法...原创 2017-11-24 14:45:49 · 17356 阅读 · 15 评论 -
AndroidStudio 多个项目依赖同一个lib
AndroidStudio 多个项目依赖同一个lib1、在settings.gradle文件中添加引用代码如下:CommonLibrary是公共的lib库,project 指定lib的磁盘目录include ':CommonLibrary'project (':CommonLibrary').projectDir = new File('../CommonLibrary/')i...原创 2018-12-06 16:31:09 · 772 阅读 · 0 评论 -
debug.apk does not exist on disk. Error while Installing APK
The APK file D:\.....\debug\app-PjbAndroidTest-debug.apk does not exist on disk.Error while Installing APK解决办法在项目根目录添加如下代码def isDebug() { def taskNames = gradle.startParameter.taskNames...原创 2018-12-10 16:12:58 · 330 阅读 · 1 评论 -
重温事件分发机制
setContentView(id)的源码是getWindow().setContentView(id)getWindow()其实是获取一个mWindow的对象,这个对象其实是一个PhoneWindow,PhoneWindow继承了抽象类WindowsetContentView()的源码调用了installDeco(),其实就是新建一个decorView对象decorView是Phon...原创 2019-03-28 18:04:57 · 145 阅读 · 0 评论 -
android图片拼接 图形验证码多行多列拼接
做了一个需求,后台接口返回给前端的不是一张完整的图形验证码而是4行5列的base64的数组,接口内容如下{ "status": "2000", "message": "success", "data": [ [{ "x": 0, "y": 0, "img": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABY...原创 2019-04-17 17:37:53 · 1031 阅读 · 0 评论 -
android和Vue交互
最近开发一个项目,原本是用的RN开发,后来打算三端统一,后来决定用VUE开发,所以涉及到一些Vue和原生交互的地方,做一下笔记~~先直接上Vue代码<template> <div class="page-box"> <div class="page-content"> <div class="page-bg"&g...原创 2019-06-14 16:03:08 · 5097 阅读 · 1 评论 -
OKhttp3源码阅读
网上关于Okhttp源码的文章很多,但是大多是人家自己的理解,而且不是很全面,结合很多文章以及自己阅读源码后的思考,也写一篇笔记有大佬说如果读源码不去分析源码背后的设计模式或设计思想,那么读源码的意义不大。 同时,如果熟悉的设计模式越多,那么读某个框架的源码的时候就越容易,两者是相辅相成的。要阅读一个框架的源码,首先要熟悉他的主流程,从主流程开始一层层剥开他的面纱。那OKhtt3...原创 2019-08-07 15:53:13 · 344 阅读 · 0 评论 -
ButterKnife源码阅读以及手写自定义注解框架
ButterKnife是一款通过注解,绑定控件的id,String,Bitmap等资源id的注解框架同时ButterKnife是一个编译时框架,所以对代码性能影响几乎为0使用注解之前:首先要新建java的library,然后注册注解(添加注解的依赖),告诉jvm我们这个module里面自定义注解处理器 implementation 'com.google.auto....原创 2019-08-07 17:58:53 · 218 阅读 · 0 评论 -
tinker热修复原理学习
热修复这一功能对很多公司的开发者来说都会有集成,因为测试不是万能的,万一线上遇到一点小bug,就会导致流量流失或者其他造成公司损失的问题,我自己项目中也集成了非常有名的Tinker热修复,具体怎么集成这里就不记录了,主要看官方文档这里主要记录一下Tinker热修复的源流。先做个热修复原理的总结,然后再手写实现热修复 APK从专业的角度来讲是一些Dex文件的集合,Classloade...原创 2019-08-12 10:11:28 · 320 阅读 · 0 评论 -
Android SVG图片制作
平时UI切的图都是位图,而开发中有时候有需要用到矢量图也叫SVG图,下面介绍一下SVG图片的制作 首先下载一款软件VectorMagic 用来把普通图片转换成SVG格式,下载好软件后打开软件如下图! 用软件打开你想制作的图片 点击全自动矢量化就行,然后Ctrl+s保存为SVG格式图片即可,如图 最后用浏览器打开保存的图片,鼠标左键点击查看源码,如图 这时候基本成功一半了,接下来,在原创 2017-01-13 18:10:24 · 1845 阅读 · 0 评论 -
友盟分享和推送看这一篇就够了
前段时间写了一篇关于友盟推送的文章,从阅读量来看,大家在这方面踩了很多坑,所以我觉得有必要来个全面的总结,给大家更好的过坑意见;先从分享开始说吧第一步集成SDK:官方文档说的很详细了,集成大家就看文档吧,我就总结一下要注意的地方:友盟分享SDK集成微信,qq,短信等友盟的api都有了,不过为了方便自己调用,可以自定义一个接口:/** * Created by Administ原创 2018-01-29 16:11:15 · 4841 阅读 · 2 评论 -
判断应用是前台进程还是切换到后台
开发中有时候需要判断应用前后台的需求转载 2017-12-18 14:10:16 · 1057 阅读 · 0 评论 -
Map的三个遍历方法
SetkeySet()会返回所有key的Set集合,因为key不可以重复,所以返回的是Set格式,而不是List格式。(之后会说明Set,List区别。这里先告诉一点Set集合内元素是不可以重复的,而List内是可以重复的) 获取到所有key的Set集合后,由于Set是Collection类型的,所以可以通过Iterator去遍历所有的key,然后再通过get方法获取value。如下Map<Str翻译 2017-05-27 14:11:35 · 398 阅读 · 0 评论 -
微信支付宝接入开发
其实之前也做过第三方支付,只是时间久了,又忘记了很多坑,导致如今开发又踩坑了,所以干脆记录下来,方便自己以后查阅同时也许能帮到其他开发者(1)微信支付: 首先参考官网文档,这里该有的步骤和api调用,以及怎么调起支付都说的很详细了,只要详细阅读相信不是问题;SDK接入如果是Studio开发只需要在Gradle中添加依赖即可compile 'com.tencent.mm.opensdk:wecha原创 2017-05-23 09:57:20 · 699 阅读 · 0 评论 -
getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解
这三个函数返回的都是绝对尺寸,而不是相对尺寸(dp\sp等)。如果getDimension()返回结果是20.5f,那么getDimensionPixelSize()返回结果就是21,getDimensionPixelOffset()返回结果就是20。原创 2017-05-03 15:50:11 · 207 阅读 · 0 评论 -
#面试题总结#
面试过程中有问道的一些问题原创 2017-03-17 14:47:56 · 280 阅读 · 0 评论 -
Dex多分包技术和热修复
1.什么是dex多分包?Android打包工具(aapt)将DEX文件,资源文件及AndroidManifest.xml文件(二进制格式)组合成一个应用程序包(APK),每个APK解压后都有至少一个classes.dex文件或者多个dex文件2.dex多分包的应用场景解决方法数越界,在Android中单个Dex(Java编译后的文件)文件所能包含的最大方法数为65536,这包含Android Fr原创 2017-02-28 14:21:47 · 502 阅读 · 0 评论 -
分享一个闪耀字体的自定义View
import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.LinearGradient;import android.graphics.Matrix;import android.graphics.Paint;imp原创 2017-01-09 14:48:23 · 306 阅读 · 0 评论 -
Android性能优化回顾
一、布局优化ui渲染机制:Android系统通过VSYNC信号触发对UI的渲染,重绘,时间间隔是16ms,如果系统每次渲染的时间都保持在16ms之内,我们看到的UI效果就是流畅的,否则就会出现卡顿。避免过度绘制:可以通过开发者选项中的Enable GPU Overdraw来判断是否有过度绘制的UI,如图,尽量减少红色区域优化布局层级:Android系统对View的测量,布局和绘制时,都是通过V原创 2017-01-09 14:40:26 · 730 阅读 · 0 评论 -
收藏的一些不错的博客
http://www.jianshu.com/p/11a2b780fd9b 玩转Android上透明状态栏,全屏显示以及沉浸模式(Immersive Mode)http://www.jianshu.com/p/6e0ac5af4e8b LoadingDrawable前言http://www.jianshu.com/p/b61cd0bc2abe 【移动开发】关于视频直播技术,你想要知道原创 2017-01-05 17:35:04 · 354 阅读 · 0 评论 -
Android ToolBar使用入门
刚开始使用toolbar的时候在网上找了很多资料,但是都是全面,这里稍作总结toolbar的使用还是比较简单,直接在布局文件里面引入就行,代码如下<?xml version="1.0" encoding="utf-8"?><android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/andr原创 2017-01-05 17:28:20 · 386 阅读 · 0 评论 -
App启动优化
Google给出的优化指南来镇楼 https://developer.android.com/topic/performance/launch-time.html闪屏定义Android官方的性能优化典范,从第六季开始,发起了一系列针对App启动的优化实践,地址如下: https://www.youtube.com/watch?v=Vw1G1s73DsY&index=74&list=PLWz5转载 2017-05-27 14:51:06 · 372 阅读 · 0 评论 -
自定义View之--圆形进度条(流量球)
话不多说直接上效果和代码 package com.tuiliubao.tlb.view;import android.animation.Animator;import android.animation.ValueAnimator;import android.annotation.TargetApi;import android.content.Context;import andro翻译 2017-07-05 13:43:42 · 1491 阅读 · 0 评论 -
渐变色圆形流量球,渐变色圆形进度条
效果图 代码如下package com.onething.balltest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageVi原创 2017-07-11 15:02:37 · 790 阅读 · 0 评论 -
android嵌套使用ViewPager和ScrollView焦点冲突解决方案
scroview签到virewpager有时候会导致viewpager显示不出来,有时候会导致viewpager无法滑动等问题原创 2017-12-18 11:18:32 · 713 阅读 · 0 评论 -
友盟推送测试环境无法收到推送消息解决方案
直接上菜,收不到推送消息之前设备描述状况 解决后的状态 解决办法(这里是sdkversion 3.3.5),别漏了添加注释的那段代码 PushAgent mPushAgent = PushAgent.getInstance(ContextUtils.getContext()); mPushAgent.register/** * 初始化common库原创 2017-11-23 10:17:28 · 4276 阅读 · 1 评论 -
AndroidStudio打包编译OOM
在AndroidStudio的build.properties文件下面添加org.gradle.jvmargs=-Xmx4096m然后在项目的build.gradle里面添加dexOptions { dexInProcess true preDexLibraries true javaMaxHeapSize "4g"//越大越好 incremental true}原创 2017-11-17 19:29:00 · 1052 阅读 · 1 评论 -
关于frameworks层源码编译
framework源码编译原创 2017-09-01 17:20:05 · 626 阅读 · 1 评论