自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(83)
  • 收藏
  • 关注

原创 openssl 常用命令

【代码】openssl 常用命令。

2024-07-05 20:06:55 100

转载 Android App接入Facebook分享SDK时,无法启动Facebook客户端的问题分析

最后,对上面的问题原因以及修复方法作一个简单的总结。facebook分享sdk在分享时,会先过contentProvider跨进程调用获取facebook App保存的protocolVersion数据,并根据该数据决定客户端是否支持此次分享。由于在一些国产Rom上增加了禁止第三方自启动(或者禁止应用间互相启动)功能,导致此次跨进程启动facebook app失败,facebook sdk获取不到客户端数据,因此,就无法调起客户端分享,而是调起了网页分享。

2024-03-26 14:44:22 329

原创 安卓工程gradle冲突问题

11

2024-03-18 12:56:18 161

原创 cherles抓包,安卓,http/https

前置条件:charles抓取手机数据包的前提,手机和电脑需要在一个局域网内。

2024-02-02 10:59:48 1749 1

原创 mac上,配置bundletool,将aab转为apk

第一步打开终端,安装brew。2.安装bundletool。6.aab和apk互转。

2024-01-31 10:38:31 973

原创 命令行查看apk包的cpu架构(aapt)

【代码】命令行查看apk包的cpu架构(aapt)

2024-01-25 10:53:45 539

原创 全局居中dialog

【代码】全局居中dialog。

2024-01-09 20:08:35 369

原创 安卓TextView渲染Html的a标签,颜色不生效

【代码】安卓TextView渲染Html的a标签,颜色不生效。

2023-12-14 14:13:05 190

原创 一看就会的jni,不会你来打我!

基于以上步骤,我们实现了java到jni-到c层的调用,再扩展到java到jni到c++再到c的so库的调用。其中,在jni层,我们引用了安卓的log库,输出日志,方便定位问题。如果是c++层,在函数传参时,需要类型转换,也很简单。jni中的jstring转char其中,jstr为需要转换的jstring类型变量,env为JNIEnv指针。

2023-11-16 10:22:22 205

原创 facebook分享-错误记录

无法拉起分享 "code":30000,"msg":"fail:API_ERROR: API_ERROR"2.确认是否在app_id应用的白名单里,注册meta开发者,然后把主页的user_id给管理员加。1.确认facebook的app_id是否一致。

2023-11-08 20:06:44 704

原创 Harmony OS—UIAbility的使用

UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互。UIAbility也是系统调度的单元,为应用提供窗口在其中绘制界面。一个应用可以有一个UIAbility,也可以有多个UIAbility,类似于Android 的 Activity,如果有安卓基础的同学,也可以结合过往知识点学习。比如。

2023-11-07 14:41:41 1587

原创 HarmonyOS ArkTS基础知识

文档中心。

2023-11-06 16:10:17 794

原创 git 操作大全

如果是第一次拉取或者创建项目,使用。如果本地已存在两个分支,使用。请在切换分支前移动或删除。

2023-11-04 17:14:43 557

原创 HarmonyOS 快速入门TypeScript

ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript(简称TS)的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。

2023-10-26 13:11:24 1350

原创 Android Studio Logcat 报read: Unexpected EOF!异常

查阅先关资料,仔细分析后你会发现,出现这个日志,是因为最终的logcat进程退出,而退出的的原因是log buffer size设置过小导致,而默认size为256KB,如果你的程序长时间运行,并且产生了大量的日志,最终日志缓存的大小肯定是超过了默认的256kb。

2023-10-25 17:38:29 299

原创 HarmonyOS DevEso环境搭建

DevEco Studio 3.1配套支持HarmonyOS 3.1版本及以上的应用及服务开发,提供了代码智能编辑、低代码开发、双向预览等功能,以及轻量构建工具DevEco Hvigor 、本地模拟器,持续提升应用及服务开发效率。

2023-10-24 18:53:57 823

原创 解决AndroidStudio Gradle只有testDebugUnitTest

2:取消勾选Configure all Gradle tasks during Gradle Sync...大功告成,现在去看看Gradle,屏蔽的都显示出来了。1:点击Task list not built...

