自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (13)
  • 收藏
  • 关注

原创 记录字符串字母出现的次数。

package map;import java.util.Iterator;import java.util.Map;import java.util.TreeMap;/*  "aadsuifbnsiubfbisdkbhk" *     打印字符出现的次数 如(a(2)  b(4)) *  从小到大排序输出字符出现的次数(选用TreeMap) *   *  这个集合最终应该存储...

2018-10-25 11:24:37 362 1

原创 Android开发版本和API等级对应关系

【代码】Android开发版本和API等级对应关系。

2023-10-10 17:52:55 128

原创 Android关机、重启的实现,但需要权限

//关机public void shutDown(){ try { Runtime.getRuntime().exec("reboot -p"); } catch (IOException e) { e.printStackTrace(); }}//重启public void reboot(){ try { Runtime.getRuntime().exec("reboot"); } catch (IOE

2022-09-26 15:07:34 1128 1

原创 com.android.builder.dexing.DexArchiveBuilderException: Failed to process 解决

com.android.builder.dexing.DexArchiveBuilderException: Failed to process D:\E\CaiFeng\AndroidWork\GateMachine\app\libs\spirit3.jar工程导入jar包之后编译不通过。原因是jar包冲突了。 android原生sdk里面已经存在spirit3.jar包。然后工程又引入一次这个jar包。就会冲突就编译不过。...

2021-08-31 16:07:53 941

原创 Camera2使用

package jwipc.com.monitoringpad.util;import android.Manifest;import android.annotation.TargetApi;import android.app.Activity;import android.content.Context;import android.content.pm.PackageManager;import android.graphics.Bitmap;import android.grap.

2021-08-24 10:21:19 388

原创 android 加载长图

长图加载的自定义view。总结:1.利用Options先得到图片的宽高。2.通过计算view的宽高得到缩放因子。3.利用缩放因子,计算要加载的图片Rect。4.利用 BitmapRegionDecoder结合Rect进行制定区域解码图片。5.通过Options.outConfig = Bitmap.Config.RGB_565降低采样率达到减小内存开销6.通过 Options.inMutable = true和Options.inBitmap = bitmap重复利用...

2021-08-04 12:04:29 634

原创 apt 注解处理工具

问题,public class MyClass extends AbstractProcessor { @Override public boolean process(Set<? extends TypeElement> set, RoundEnvironment roundEnvironment) { System.out.println("process aaaaaaa*****************"); return false;

2021-05-25 16:25:18 141 2

原创 Error:In declare-styleable FontFamilyFont, unable to find attribute android:font

Error:In declare-styleable FontFamilyFont, unable to find attribute android:font导入其他项目,或者依赖其他项目,本地项目和导入的项目的compileSdkVersion targetSdkVersionminSdkVersionbuildVersion等,不一致导致的。找到版本不一致的项目设置成一致的大概就可以解决。如果解决不了就是版本可能低了。如果版本低了但是又修改不了通.

2021-04-29 17:27:29 140

原创 Gradle ‘Android‘ project refresh failed Error:Connection timed out: connect

Gradle 'Android' project refresh failed Error:Connection timed out: connect解决办法:工程下的gradle里面的jcenter() google()替换为:maven { url 'https://maven.aliyun.com/repository/google' }maven { url 'https://maven.aliyun.com/repository/jcenter' }原因是...

2021-04-27 20:03:16 229

原创 Connect to maven.google.com:443 [maven.google.com] failed: Connection timed out: connect 解决办法

当 build.gradle进行上述配置的话,总会出现如下情况:Could not resolve all artifacts for configuration ':classpath'. > Could not resolve com.android.tools.build:gradle:3.5.3. Required by: project : > Could not resolve com.android.tools.build:grad...

2021-04-27 20:00:24 726

原创 android 9.0刘海屏适配

步骤:1判断手机厂商, 2 判断手机是否有刘海 3.设置是否让内容区域延伸进刘海 4.设置控件是否避开刘海区域 5.获取刘海的高度package com.example.screenadaptation;import android.annotation.TargetApi;import android.os.Build;import android.support.annotation.RequiresApi;import android.support.v7.app.AppCompatA.

2021-04-25 17:16:49 157

原创 修改density达到屏幕适配

//修改系统内部的density。package com.example.screenadaptation;import android.app.Activity;import android.app.Application;import android.content.ComponentCallbacks;import android.content.res.Configuration;import android.util.DisplayMetrics;/** * 布局文字适配.

2021-04-25 15:39:40 168

原创 自定义view的屏幕适配方案

自定义一个计算屏幕缩放比例的单例类,用于获取屏幕的横向和水平方向的缩放比例。package com.example.screenadaptation;import android.content.Context;import android.util.DisplayMetrics;import android.view.WindowManager;public class ScreenAdaptationUtils { //设计稿的宽高像素 private static ..

2021-04-25 14:49:15 415

原创 WindowManager addView removeView抛异常 has already been added to the window manager

WindowManagerGlobalWindowManager服务其实是WindowManagerImpl的对象private final ArraySet<View> mDyingViews = new ArraySet<View>();这个变量用于存储windowManager.addView(view) 里面的view。如果mDyingViews.add重复add进去的话就会抛异常,异常信息:view 已经存在了。Global 全局的 ...

2021-04-15 18:18:18 3751

原创 Android 动态换肤 支持5.0-9.0系统,支持自定义view

动态换肤,插件化换肤的好处:不会增加apk包体积。无缝换肤。不用退出应用。不会闪屏。思路:1.如果要更换view的背景颜色,字体颜色,图片等,就必须先知道view的加载流程。2.知道view的加载之后,就可以setTextColor,或者setBackroudColor了。3.主要是setTextColor或者setBackroudColor的资源加载哪个地方的。默认是加载内置app的。我们要做的事情就是换肤之后加载我们特定的换肤资源。解决问题1:activity里面vie.

2021-04-13 18:08:08 283

原创 SystemUI开发记录

SystemUI WindowManager.removeView(mNavigationBarView)内存没有释放问题。WindowManager.addView(mNavigationBarView,getNavigationBarLayoutParams());不断添加和删除会造成内存不断升高。解决办法:防止mNavigationBarView重复创建。把mNavigationBarView缓存起来。创建NavigationBarView的时候,mNavigationBarVie...

2021-04-08 15:12:58 287

原创 linux命令给文件加减权限

转载:https://blog.csdn.net/weixin_42711549/article/details/81156370

2021-03-26 09:49:06 223

原创 Android系统启动流程

1.启动电源以及系统启动当电源按下时引导芯片代码开始从预定义的地方(固化在ROM)开始执行。加载引导程序Bootloader到RAM,然后执行。2.引导程序BootLoader引导程序BootLoader是在Android操作系统开始运行前的一个小程序,它的主要作用是把系统OS拉起来并运行。3.Linux内核启动内核启动时,设置缓存、被保护存储器、计划列表、加载驱动。当内核完成系统设置,它首先在系统文件中寻找init.rc文件,并启动init进程。4.init进程启动初始化和启动属性服务,并且启动Z

2021-03-16 16:49:59 98

原创 Android系统架构与系统源码目录

Android系统架构与系统源码目录http://liuwangshu.cn/framework/system-architecture.html

2021-03-16 15:22:52 64

原创 word生成pdf点击目录可自动跳转到指定位置

word点击引用点击目录下拉箭头,选择自动目录的那个目录样式。生成目录之后,点击特色应用。点击输出为pdf。生成之后再点击目录就可以自动跳转了。

2021-02-27 15:24:05 8099

原创 指针大小,

指针存放的是内存地址。是以无符号整型存放的。所以32位操作系统中,无符号整型占4个字节大小,64位操作系统中无符号整型占8个字节大小。所以无论什么类型的指针在32位操作系统中都是占4个字节大小,在64位操作系统中占8个字节大小。...

2021-01-29 17:34:50 584

原创 vscode检测到#include错误请更新includePath的解决方法

vscode检测到#include错误,请更新includePath。解决方法最近电脑重做,重新安装了一边vscode,但是写代码的时候发现头文件会标错,显示无法找到,下面是我的解决办法:执行命令查看g++包含路径 1 g++ -v -E -x c++ - 复制上面红框的内容在vscode中摁ctrl+shift+p搜索json文件在includePath里面粘贴红框的库路径,注意双引号和逗号格式如果再有问题,试试把"/us

2021-01-28 14:26:28 28415 37

原创 数据类型的定义,进制,原码 反码 补码。

原码:正数的原码最高位是0;负数的原码最高位是1.反码:正数的反码与原码相同,负数的反码是原码的取反 最高位不变。补码:正数补码与原码相同。负数的补码是原码进行加1。溢出:在数据进行操作的时候会导致超出数据类型大小,会向前位进1,多于原始数据类型大小,会被系统自动舍弃 保留从后面开始数据类型大小的位数 1、数据类型的定义1、数据类型的定义变量的定义:数据类型 变量名【标识符】变量的赋值:变量名 = 值;数据类型 变量名【标识符】 =...

2021-01-26 17:06:45 384

原创 二进制 八进制 十进制 十六进制 相互转化法

二进制转换为其他进制:二进制转八进制:把二进制的数每三个位分一等份,从右边开始分。计算三个二进制数的和就是八进制数中的一位。如下:101110111001转成八进制:从右边开始分。101 110 111 001三位二进制相加得到的结果: 5 6 7 1101110111001转成八进制的结果为:5671二进制转十进制:用权值法(每个位对应的2的N次幂然后相加)1101转十进制:从右边开始计算。1*2^...

2021-01-26 15:54:31 3248

原创 c hellow word C语言编译过程 汇编语言

1、Hello World代码分析://导入标准输入输出库#include<stdio.h>//包含头文件 std标准库 io input output 输入输出库 <>系统库 “” 自定义头文件//这是一行注释/*块注释*///主函数 一个程序有且只能有一个主函数//函数的返回值类型 int整型//函数的参数类型 void空类型// chmod 666 a.txt b.txt...

