![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 95
椛丿未眠”
这个作者很懒,什么都没留下…
展开
-
安卓开发(二)中间层应用、后台应用与多任务处理机制
文章目录广播-broadcast静态注册动态注册和取消注册广播通知-notification多任务和服务handle实现异步计数器例子进度条例子广播-broadcast静态注册1- 新建广播接收类:2-在manifest中静态注册例如这里注册了广播的启动指令为com.example.BROADCAST3-在activity中发送广播注意andriod8.0以上需要显式的intent;4-在广播接收器类中处理广播事件:动态注册和取消注册广播与静态注册过程的主要不同是不需要在原创 2022-03-03 21:53:27 · 568 阅读 · 0 评论 -
安卓开发(四)收藏的轮子——图片相关
文章目录界面布局界面布局沉浸式标题栏原创 2022-04-15 15:28:43 · 358 阅读 · 0 评论 -
安卓开发(三)数据存储机制、文件IO、SQLite
文章目录SharedPreferencesSharedPreferences原创 2022-03-07 21:48:16 · 1651 阅读 · 2 评论 -
安卓开发(一)环境搭建、基本程序与控件
Intent:协助应用间的交互与通信根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,可以将Intent理解为不同组件之间通信的“媒介”专门提供组件互相调用的相关信息。intent书写两个activity页面跳转:也可以在manifest.xml中activity中的action来实现跳转:当xml配置文件中action名有重名时,会由用原创 2022-01-11 20:57:20 · 3107 阅读 · 0 评论 -
基础巩固(六)自定义View
从View的工作流程(measure过程、layout过程、draw过程)来看,若要实现自定义View,根据自定义View的种类不同(单一View / ViewGroup),需自定义实现不同的方法ViewGroup 的子类(RelativeLayout、LinearLayout)有其对应的 ViewGroup.LayoutParams 子类它的作用是指定视图View的高度和宽度等布局参数。原创 2023-06-18 19:55:08 · 251 阅读 · 0 评论 -
安卓进阶(一)App性能优化
include>标签可以实现在一个layout中引用另一个layout的布局,这通常适合于界面布局复杂、不同界面有共用布局的APP中,比如一个APP的顶部布局、侧边栏布局、底部Tab栏布局、ListView和GridView每一项的布局等,将这些同一个APP中有多个界面用到的布局抽取出来再通过。Android系统为每个应用程序分配的内存有限,当应用程序中出现内存泄露较多,不正常使用内存等情况时,容易导致应用程序出现所需的内存超出系统能够为其分配的内存限额(OOM),从而导致程序崩溃。原创 2023-06-03 16:19:30 · 2014 阅读 · 0 评论 -
基础巩固(五)Android通过WebView与Js交互
WebView是一个基于webkit引擎、展现web页面的控件。Android的Webview在低版本和高版本采用了不同的webkit版本内核,4.4后直接使用了Chrome。显示和渲染web界面直接使用html文件(网络上或者本地asset)作为布局可与JavaScript交互调用WebView控件功能强大,除了具有一般View的属性和设置外,还可以对url请求、页面加载、渲染、页面交互进行强大的处理。原创 2023-06-02 17:56:56 · 3052 阅读 · 0 评论 -
基础巩固(四)View体系与事件分发
事件分发从Activity到ViewGroup再到ViewActivity事件分发时,先获取到window对象,执行它的事件分发,window会将事件传递给(视图树根),DecorWindow执行它父类的事件分发,DecorView本质上是一个,而所有的Layout布局的基类都是ViewGroup,至此事件分发由Activity传递到ViewGroup如果ViewGroup没有消费事件,则执行Activity自身的事件处理函数。ViewGroup对事件的分发时,首先判断是否拦截。默认是不拦截的。原创 2023-05-31 22:21:49 · 593 阅读 · 1 评论 -
流行框架(二)网络请求库 OKhttp
网络请求在 Android 开发中非常常见,为了降低开发周期和难度,我们经常会选用网络请求的开源库。网络请求库的本质是 封装了网络请求异步数据处理功能的库。其中网络请求功能则是基于Android网络请求原生的方法(HttpClient或者将call请求任务加入到正在运行的同步队列中调用基于拦截器链获取返回值方法请求结束后,从同步队列移除。同步请求是阻塞式的。异步请求enqueue()的核心步骤是五步。判断是否call对象重复添加,采用同步锁机制,第一次添加时,将标志executed。原创 2023-05-30 22:08:07 · 863 阅读 · 0 评论 -
流行框架(一)EventBus(组件通信)、ARouter(页面跳转)
ARouter是阿里开源的一款路由框架,是一个用于帮助Android App进行组件化改造的框架,支持模块间的路由跳转通信解耦。ARouter通常作为公共基础组件BaseModule,是上层组件AModule和BModule的公共依赖。假如上层组件AModule中的某个Activity(例如AActivity)想要跳转到BModule中的BActivity,为了实现模块间解耦,又不能直接引用目标Activity。ARouter的做法是给每个需要跳转的目标Activity设置一个别名,通过映射表的方式。原创 2023-05-29 22:12:51 · 850 阅读 · 0 评论 -
安卓基础巩固(三)多线程、数据存储、文件IO、SQLite
Handler.sendMessage()的入参是Message对象,可以在工作线程中使用Handler.sendMessage(),发送Message,然后在主线程中接收Message,执行更新UI的操作。每个线程中只能拥有一个Looper,一个Looper可绑定多个线程的Handler,也就是说,多个线程的Handler可以向一个线程的Looper所持有的MessageQueue中发送Message。Handler直译为处理者,它是子线程与主线程间的通信媒介,线程消息的主要处理者。原创 2023-05-23 22:19:35 · 968 阅读 · 0 评论 -
安卓基础巩固(六):设计原则、安卓主流技术框架MVC/MVP/MVVM、设计模式
例如使用一个Thread类下边的run方法,按照迪米特原则,可以把run单独抽离出来,构建一个Runnable接口供userClass使用,这样调用者userClass与Thread之间的交互是最少的。使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。或者说一个类,对自己需要调用的类知道得最少,类的内部应该与被调用者无关,也称。提倡一个类一旦开发完成,后序增加新的功能,不应该通过修改这个类实现,而是通过继承或者接口实现增加新的类。一个类应该是一组相关性很高的函数及数据的封装。原创 2023-05-23 18:01:49 · 762 阅读 · 0 评论 -
安卓基础巩固(二):四大组件:Activity、Service、Broadcast、Content Provider
简单介绍Android工程中的资源目录(resources),res。资源是指代码使用的附加文件和静态内容,例如位图、布局定义、界面字符串、动画说明等。把资源放进对应的目录后,可使用在项目R类中生成的资源ID来访问这些资源。形如R.drawable.icon,R.layout.main_activity。R类是自动生成的。代表resources。将各类资源放入项目 res/ 目录的特定子目录中。子目录的名字特别重要。我们把不同的资源放到不同的子目录中(res子目录)。参考下面的表格。原创 2023-05-22 20:36:04 · 763 阅读 · 1 评论 -
安卓基础巩固(一):工程结构、基本概念、常用布局、基本组件、动画
只能显示一段文本的listview太单调了,我们现在就来对listview的界面进行定制,让其丰富内容。在activity.xml中声明一个ListView构建每个列表选项中的数据类Fruit:} }构建每个列表选项布局文件fruit_item.xml原创 2023-05-21 17:35:09 · 704 阅读 · 0 评论