
android
文章平均质量分 73
weixin_44128558
难道岁月,多少课也可白上
展开
-
记录一下:Android 跳转apk界面报权限错误 java.lang.SecurityException: Permission Denial: starting Intent
将apk应用变为系统应用,就能跳转所有的apk界面。要跳转的activity界面增加。原创 2023-03-04 10:43:27 · 427 阅读 · 0 评论 -
Android笔记:动画
由5中类型组成 alpha、scale、translate、rotate、setandroid:duration:完成一次动画的时间,毫秒android:fillAfter:true,控件动画结束时,保持动画结束时的状态android:fillBefore:true,控件动画结束时,还原到初始化状态android:fillEnabled:与 fillBefore 相同,控件动画结束时,还原到初始化状态android:repeatCount:动画重复的次数,为 infintie 时表示无线循环,设置为原创 2023-02-16 11:24:05 · 500 阅读 · 0 评论 -
Android 自定义View 遥控器按钮
自定义View 遥控器上下左右ok按钮private lateinit var paint : Paint private val buttonNum : Int = 4 //按钮数量 private val offsetAngel : Float = 10f;原创 2023-02-07 16:56:27 · 726 阅读 · 0 评论 -
Android 自定义控件
自定义效果,shape定义路径填充的样式,advance是每个图形之间的间距,phase指定偏移量,style分为ROTATE、MORPH和TRANSLATE。如果是一个自定义控件,则需要派生自 View 或其子类,如果是一个自定义的容器,则需要派生自 ViewGroup 或其子类。:设置阴影效果,radius为阴影角度,dx和dy为阴影在x轴和y轴上的距离,color为阴影的颜色。:设置是否使用抗锯齿功能,设置后会平滑一些,但绘制速度会变慢。:设置画笔的颜色,a代表透明度,r,g,b代表颜色值。原创 2023-02-03 18:15:02 · 1019 阅读 · 0 评论 -
笔记:Android 系统架构
系统内置应用程序和非系统应用程序,源码目录中的 packages 目录对应系统应用层。原创 2023-01-07 15:08:56 · 748 阅读 · 0 评论 -
android flutter 安装
最后一个错误提示找不到Visual Studio,下载安装即可,但这个比较大,安装比较久,原因是启用了flutter的windows桌面版开发的功能,开发windows桌面版是一定要vs环境的,如果不需要,用命令。如果使用的是android studio自带的sdk则通过下图去安装这个插件,如果是手动下载的sdk,要找到sdk安装目录中的SDK Manager.exe进行安装。注意,不要将flutter安装到需要一些高权限的路径,比如C:\Program Files\。至此,安装完成,轻松搞定。原创 2022-12-19 10:00:49 · 621 阅读 · 0 评论 -
File “build/make/tools/fileslist_util.py“, line 62, in main
fileslist_util.py是将json数据转换为txt文件具体报错信息在打印上面一点的位置很明显,在67-70行有 ascii 编解码器无法识别的字符,大概率是有中文字符\out\target\product\机型名称\installed-files.json\out\target\product\机型名称\installed-files.txt。原创 2022-10-31 11:58:14 · 566 阅读 · 0 评论 -
Android Fragment 按键监听
Fragment 中是没有监听按键的方法的,但是Fragment是寄托于Activity的,只要在Activity中将监听到的按键传递给Fragment就行,网络上大部分都是让Fragment 获得焦点,再添加一个按键监听器,这样就能监听到了上面网络上的方法都需要寻求focus,即Fragment抢占焦点,如果不抢占焦点,则setOnKeyListener() 不起作用,无法监听到按键响应,但这样 Fragment中的子控件无法获得焦点,尴尬。原创 2022-10-10 11:19:34 · 2955 阅读 · 0 评论 -
Android 中文编译报错 error: unmappable character (0xB3) for encoding UTF-8
Android 中文编译报错 error: unmappable character (0xB3) for encoding UTF-8 如下图片原因:文件的编码格式不对,编码格式不支持中文,切换成UTF-8即可1.查看文件的编码格式2.切换文件的编码格式更改成功后可正常编译成功...原创 2022-07-07 15:38:48 · 1389 阅读 · 0 评论 -
Android 9 低内存应用程序保活
遇到个问题,Launcher竟然被杀了,导致退出应用返回Launcher的时候Launcher重新冷加载,时间过长体验不好ADJ 值都在 android 主要是使用用户空间的lmkd来管理,主要是面向app的内存管理进程(一般系统进程oom_adj都小于0, lmkd只杀oom_adj >= 0的进程)在内存不足 , 要杀进程 , 回收内存时 , 会根据该 oom_adj 杀掉大于该警戒值对应的重要性值的程序,比如当系统内存小于 19576 * 4Kb = 76 M 开始杀 oom_adj 大于10 的原创 2022-06-21 14:57:57 · 797 阅读 · 0 评论 -
笔记:Android 蓝牙 Bluetooth
BluetoothAdapter(这个类是线程安全的):执行基本的蓝牙任务,例如启动设备发现、查询绑定(配对)设备的列表、使用已知MAC地址实例化BluetoothDevice、创建BluetoothServerSocket以侦听其他设备的连接请求,以及启动对Bluetooth LE设备的扫描。要获取本地蓝牙适配器的BluetoothAdapter,请调用BluetoothManager上的BluetoothManager.getAdapter()函数,在JELLY_BEAN_MR1及以下版本上,需要使原创 2022-06-14 14:55:20 · 1411 阅读 · 0 评论 -
Android UI Demo
activity_main.xml 没啥好说的就俩按钮,由于是demo,并且代码量不多,就所有的都写在了onCreate方法内,默认的dialog虽然简单,但是可以更改的东西比较少,都是比较固定的样式虽然都在用recyclerview,但listview还是信手拈来,当然也可以将 listview 替换成 recyclerviewalert_dialog.xml这岂不是想显示啥就显示啥dialog_list_item_single_choice.xml偷懒直接用 CheckedTextView..原创 2022-06-08 11:34:40 · 273 阅读 · 0 评论 -
笔记:注解(ViewBinding)
View Binding是Android Studio 推出的特性,目的是为了替代findViewById(内部实现还是使用findViewById)。在模块中启用视图绑定之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。注意:视图绑定在 Android Studio 3.6 Canary 11 及更高版本中可用。View Binding 的优点与使用 findViewById 相比,视图绑定具有一些很显著的优点:Nu原创 2022-04-08 13:21:31 · 289 阅读 · 0 评论 -
笔记:注解
JDK 5开始,Java增加了注解,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理标准注解@Override:对覆盖超类中的方法进行标记,若被标记的方法没有实际覆盖超类中的方法,编译器会发出警告@Deprecated:不鼓励使用或已过时的方法添加注释,当其他人员使用这些方法时,编译器会提示信息@SuppressWarnings:选择性取消特定代码中的警告@SafeVarargs:JDK 7新增,用来生命使用了可变长度参数的方法,其在与泛型类一起使用时不会出现类型安全问题元注解原创 2022-03-29 23:25:51 · 3234 阅读 · 0 评论 -
笔记:Android AIDL
AIDL(Android Interface Definition Language)Android接口定义语言,主要目的是实现进程间通信AIDL其实是一个模板,因为在使用过程中,实际起作用的并不是AIDL文件,而是据此而生成的一个IInterface的实例代码,AIDL是为了避免重复编写代码而出现的一个模板AIDL支持的数据类:八种基本数据类型:byte、char、short、int、long、float、double、booleanString,CharSequence实现了Parcelab原创 2021-01-06 16:38:51 · 376 阅读 · 0 评论 -
笔记:Android 音乐分类
添加权限和相关依赖 // ViewModel and LiveData implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0' //汉字转换拼音 implementation 'com.belerweb:pinyin4j:2.5.1' //图片加载 implementation 'com.github.bumptech.glide:glide:4.11.0'<uses-permissi.原创 2020-10-19 16:52:01 · 328 阅读 · 0 评论 -
笔记:Android 时间轴相册
总的来说分为两步:1拿到数据,2展示数据1.获取所有的图片数据拿到数据之前应该先确定下图片数据在程序中存放的数据结构,由图片于是根据时间进行分组的public class PhotoGroup { private String title; private ArrayList<Photo> photoArrayList; // 省略 getter 和 setter 方法}public class Photo { private long time;.原创 2020-10-10 15:07:46 · 1990 阅读 · 8 评论 -
笔记:Android Material Design
谷歌在 2014 年 Google I/O 大会上推出一套全新的界面设计语言——Material DesignMaterial DesignToolbarToolbar 不仅继承了 ActionBar 的所有功能,而且灵活性更高,可以配合其他控件来完成一些 Material Design 的效果...原创 2020-09-25 12:31:08 · 322 阅读 · 0 评论 -
笔记:Android 位置服务
基于位置服务简称 LBS,主要工作原理通过无线电通讯网络或者 GPS 等定位方式来确定移动设备所在的位置,GPS 定位是通过手机内置的 GPS 硬件和卫星交互获得当前经纬度信息,网络定位是根据手机当前网络附近的三个基站进行测速,以此计算出手机和每个基站之间的距离,在通过三角定位出一个大概的位置打开网页:http://lbsyun.baidu.com/apiconsole/key应用管理>>我的应用>>创建应用输入应用名称,选择应用类型为:Android SDK,输入 SHA原创 2020-09-21 15:55:53 · 533 阅读 · 0 评论 -
笔记:Android Service 服务
服务(Service)是 Android 中实现后台运行的解决方案,一般都是不需要和用户进行交互而且要求长时间运行的任务,服务不会自动开启线程,所有的程序都是运行在主线程当中的,如果手动创建子线程,有可能出现主线称被阻塞的情况Android 多线程...原创 2020-09-17 12:32:05 · 348 阅读 · 0 评论 -
笔记:Android 网络技术
WebViewWebView 可以在应用里嵌套一个浏览器,从而可以展示各种网页 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web_view); WebView webView = (WebView)findViewById(R.原创 2020-09-11 16:23:40 · 124 阅读 · 0 评论 -
笔记:Android 起步Activity
1. .gradle 和 .idea这两个目录下放的是Android Studio 自动生成的一些文件2. app项目中的代码、资源等都放在这个文件夹(1).build和外层的build类似,主要包含在编译时自动生成的文件(2).libs项目中使用的第三方jar包,放在这个文件夹下的jar包都会自动添加到构建路径里去(3).androidTest此处是用来编写Android Test 测试用例的,可以对项目进行一些自动化测试(4).java放置编写的代码的地方(5).res项目中使原创 2020-09-01 22:52:44 · 148 阅读 · 0 评论 -
笔记:Android 多媒体
通知摄像头和相册播放多媒体文件原创 2020-09-01 21:12:37 · 275 阅读 · 0 评论 -
笔记:Android Content Provider内容提供器
目前所有的信息数据都只能在当前应用程序中访问,不能被其他应用程序访问,Antroid 提供了内容提供器(Content Provider)机制,允许一个程序访问另一个程序中的数据,同时保证被访问数据的安全性,内容提供器使用时会用到运行时权限功能运行时权限Android 6.0 系统中引用了运行时权限这个功能,从而更好保护用户安全和隐私,下列是危险权限,一共9组24个权限,剩下的都是普通权限权限组名权限名CALENDAR(日历)READ_CALENDAR WRITE_CALEND原创 2020-08-28 00:02:11 · 220 阅读 · 0 评论 -
笔记:Android 数据存储持久化
Android 提供3种持久化方式:文件存储、SharedPreference存储、数据库存储文件存储Context 类中提供了一个 openFileOutput() 方法,可以用于将数据存储到指定的文件夹中,这个方法接收两个参数,第一个是文件名,第二个是文件的操作模式,主要有两种模式可选:MODE_PRIVATE 和 MODE_APPEND,MODE_PRIVATE 是默认的操作方式,表示当制定...原创 2020-08-16 15:58:32 · 224 阅读 · 0 评论 -
笔记:Android Brodcast广播
广播分为两种:普通广播、有序广播普通广播:是一种完全异步执行的广播。在广播发出之后所有的广播接收器几乎同时接受到这条消息,无法被截断有序广播:是一种同步执行的广播,在广播发出后同时只有一个广播接收器接收到这条消息,当这个广播接收器中的逻辑执行完成后,广播才会继续传递,接受消息有先后顺序,优先级高的接收器先接收广播,并且前面的接受器可以截断正在传送的广播接收系统广播注册广播接收器:动态注册、静态注册定义 public class NetworkChangeReceiver extends Broa原创 2020-08-06 17:12:41 · 297 阅读 · 0 评论