2023-10-23 11:28:27 872 1

原创 mac电脑zsh: command not found: adb

即可完成 adb 环境变量的配置。

2023-10-18 15:49:16 2301 2

原创 静态代理和动态代理

代理模式可以在不修改真实类代码的情况下,实现对真实类的访问控制、性能优化等功能。Java 中有两种实现代理模式的方法:静态代理和动态代理。静态代理需要在编译之前手动编写代理类,而动态代理可以在运行时动态生成代理类。

2023-09-22 11:53:48 78

原创 builde.gradle出jar包

【代码】builde.gradle出jar包。

2023-09-21 10:12:07 111

原创 华为提审问题修复

1.您的应用被系统检测出存在安装失败功能问题,不符合华为应用市场审核标准。测试环境:Wi-Fi联网、荣耀Play 3(EMUI 9.1)、中文环境。修改建议:请参考测试结果进行修改。gradle.properties里。测试步骤:请参考附件。

2023-09-13 14:15:50 446

原创 安卓判断是否是模拟器,适配主流雷电,MUMU,夜神,逍遥

最近游戏项目组又有新的要求,对于数据上报和数据统计接口,尽可能的具体化,比如是否是模拟器,模拟器的型号,品牌等,都要求统计,后续模拟器玩家在活动发放,安全风控等方面也易于分析和把控。

2023-09-12 11:23:27 4856 6

原创 Glide的使用及源码分析

依赖github:基本使用//加载url.load(url)//加载本地drawable资源//加载gif,Glide会智能判断//asBitmap只加载静态图片,如果图片为gif则加载第一帧//后备回调符.load(url).fallback(R.mipmap.ic_launcher) //当url为null时显示Glide的配置都可以通过RequestOptions配置,用于提取公共属性,复用。设置图片大小宽高单位是px设置缩略图//显示原图的50%先加载缩略图,再加载原图。

2023-09-03 17:05:16 717

原创 创建性-构造者设计模式

我们在使用Retrofit等这些第三方框架的时候,发现他们的使用都很方便,比如Retrofit retrofit = new Retrofit.Builder().build(),和我们通常直接new一个对象不同,他是交给Builder类,通过build()函数来构造一个Retrofit对象。刚开始使用,可能不太明白,明明可以直接new出来,为什么要交给Builder来构造呢?

2023-09-02 23:56:44 742

原创 MVC,MVP,MVVM的理解和区别

MVC ,早期的开发架构,在安卓里,用res代表V,activity代表Controller层,Model层完成数据请求,更新操作,activity完成view的绑定,以及业务逻辑的编写,更新view,这种模式是单向的,虽然代码存在分层,但是之间的耦合性还是很高,并且C层做的事情很多,久而久之会变得臃肿。MVC,MVP,MVVM的出现,都是为了视图分层,使代码结构,逻辑变得清晰,同时,实现类的单一职责,降低耦合度。同理,也实现了一个IUserLogin接口,从而和P层实现双向通信。ViewModel层。

2023-09-02 20:55:27 1015

原创 Java- 虚拟机学习总结

分代垃圾回收的主要思想是根据对象的生命周期将对象分为不同的代,然后对不同代的对象采用不同的回收策略,以提高垃圾回收的效率。分代垃圾回收的优点是,年轻代的垃圾回收频率高,能够快速释放短期存活的对象,而老年代的垃圾回收频率低,可以减少长期存活对象的回收成本。方法栈内存:在进行递归调用的时候所保存的栈帧的内容,组成部分:局部变量表,操作数栈,当前方法所属类运行时常量的引用,返回地址。栈内存:是程序的运行单位,里面存储的信息都是与当前线程有关的内容,包括:局部变量,程序的运行状态,方法返回值。这个过程会多次迭代。

2023-09-02 14:45:52 279

原创 App启动流程分析

launcher进程-System_server进程-zygote进程-fork-app进程。AMS与APP通信,APP的服务端是IApplicationThread.aidl。APP与AMS通信,AMS的服务端是IActivityManager.aidl。1:bindApplication-启动APP的application。Launcher进程-System_server进程-app进程。oneway关键字:单向的,异步的,不阻塞。System_Server进程。——Binder通信——

