
Android
木棉花的春天ls
这个作者很懒,什么都没留下…
展开
-
GPS相关
android 定位原创 2022-09-19 15:57:48 · 481 阅读 · 0 评论 -
Android各种问题解决
android studio报错原创 2022-09-04 12:28:55 · 1077 阅读 · 0 评论 -
Android图片不规则裁剪
demo链接:Android自定义不规则裁剪扩展链接:Android:谈谈最被误读的属性adjustViewBounds定义:1.adjustViewBounds影响的是ImageView的比例(不是图片的比例)2.调整ImageView的边界,使得ImageView和图片有一样的长宽比例。1.当ImageView的宽高固定(1000px),图片的尺寸为300*400px(宽*高),这时adjustViewBounds不论设置为true或false,不会改变ImageView的比例2.Ima原创 2022-03-06 15:30:30 · 3240 阅读 · 0 评论 -
Android系统架构
应用层内置应用程序及非系统级的应用程序应用程序框架层 - 为开发人员提供可开发 APP的API,因使用java开发,可称为Java FrameWork - 提供的主要组件活动管理器Activity Manager位置管理器Location Manager包管理器Package Manager通知管理器Notification Manager资源管理器Resource Manager电话管理器Telephone Manager窗口管理器原创 2022-01-05 15:06:47 · 2148 阅读 · 0 评论 -
Gradle构建工具
定义Gradle是基于JVM的新一代 构建工具使用场景开发软件时,用IDE去进行编码,当编码完成后,必须要进行编译,单元测试,打包等。这些需要开发人员手动实现。当版本迭代时,十分耗时且易出问题。这是项目自动化就出现了。优势1.节省时间及手动出现的错误2.可编译,测试,打包等有序工作3.与IDE和操作系统没有直接关系,具有平台无关性ADT,ANT,GradleADT : android 开发工具包,集成在eclipse中后,可以为Android提供开发环境,在Eclipse和SDK中起原创 2021-12-30 16:32:55 · 299 阅读 · 0 评论 -
Android仓库
创建项目默认引入google()和jcenter()google()依赖google公司自己的依赖jcenter()由JFrog公司提供的Bintrary中的Java仓库它是世界上最大的java和Android开源软件仓库maven{}由sun公司提供的服务它是Apache Maven 、 SBF和其他构建系统的默认仓库 我们项目中的一些控件必须要翻墙才能用。 “com.google.gson.2.8.5”,这时通过maven就可以访问国内镜像 “http://maven.al原创 2021-12-29 16:44:21 · 1594 阅读 · 0 评论 -
android适配(4.4-10.0)
Android 4.4 (API 19)沉浸式状态栏WebView增加调试WebView需验证Https证书(针对HTTPS请求)Android 5.0 (API 21)沉浸式状态栏WebView中Http和Https混合问题WebView cookie存储问题新增酷炫的转场动画Android 6.0 (API 23)运行时权限(正常权限和危险权限)指纹识别支持StatusBar模式修改light和和非lightAndroid 7.0 (API 24)适配了全面屏应用间原创 2021-12-29 16:25:43 · 1269 阅读 · 0 评论 -
WebView
1.浏览器内核的概念:渲染引擎和JS引擎2.原创 2021-12-29 15:50:47 · 1601 阅读 · 0 评论 -
Binder
Linux相关知识点进程隔离: 保证进程间互不干扰,通过虚拟地址空间实现隔离用户空间内核 空间用户空间访问内核 空间的唯一方式:系统调用原创 2021-12-14 15:44:37 · 435 阅读 · 0 评论 -
Android签名方式
1.V1签名:android7.0之前的签名方式使用jar Signature方式来对APK进行签名jar Signature来自于jdkAPK签名时会生成一个META-INF文件夹(用于记录签名信息):Manifest.MF,cert.rsa,cert.sf2. V2签名:Android7.0推出的使用fullAPK Signature方式对APK进行签名2.V1和V2对比:更快的安装时间,更安全。...原创 2021-12-14 14:20:17 · 1742 阅读 · 1 评论 -
Android 混淆
参考网址:Android混淆心得Android多模块混淆、多module混淆、多library混淆的正确姿势Android多模块混淆、多module混淆、多library混淆的正确姿势原创 2021-11-29 14:02:18 · 1708 阅读 · 0 评论 -
Android Studio git更换url路径
起因因为我检出项目使用的是内网地址,每次更新/提交代码都需要插网线,偶尔知道公司是有公网git地址,所以想修改git url路径解决方法原创 2021-08-19 10:27:15 · 1184 阅读 · 0 评论 -
Android广播
参考网址Android Broadcast 和 BroadcastReceiver的自定义权限使用android 中使用自定义权限在广播中的利用总结注册广播接收器有2种方式,一种在manifest中注册,在intent-filter中声明action,一种是使用代码注册,registerReceiver(接收器,action)发送广播,设置action,使用sendBroadcast发送当我们发送私密广播,不想让第三方知道,或者不想让接受者接收相同action的恶意广播发送者原创 2021-08-11 11:20:17 · 208 阅读 · 0 评论 -
HTTPS理解
参考网址:面试官接着问你HTTPS的知识点,看这里,不要退缩!Android Https相关完全解析 当OkHttp遇到HttpsAndroid OkHttp中Https的处理一、基础知识1、 HTTP是一个无状态的(没办法存储通信状态,eg:登录状态)、 透明的网络协议2、HTTP的缺点HTTP是明文通信,没有加密,信息容易被窃听HTTP没有验证双方身份,会遭遇身份伪装HTTP无法证明报文的完整性,报文可能被篡改二、HTTPS介绍概念:HTTP通讯加密,验证原创 2021-08-10 14:33:04 · 559 阅读 · 0 评论 -
Android APK编译打包过程
参考网址: 浅谈Android编译打包流程一、基本概念1、apk本质是一个压缩包,把后缀名改成zip,就可以看到apk文件的所有内容。2、为什么不直接使用zip,答案:系统规定的不允许3、apk如何加载: 通过应用管理器这个程序,扫描所有的apk文件,把它们标记为可加载的程序,当安装apk时,把它进行解压处理4、apk解压后包含的文件:文件名备注lib所有的so动态链接库,不会被压缩处理assets资源文件,不会被压缩处理res资源文件,二进制的xml文件和原创 2021-08-09 14:32:18 · 528 阅读 · 0 评论 -
Android引入第三方依赖,编译报错,但可以运行成功
1.刚开始项目引入了第三方依赖,一直运行的好好的,忽然有一天编译一直报错,但是可以运行成功,期间各种rebuild和clean都不管用。2.最终选择File -> Invalidate Caches/Restar…,重启项目以后,项目不能运行了,报错Please configure Android SDK,3.这时只要把 File–>Close Project关掉,在主界面选择Open an existing Android Studio project即可。编译也不报错了,运行也没问题了原创 2021-08-06 14:54:35 · 662 阅读 · 0 评论 -
Java堆栈
栈:存储基本数据类型和对象的引用堆:存储对象原创 2021-08-03 15:26:28 · 112 阅读 · 0 评论 -
JVM/DVM/ADT理解
JVM本质是一个软件,是计算机硬件的一层软件抽象JVM是把.java通过编译转换为.class字节码,最后运行在JVM上,JVM把字节码翻译成机器码C语言编译出来的汇编语言可以直接跑在机器上DVM和ART是把.java通过编译转换为.class字节码,然后把.class字节码经过一系列压缩打包成.dex文件JVM基于栈,DVM和ART基于寄存器为什么Android不选择JVM: 1⃣️.class占内存2⃣️基于栈,加载慢3⃣️文件IO操作多,类查找慢为什么A...原创 2021-08-03 15:18:56 · 221 阅读 · 0 评论 -
字符字节/编码解码知识点
1.字节流指的是InputStream和OutputStream2.字符流指的是InputStreamReader和OutputStreamWriter3.请求网络,输入输出均为字节流,最后把输出的字节流转换为字符流4.URLEncoder是把除ASCII以外的特殊字符进行编码,需要指定编码格式“=”编译为“%3D” try { String str = URLEncoder.encode("=我是很","GBK"); Log.e("原创 2021-08-03 14:59:45 · 260 阅读 · 0 评论 -
HarmonyOS
谨记录下官网内容,加深记忆官网地址:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/document-outline-0000001064589184#section254451314363HarmonyOS是一款面向万物互联时代,全新分布式的操作系统HarmonyOS三大特点:1.硬件互助,资源共享 2.一次开发,多端部署 3.统一OS,弹性部署HarmonyOS支持多种开发语言API,例如:ja原创 2021-07-29 15:37:00 · 214 阅读 · 0 评论 -
Android系统五层架构
参考网址:https://www.jianshu.com/p/13da6c2e537f架构图个人理解:名称举例应用程序层通讯录,相册应用程序框架层 (java framework)各种manager,activityManager ,packageManager,contentProvider系统运行库层c++写的sqlite,还有Android虚拟机ADT硬件抽象层摄像头,将控制硬件的动作放在硬件抽象层中Linux内核层各种驱动,内存管理,进原创 2021-07-29 15:18:50 · 178 阅读 · 0 评论 -
Handler/Looper/Message关系
Handle:封装了消息的发送,也负责接收消息。内部与Looper相关联Looper:封装消息的载体,内部包含了MessgerQueue,负责从MessageQueue中获取消息,把消息传递给Handler处理MessageQueue:消息队列,负责存储消息,有消息过来就存储起来,Looper会循环的从MessageQueue中读取消息...原创 2021-07-28 17:31:13 · 238 阅读 · 0 评论 -
FrameWork源码下载
基础知识Android有两种类型的API不能在SDK中访问1.内部APi:在com.android.internal包中的api2. 隐藏API:带有@hide的类和方法当使用Android SDK开发时,系统默认引用了sdk目录下的android.jar,它里面没有内部api和隐藏api。当应用在手机设备上运行时,会调用sysytem目录下的framework.jar,它里面包含内部api和隐藏apiframework可以通过adb pull /system/framework /U原创 2021-07-28 11:22:56 · 636 阅读 · 0 评论 -
activity的启动过程
原创 2021-07-23 15:27:30 · 130 阅读 · 0 评论 -
flutter项目运行到IOS手机
1.通过Android studio可以看到创建ios模拟器的选项,但是点击创建会报错,原因是因为我没按照xcode2.安装xcode,因为我mac版本是10.14,所以安装了xcode10.1,然后我flutter版本比较新,他最低支持的xcode版本是11,所以我又把flutter sdk插件降低了版本号。3.flutte版本降低后,运行flutter doctor,报错cocoapods没安装直接照着提示运行了sudo gem install cocoapods / pod setup原创 2021-07-22 11:13:15 · 3821 阅读 · 1 评论 -
flutter初使用
import 'package:flutter/material.dart';//english_words: 包含数千个最常用的英文单词以及一些实用功能.//先在pubspec中配置版本,然后在此处引用import 'package:english_words/english_words.dart';//本示例创建一个Material APP// => 单行函数的写法void main() => runApp(new MyApp());//statelessWidget,使应用本原创 2021-07-15 17:30:07 · 223 阅读 · 0 评论 -
Flutter一直卡在-Running Gradle task ‘assembleDebug‘
解决方法:(因为我AS版本是3.6.3,这里使用的android gradle插件版本是4.1.0,所以我改成了3.6.3,同时改了gradle版本为:gradle-5.6.4-all.zip,之前是gradle-6.7-all.zip,不知道跟这个有关系没)如图具体代码如下// google()// mavenCentral() maven { url 'http://maven.aliyun.com/nexus/content/groups/pub原创 2021-07-15 11:26:56 · 546 阅读 · 0 评论 -
Flutter路线学习
https://www.jianshu.com/p/6b944e949419https://flutterchina.club/get-started/test-drive/原创 2021-07-15 11:01:16 · 193 阅读 · 0 评论 -
Mac+Android Studio+Flutter配置
打开终端,下载flutter sdk//定位到你想存放sdk的位置cd /Users/lishuang/flutter //下载sdkgit clone -b beta https://github.com/flutter/flutter.git下载完成后,开始配置 //在终端进入用户目录 cd ~ //打开环境变量 open .bash_profile //输入如下,替换成自己路径export PATH=/Users/lishuang/flutter/flutter/.原创 2021-07-15 10:21:51 · 873 阅读 · 0 评论 -
kotlin学习二(今日头条)
1. 主类package com.example.todayheadline.guolinimport android.content.Contextimport android.content.Intentimport android.widget.Toastimport com.example.todayheadline.base.BaseAppimport kotlin.concurrent.threadimport kotlin.math.lnimport kotlin.math.原创 2021-07-09 09:31:43 · 299 阅读 · 0 评论 -
Kotlin学习(菜鸟教程)
//val从不修改的变量 var 可修改的变量 val age = 18 var num :Int = 18 //变量默认不能为null,可以添加?定义list var name: MutableList<Person>? = ArrayList<Person>()原创 2021-06-22 16:45:26 · 1204 阅读 · 0 评论 -
View的触摸机制
参考文章:https://www.cnblogs.com/aademeng/articles/6541321.html原创 2021-06-10 16:22:10 · 147 阅读 · 0 评论 -
RxJava+RxAndroid+Retrofit+OkHttp网络请求
Android CLEARTEXT communication to www.baidu.com not permitted by network security policy报错原因:Android P限制了非加密的流量请求导致出现 not permitted by network security policy如何解决:1.把所有的http请求全部改为https请求2.在res的xml目录(),然后创建一个名为:network_config.xml文件...原创 2021-06-04 10:24:20 · 167 阅读 · 0 评论 -
解决依赖包引入后重复问题Duplicate zip entry
报错信息如下:主要报错信息如下:Duplicate zip entry [classes.jar:android/support/design/widget/CoordinatorLayout$Behavior.class]排查问题通过截图可以看到是因为CoordinatorLayout重复的问题,接下来就是排查问题的思路1.全局搜索“Class CoordinatorLayout”...原创 2020-10-15 17:19:55 · 2439 阅读 · 0 评论 -
Could not resolve all files for configuration ‘:classpath‘.
先放解决方法吧1.打开项目根目录下的build.gradle2.把jcenter()换成maven{ url’http://maven.aliyun.com/nexus/content/groups/public/’ }maven{ url’http://maven.aliyun.com/nexus/content/repositories/jcenter’}就可以了(我文件中有2处,所以更改了两处)报错日志如下Error:A problem occurred configuring root原创 2020-09-11 14:40:43 · 9716 阅读 · 0 评论 -
小知识点
IPC:全称interprocess communication,即进程间通信常见方式有: AIDL原创 2020-08-17 16:26:11 · 192 阅读 · 0 评论 -
JVM,DVM,JIT,AOT,ART理解
原博客地址为:https://blog.youkuaiyun.com/jason0539/article/details/50440669个人理解如下:JVM:Java虚拟机(运行java字节码)作用:Java源文件(.java)编译成Java字节码(.class)后,JVM虚拟机可以直接运行Java字节码DVM:Android虚拟机(运行Delvik字节码),简称 Dalvik虚拟机作用:Java源文件(.java)编译成Java字节码(.class)后,再把Java字节码转换为Dalvik字节码,最后原创 2020-08-17 16:09:17 · 462 阅读 · 0 评论 -
ListView隐藏头部视图有空白
ListView添加头部视图因为维护老项目,想addHeaderView,原创 2020-08-10 10:21:13 · 296 阅读 · 0 评论 -
空指针或者java.lang.NoSuchFieldError: No static field***解决方法
报错信息java.lang.NoSuchFieldError: No static field***解决方法因为我是直接复制了一份layout布局打算在这基础上进行修改的,当我运行时,开始报空指针,一直提示View赋值后为空(当时我没修改id名,存在2个相同的id名)然后我修改了id名,就开始报错java.lang.NoSuchFieldError最终我自己新建了一个layout布局,然后把代码复制过来,就不报错了。...原创 2020-08-10 10:18:02 · 1750 阅读 · 0 评论 -
android studio将一个项目作为module(library)导入到另一个项目
先把旧项目作为Module导入开始导入添加library依赖添加完成后报错把com.android.application改为com.android.library,并删除或注释applicationId编译完成,运行项目发现手机上有2个应用图标,修改如下:中间遇到的问题:1.注意library中的xml布局最好不要和主module(app)中的名字相同,不然library中调用的就是主module的同名布局,会有问题2.当我把library➡️manifest➡️intent原创 2020-07-24 15:11:47 · 836 阅读 · 0 评论