2021-01-26 10:21:24 377

原创 免费版qt下载地址

https://www.qt.io/download-thank-you

2021-01-25 15:44:42 4914

原创 Linux内核源码网址

https://www.kernel.org/

2021-01-22 11:22:39 1188

原创 绘制文本的测量

Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);Paint.FontMetrics fontMetrics = paint.getFontMetrics();//获取字体度量对象fontMetrics的介绍:测量文本的宽高:Rect rect = new Rect();paint.getTextBounds("文本", 0, "文本".length(), rect);//把文本的宽高读到一个矩形里面。float wid...

2021-01-21 15:16:37 105

原创 android 事件分发

1.手指触摸到屏幕首先触发Activity的Down事件。然后通过dispatchTouchEvent方法进行分发。2、disPatchTouchEvent方法分发到Activity的mWindow的DecoView上DecoView是一个FramLayout是一个ViewGroup。然后分发到ViewGroup的disPatchTouchEvent上。ViewGroup的disPatchTouchEvent分发到ViewGroup的OnInterceptTouchEvent上。3.如果Vi

2021-01-21 10:49:08 71

原创 自签名ca证书和文件转为bks文件后缀

https://www.chinassl.net/ssltools/generator-csr.htmlopenssl签名证书; https://ningyu1.github.io/site/post/51-ssl-cert/openssl安装下载地址: http://slproweb.com/products/Win32OpenSSL.htmlopenssl 环境配置地址: https://blog.csdn.net/sunhuansheng/article/details/82218678.