2023-08-29 09:54:52 83

原创 获取Activity的名字

【代码】获取Activity的名字。

2023-08-22 20:39:52 233

原创 单链表-Java实现

链表是一种含有数据域和指针域的数据结构,以节点的方式来存储,在内存中是不连续的,分为带头节点的和不带头节点的。

2023-08-20 21:05:17 205

原创 Python工具类

【代码】Python工具类。

2023-08-14 13:25:32 68

原创 Android Studio System.out.println()中文乱码

File-Settings-Editor-File Encodings 把所有的编码格式改为UTF-8。打开studio64.exe.vmoptions加入。尝试跑一下代码,如果还不行,重启IDE 再试试。

2023-08-09 21:05:37 569

原创 安卓读取,添加,更新,删除联系人,读取短信

/2023-08-06 17:29:50.535 31719-31719 MainActivity2 com.example.myapplication D 联系人:张三。除此,我们还可以通过contentResolver读取短信信息,短信表的uri信息。这里我们是根据手机号码先获取联系人表id,也仅有这种方式,获取id。删除联系人,比较简单,我们可以通过联系人名字,删除。,像ios短信验证码快速copy到输入框。从而输出联系人信息,

2023-08-06 23:19:42 776 3

原创 Android获取网络类型

【代码】Android获取网络类型。

2023-08-06 16:10:28 337

原创 http请求头信息说明

浏览器预期接受的传输时的编码方式:可使用回应协议头Transfer-Encoding中的值(还可以使用"trailers"表示数据传输时的分块方式)用来表示浏览器希望在最后一个大小为0的块之后还接收到一些额外的字段。的请求(该请求要求服务器在响应中加入一个Access-Control-Allow-Origin的消息头,表示访问控制所允许的来源)。允许在对应的内容未被修改的情况下返回304未修改( 304 Not Modified ),参考 超文本传输协议 的实体标记。否则,返回整个新的实体。

2023-08-04 17:14:50 121

原创 字符串匹配-KMP算法

主串的i位置的值和子串的j位置的值不同时,主串S,i前面的字符串与字串T,j前面的字符串已经匹配相等,因为两者相等,所以只需要拿出子串T前面的字符串,根据T前面的字符串来计算一个next[j]数组,将j回溯即可。求次数的问题,将原生KMP算法,变化为,当j==t.length()的时候,匹配有效,计数器count++,j回溯到next数组的j-1位置上,再对其+1。在学KMP算法之前,对于两个字符串,主串S,和字串T,我们根据暴力匹配,定义两个指针,i指向主串S的起始,j指向字串T的起始,依次比较,如果。

2023-08-02 22:17:42 375

原创 安卓Intent打开系统进程汇总

高版本安卓无法直接获取file,需要使用ContentProvide建立临时文件路径。2:res/xml 新建provider_paths.xml文件,内容如下。1:在Manifest.xml里声明provider。

2023-07-30 09:49:15 461

原创 Python 进制转换

1:十进制转二进制,转八进制,转十六进制。2:N进制数向十进制转换。

2023-07-28 10:18:18 96

原创 安卓里的文件目录

getExternalFilesDir("Bobo")路径: /storage/emulated/0/Android/data/com.bobo.test/files/Bobo。getExternalCacheDir()路径: /storage/emulated/0/Android/data/com.bobo.test/cache。getDatabasePath()路径: /data/user/0/com.bobo.test/databases/Bobo。内部存储需要读写权限。

2023-07-24 14:07:13 245

原创 android调用系统日历

【代码】android调用系统日历。

2023-07-24 13:54:34 251

原创 Okhttp-LoggingInterceptor的简单使用

Okhttp除了提供强大的get,post网络请求外,还包含请求日志的拦截器,可以监视,重写,重试调用请求。1:写一个类,实现接口,复写方法//获取request//request.body转字符串Log.d(//获取response,因为okhttp的原理,response.body在获取一次以后,//就不能再生成响应流了,因此需要构造一个新的返回//将response的数据保存到新的response.string()?//构建新的responseLog.d(

2023-07-22 18:11:13 1981

空空如也

空空如也

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

TA关注的人

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