首页
学习
活动
专区
工具
TVP
发布

CSDN

专栏作者
135
文章
221318
阅读量
26
订阅数
Android数据存储的五种方式
Android数据存储的五种方式 使用SharedPreferences存储数据 文件存储数据 SQLite数据库存储数据 使用ContentProvider存储数据 网络存储数据 使用SharedPreferences存储数据 它是Android提供的用来存储一些简单配置信息的一种机制,采用了XML格式将数据存储到设备中。只能在同一个包内使用,不能在不同的包之间使用。 文件存储数据 文件存储方式是一种较常用的方法,在Android中读取/写入文件的方法,与Java中实现I/O的程序是完全一样的,提
是阿超
2022-11-23
6840
Android进程与线程
Android进程与线程 进程 前台进程 可见进程 服务进程(service进程) 后台进程 空进程 Android线程间通信有哪几种方式 Devik进程和Linux进程的区别 进程保活(不死进程) 当前Android进程保活手段主要分为 黑、白、灰 三种 黑色保活 白色保活 灰色保活 进程 前台进程 可见进程 服务进程 后台进程 空进程 前台进程 // 前台进程 当前进程activity正在与用户进行交互。 当前进程service正在与activity进行交互或者当前service调用了startF
是阿超
2022-11-23
6430
Android为什么不能在子线程更新UI
// 注:ViewManager 是一个接口,WindowManger 接口继承了这个接口,我们通常都是通过 WindowManger(具体实现为 WindowMangerImpl) 进行 view 的 add remove update 操作的。 对应的线程需要创建 Looper 并且调用 Looper的loop 方法,开启消息循环。
是阿超
2022-11-23
1.3K0
Android四大组件详解
Android四大组件详解 Activity(活动) 概念 Service(服务) 概念 定义与作用 Content Provider(内容提供器) 介绍 作用 系统的Content Provider 自定义Content Provider Broadcast Receiver广播 概述 广播的作用 广播接收者的创建 广播接收者的类型 注册广播的两种方式 静态注册和动态注册的区别 有序广播和无序广播的区别 有序广播接收者们的优先级 有序广播的拦截和篡改 简单介绍:Android四大核心组件指的是 Acti
是阿超
2022-11-23
2.6K0
Service介绍
使用 start 方式启动的生命周期:onCreate() – > onStartCommand() – > onDestory() 注意: 如果服务已经开启,不会重复回调 onCreate() 方法,如果再次调用 context.startService() 方法,service 而是会调用onStart() 或者 onStartCommand() 方法。停止服务需要调用 context.stopService() 方法,服务停止的时候回调 onDestory 被销毁。 特点: 一旦服务开启就跟调用者(开启者)没有任何关系了。开启者退出了,开启者挂了,服务还在后台长期的运行,开启者不能调用服务里面的方法。
是阿超
2022-11-16
6940
Activity详解
// 总结 当Activity启动时,依次会调用onCreate(),onStart(),onResume(),而当Activity退居后台时(不可见,点击Home或者被新的Activity完全覆盖),onPause()和onStop()会依次被调用。当Activity重新回到前台(从桌面回到原Activity或者被覆盖后又回到原Activity)时,onRestart(),onStart(),onResume()会依次被调用。当Activity退出销毁时(点击back键),onPause(),onStop(),onDestroy()会依次被调用,到此Activity的整个生命周期方法回调完成。现在我们再回头看看之前的流程图,应该是相当清晰了吧。嗯,这就是Activity整个典型的生命周期过程。
是阿超
2022-11-02
9110
Android面试题大全
Android面试题总结 Android四大组件 Activity(活动) 概念 Service(服务) 概念 定义与作用 Content Provider(内容提供器) 介绍 作用 系统的Content Provider 自定义Content Provider Broadcast Receiver(广播) 概述 广播的作用 广播接收者的创建 广播接收者的类型 注册广播的两种方式 静态注册和动态注册的区别 有序广播和无序广播的区别 有序广播接收者们的优先级 有序广播的拦截和篡改 Android类加载器 An
是阿超
2022-11-02
1.3K0
Android六大布局
Android六大布局 LinearLayout(线性布局) 常用属性 FrameLayout(帧布局) 常用属性 RelativeLayout(相对布局) 常用属性 AbsoluteLayout(绝对布局) 常用属性 TableLayout(表格布局) 常用属性 GridLayout(网格布局) 常用属性 TableLayout 和 GridLayout的区别 gravity和layout_gravity的区别 为什么 XML 资源文件要从文本格式编译成二进制格式 Android 资源管理框架又是如何快速
是阿超
2022-11-02
2.5K0
Android保存图片到相册(适配android 10以下及以上)
Android保存图片到相册 效果图 遇见平江路 代码实现 activity_main.xml MainActivity DownloadPhotoUtil ImageUtil 效果图 📷 遇见平江路
是阿超
2022-10-05
3.5K0
des加密+base64编码,base64解码+des解密
DES加密算法出自IBM的研究,后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为DES使用56位密钥,以现代计算能力,很轻松即可被破解。虽然如此,在某些简单应用中,我们还是可以使用DES加密算法,本文简单讲解DES的JAVA实现。
是阿超
2022-09-23
3K0
通过设备管理对象获取assets的文件资源
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 随后会出来这个页面,要选中Change Folder Location,然后接着看下面的图(有具体操作步骤)
是阿超
2022-09-21
8690
Android实现点击链接跳转功能
Android实现点击链接跳转功能 实现效果图 代码实现 activity_login.xml LoginActivity.java 实现效果图 点击用户协议到人工智能教程 PS:前些天发现了一个
是阿超
2022-08-07
1.8K0
Java通过反射获取类调用方法
Java通过反射获取类调用方法 示例 ReflectUtil.java 模块一 Gjc.java 模块二 UiUtil.java DialogManager.java 在不同模块之间,需要使用其他模块的方法,这个时候就需要用到反射了 示例 模块一操作模块二,即模块一调用模块二中的方法 ReflectUtil.java /** * 反射工具类 */ public class ReflectUtil { public static Class getClass(String name) {
是阿超
2022-08-07
1.7K0
Android调用相机与相册的方法
Android调用相机与相册的方法 操作流程 点击拍摄 效果图 点击相册选择 效果图 拒绝权限的情况 效果图 功能实现 项目配置 1.先在项目根目录的build.gradle的repositories添加: 2.在build.gradle(:app)的dependencies添加: 3.添加提示dialog样式 4.添加底部dialog样式 底部dialog弹出动画(dialog_in_anim.xml) 底部dialog关闭动画(dialog_out_anim.xml) 5.添加权限 6.在Android
是阿超
2022-08-07
1.8K0
Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class
<------------------------------------> 但是在showConfirmDialog的时候发生了异常导致程序崩溃了, 百度了很多 没找到解决方法,现已解决,特来记录一下这个错误原因
是阿超
2022-08-07
1.1K0
Android实现圆形图像的两种方法(Glide和Picasso)
Android实现圆形图像的两种方法 先上效果图 Glide Picasso CircleTransform.java(圆形图片工具类) 先上效果图 📷 📷 Glide 在app的build.gradle中引入: // 加载图片 implementation 'com.github.bumptech.glide:glide:4.13.1' // 如果涉及到网络加载图片,需要在manifest.xml文件中增加网络权限 <uses-permission android:name="android.permis
是阿超
2022-08-07
7150
Android实现自定义进度条(源码+解析)
Android实现自定义进度条 .xml文件 属性介绍 .java文件 效果图 ZzHorizontalProgressBar .xml文件 属性介绍 style:进度条的样式 style="?and
是阿超
2022-08-07
4850
Android按钮防抖动,避免发送多次请求
Android按钮防抖动 Util代码(复制即用) 使用用例 Util代码(复制即用) package top.gaojc.util; public class ButtonClickUtils { private static long lastClickTime;//记录最近一次点击时间 private static long interval = 1000;//间隔为1秒 private static int lastButtonId;//存放最近一次传入的按钮id /
是阿超
2022-06-12
1.3K0
实现倒计时、计算通话结束时距离现在过了多久
这里写目录标题 计算通话结束时距离现在过了多久 倒计时 计算通话结束时距离现在过了多久 String strTime = ""; Date callDate = callRecord.getCallDate();//通话结束时时间 long callTime = callDate.getTime();//返回通话结束时时间毫秒值 long currentTimeMillis = System.currentTimeMillis();//当前时间毫秒值
是阿超
2022-06-07
3290
姓名按照首字母排序
姓名按照首字母排序 private List<UserInfo> userInfoSort = new ArrayList<>();//记录排好序的数据 private void nickNameSort(List<UserInfo> userInfo) { // 实例化对象,当前环境设置为CHINA 中文 Comparator comparator = Collator.getInstance(Locale.CHINA); List<String> list =
是阿超
2022-06-07
1.6K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档