2021-01-21 10:17:09 222

原创 android studio 开发java

第一步:File---New---New Module---Java Library第二步:填好Libraryname和Java class name然后点击完成第三步:创建main方法第四步:点击锤子旁边那个按钮。然后点击Edit Configurations...第五步:点击+号,选择Application第六步:Name可以自己定,Main class就是那个module下的那个创建了main方法的类。Use class...

2021-01-21 10:14:23 613

原创 浏览器发起一次http请求都经历了什么?

首先是拼接http请求报文(内容:请求行,请求头,请求体,空行)请求行的内容:1.使用什么方法进行请求(get,post,put,delete,head(head和get几乎一样,主要区别head请求服务器是不返回body的,应用场景,你想知道你要下载的文件是多大时,是否支持断点下载。得到这些数据之后再做具体的请求。head是比get速度 快的。)等等) 2.URL字段。/u...

2021-01-19 18:58:14 510

原创 Cookie TCP/IP Https

Cooike http的头字段Cooike的起源:购物车Cooike的工作机制Cooike的作用:1.会话管理:登录状态、购物车 2.个性化:用户偏好、主题 3.Tracking(追踪):分析用户行为XSS(Cross-site scripting跨站脚本攻击):HttpOnly加上HttpOnly本地脚本看不到Cooike这些信息XSRF(Cross-site request forgery跨站请求伪造):Referrer是从哪个网站跳转过来的。...

