- 博客(131)
- 资源 (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
397
1
原创 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
1375
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
1070
原创 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
464
原创 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
709
原创 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
192
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
189
原创 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
304
原创 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
812
原创 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
226
原创 修改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
206
原创 自定义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
471
原创 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
4465
原创 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
369
原创 SystemUI开发记录
SystemUI WindowManager.removeView(mNavigationBarView)内存没有释放问题。WindowManager.addView(mNavigationBarView,getNavigationBarLayoutParams());不断添加和删除会造成内存不断升高。解决办法:防止mNavigationBarView重复创建。把mNavigationBarView缓存起来。创建NavigationBarView的时候,mNavigationBarVie...
2021-04-08 15:12:58
365
原创 linux命令给文件加减权限
转载:https://blog.youkuaiyun.com/weixin_42711549/article/details/81156370
2021-03-26 09:49:06
269
原创 Android系统启动流程
1.启动电源以及系统启动当电源按下时引导芯片代码开始从预定义的地方(固化在ROM)开始执行。加载引导程序Bootloader到RAM,然后执行。2.引导程序BootLoader引导程序BootLoader是在Android操作系统开始运行前的一个小程序,它的主要作用是把系统OS拉起来并运行。3.Linux内核启动内核启动时,设置缓存、被保护存储器、计划列表、加载驱动。当内核完成系统设置,它首先在系统文件中寻找init.rc文件,并启动init进程。4.init进程启动初始化和启动属性服务,并且启动Z
2021-03-16 16:49:59
148
原创 Android系统架构与系统源码目录
Android系统架构与系统源码目录http://liuwangshu.cn/framework/system-architecture.html
2021-03-16 15:22:52
120
原创 word生成pdf点击目录可自动跳转到指定位置
word点击引用点击目录下拉箭头,选择自动目录的那个目录样式。生成目录之后,点击特色应用。点击输出为pdf。生成之后再点击目录就可以自动跳转了。
2021-02-27 15:24:05
9549
原创 指针大小,
指针存放的是内存地址。是以无符号整型存放的。所以32位操作系统中,无符号整型占4个字节大小,64位操作系统中无符号整型占8个字节大小。所以无论什么类型的指针在32位操作系统中都是占4个字节大小,在64位操作系统中占8个字节大小。...
2021-01-29 17:34:50
719
原创 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
32062
40
原创 数据类型的定义,进制,原码 反码 补码。
原码:正数的原码最高位是0;负数的原码最高位是1.反码:正数的反码与原码相同,负数的反码是原码的取反 最高位不变。补码:正数补码与原码相同。负数的补码是原码进行加1。溢出:在数据进行操作的时候会导致超出数据类型大小,会向前位进1,多于原始数据类型大小,会被系统自动舍弃 保留从后面开始数据类型大小的位数 1、数据类型的定义1、数据类型的定义变量的定义:数据类型 变量名【标识符】变量的赋值:变量名 = 值;数据类型 变量名【标识符】 =...
2021-01-26 17:06:45
577
原创 二进制 八进制 十进制 十六进制 相互转化法
二进制转换为其他进制:二进制转八进制:把二进制的数每三个位分一等份,从右边开始分。计算三个二进制数的和就是八进制数中的一位。如下:101110111001转成八进制:从右边开始分。101 110 111 001三位二进制相加得到的结果: 5 6 7 1101110111001转成八进制的结果为:5671二进制转十进制:用权值法(每个位对应的2的N次幂然后相加)1101转十进制:从右边开始计算。1*2^...
2021-01-26 15:54:31
3905
原创 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
423
原创 绘制文本的测量
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
148
原创 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
107
原创 自签名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.youkuaiyun.com/sunhuansheng/article/details/82218678.
2021-01-21 10:17:09
308
原创 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
693
原创 浏览器发起一次http请求都经历了什么?
首先是拼接http请求报文(内容:请求行,请求头,请求体,空行)请求行的内容:1.使用什么方法进行请求(get,post,put,delete,head(head和get几乎一样,主要区别head请求服务器是不返回body的,应用场景,你想知道你要下载的文件是多大时,是否支持断点下载。得到这些数据之后再做具体的请求。head是比get速度 快的。)等等) 2.URL字段。/u...
2021-01-19 18:58:14
577
原创 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
195
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
322
1
原创 http请求的响应码
http请求的响应码一般分为五类 1xx 2xx 3xx 4xx 5xx1xx临时性的消息 101:当客户端问服务端支不支持http2.0的时候,如果支持服务端会返回 101表示我支持http2.0 。 100:当客户端一个请求分多次发送给服务端的时候,就会在head里面加一个字段告诉服务端,你别急我后面还有请求,是要多个请求合并成一个请求的。服务端收到之后就会返回一个100的状态码跟客户端说好的我知道了...
2021-01-12 17:01:15
490
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
1791
原创 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
216
原创 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
169
1
原创 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
347
Android OpenCv 人脸检测
2020-06-05
2.5d generator 2.0超好用的
2019-03-29
ViewPager+Fragment的使用
2019-02-15
蓝牙遥控搜索连接安卓代码
2018-06-22
下载应用的项目
2017-10-16
SystemStatusManager
2017-10-10
RecyclerView嵌套 RecyclerView的一个教学项目
2017-09-27
RecyclerView万能分割线
2017-09-16
购物商城app实现源码
2017-09-12
Gson 最新版本架包
2017-09-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人