2021-01-19 15:20:26 140 1

原创 编码,加密,hash

编码解码:Encoding&Decoding加密解密:Encryption&Decryption数字签名:Digital Signature压缩与解压缩:Compression&Decompression序列化:Serialization哈希:hash字符集:Charset相关词:MD5 、SHA1、RSA、DSA、AES、BASE64、encoded、URL、Unicode、UTF-8、GBK、ISO-8859-1密码棒起源:古代战争--古典密.

2021-01-15 18:08:38 257 1

原创 http请求的响应码

http请求的响应码一般分为五类 1xx 2xx 3xx 4xx 5xx1xx临时性的消息 101:当客户端问服务端支不支持http2.0的时候,如果支持服务端会返回 101表示我支持http2.0 。 100:当客户端一个请求分多次发送给服务端的时候,就会在head里面加一个字段告诉服务端,你别急我后面还有请求,是要多个请求合并成一个请求的。服务端收到之后就会返回一个100的状态码跟客户端说好的我知道了...

2021-01-12 17:01:15 433 1

原创 Android studio 运行java程序的配置

前提条件:先新建一个Android项目1、新建一个名为javalib(可自由起名)的Module。File —–> new —–> new Module… 然后弹出一个框 在more module 里面选择java Library。如下图:成功后生成如下:到此就创建成功了java项目,但是还无法运行,要做如下操作。2、选中app点击鼠标左键,选择edit configurations...点击OK,就完成了。3、运行的方式方法一:...

2021-01-11 17:25:19 1701

原创 android 解决Error:This Gradle plugin requires a newer IDE able to request IDE model level 3. For Andro

今天,简单讲讲android studio导入工程时,出现报错Error:This Gradle plugin requires a newer IDE able to request IDE model level 3. For Andro。这个问题其实是由于android studio是2.x版本,而导入的工程是使用android studio 3.0创建的,所以会出问题。在网上找了解决的办法,很简单。解决方法: (1): 升级android studio IDE的版本...

2021-01-06 12:19:23 181

原创 Error:Error: This fragment should provide a default constructor (a public constructor with no argume

Error:Error: This fragment should provide a default constructor (a public constructor with no arguments) (jandroid.jwipcmda.deviceinfo.DeviceInfoFragment) [ValidFragment]解决办法:android {lintOptions { abortOnError false checkReleaseBuilds false}

2021-01-04 16:41:53 130 1

原创 android 查看源码的网站

androidxref.com

2020-12-18 10:04:57 141

原创 android 自定义饼图并绘制百分比数值

public class PieChartView extends View { private float mRadius = Utils.dpToPx(150); private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); RectF bounds = new RectF(); int[] angle = {60, 100, 120, 80}; int[] color = {Color.parseColor(.

2020-11-20 20:36:14 284

Lsn_11_Demo2.zip

andorid apk加固加密dex文件利用代理application解密

2021-06-15

android 占位式插件化开发例子

占位式插件化开发例子

2021-04-19

SkinProject.zip

android动态换肤项目 支持5.0-9.0

2021-04-13

Android OpenCv 人脸检测

Android OpenCv 人脸检测 包含正脸检测和侧脸检测,检测到人脸之后绘制矩形框框。下载即可使用,不需要安装opencv提供的多余的apk

2020-06-05

2.5d generator 2.0超好用的

扁平化2.5D轴测概念插画生成PS扩展面板|2.5D Generator 2.0 界面语言:中文 支持系统:MAC Windows 支持PS软件:CC2015,CC2015.5,CC2017,CC2018+

2019-03-29

ViewPager+Fragment的使用

这是一个viewpager的使用,外加上 viewpager+fragment结合 创建类似微信导航栏的一个项目。可根据个人需求 进行修改简单方便的使用。

2019-02-15

蓝牙遥控搜索连接安卓代码

最近做一个项目,需要用蓝牙遥控去控制安卓系统里面的应用。然后就做了这个。这个代码是启服务去扫描配对连接蓝牙遥控的。装到安卓系统上就能自动搜索连接了。不需要手动去点什么。支持hid。

2018-06-22

下载应用的项目

这是一个安卓 下载应用的项目,支持断点下载,里面还有很多5.0 6.0版本之后发布的新技术,比如Toobar Recyclerview 还有一些百分比布局,广告轮播等等。

2017-10-16

SystemStatusManager

使用方法 不多说,只要三步即可: 1、拷贝状态栏管理类SystemStatusManager到你的项目中(下载地址在最后); 2、在你的BaseActivity中的onCreate方法中调用一下代码(如果只要某个页面一体化,可以在需要一体化的页面加入改语句): new SystemStatusManager(this).setTranslucentStatus(R.color.colorPrimary);//设置状态栏透明,参数为你要设置的颜色 1 3、将你项目中的所有页面的根布局加载一个属性:(只在activity中加即可.不要在fragment里面加) android:fitsSystemWindows=”true” 注意:如果状态栏与标题栏中间有一条线导致有过渡感,那么在你项目的主题(style文件)中加入去掉线条的语句即可: <item name="android:windowContentOverlay">@null</item>

2017-10-10

RecyclerView嵌套 RecyclerView的一个教学项目

RecyclerView 嵌套RecyclerView 的使用 跟ScroView跟ListView的使用效果一样。就是实现方法不一样。 我网上找了很久都没找到RecyclerView嵌套RecyclerView的资源,现在弄好了发出来 希望对大家有帮助。有不懂之处可以加我扣扣:1009005220进行咨询。

2017-09-27

RecyclerView万能分割线

使用方法: 添加默认分割线:高度为2px,颜色为灰色 1 mRecyclerView.addItemDecoration(new RecyclerViewDivider(mContext, LinearLayoutManager.VERTICAL)); 添加自定义分割线:可自定义分割线drawable 1 mRecyclerView.addItemDecoration(new RecyclerViewDivider( 2 mContext, LinearLayoutManager.VERTICAL, R.drawable.divider_mileage)); 添加自定义分割线:可自定义分割线高度和颜色 1 mRecyclerView.addItemDecoration(new RecyclerViewDivider( 2 mContext, LinearLayoutManager.VERTICAL, 10, ContextCompat.getColor(mContext, R.color.divide_gray_color))); 万能分割线登场:

2017-09-16

购物商城app实现源码

一个购物的app 安卓学习的好项目 可以学习到很多安卓开发新的东西, 帮助你从菜鸟变成高手, 值得大家去学习学习。安卓开发的好项目。 月薪上万的成就之路从这个项目开始。

2017-09-12

Gson 最新版本架包

最新版本Gson 架包 解析Json必备 安卓开发者解析json的首选 功能强大多元化。 最新版本Gson 架包 解析Json必备 安卓开发者解析json的首选 功能强大多元化。

2017-09-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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