
android
文章平均质量分 73
crayon-shin-chan
这个作者很懒,什么都没留下…
展开
-
android入门之 Support Library
开发支持多个 API 版本的应用时,需要一种方法在早期版本的 Android 上提供更新的功能,或者优雅地回退到等效功能。可以利用支持库来提供兼容层,而不是构建代码来处理平台的早期版本。支持库提供标准框架 API 中不可用的其他便利类和功能,以便更轻松地开发和支持更多设备。Android 支持库最初是一个用于应用程序的二进制库,现已发展成为一套用于应用程序开发的库。许多这些库现在是应用程序开发的一部分,即使不是必需的,也是强烈推荐的。原创 2022-11-07 23:36:59 · 1037 阅读 · 0 评论 -
android入门之使用 adb 进行屏幕截图
在 shell 里进行截图,保存到 sdcard。下载截图到计算机当前目录。原创 2022-10-05 20:45:37 · 1114 阅读 · 0 评论 -
android入门之App Links应用链接
文档:https://developer.android.com/training/app-links在android上点击链接的目的是访问想要查看的内容。可以设置 Android 应用链接将用户带到特定内容,绕过应用选择对话框,也称为消歧对话框。Android 应用链接利用 HTTP URL 与网站的关联,未安装应用的用户可以直接访问网站上的内容。android应用链接包含三种类型:深层链接、Web链接和 Android 应用链接。这三种链接实际上是包含关系,范围依次缩小深层链接是任何方案的 URI,可将原创 2022-06-19 16:10:47 · 1899 阅读 · 0 评论 -
android入门之Fragments
文档:https://developer.android.com/guide/fragments1.简介Fragment代表应用程序 UI 的可重用部分。片段定义和管理自己的布局,有自己的生命周期片段不能独立存在,必须由一个活动或另一个片段托管。片段的视图层次结构成为主机视图层次结构的一部分或附加到主机的视图层次结构。Android Jetpack库如 Navigation、 BottomNavigationView和ViewPager2与 Fragment 一起使用。片原创 2022-05-30 16:57:43 · 333 阅读 · 0 评论 -
android入门之Navigation导航
文档:https://developer.android.com/guide/navigation/navigation-principles1.导航原理不同屏幕和应用程序之间的导航是用户体验的核心部分。以下原则为跨应用程序提供一致且直观的用户体验设定了基准。Navigation 组件旨在默认实现这些 原则,在应用之间移动时可以在导航中应用相同模式。1.1 固定起始目的地每个应用程序都有一个固定的起始目的地。这是用户从启动器启动时看到的第一个屏幕。这个目的地也是用原创 2022-05-30 09:44:50 · 1248 阅读 · 0 评论 -
android入门之App shortcuts应用快捷方式
文档:https://developer.android.com/guide/topics/ui/shortcuts1.简介作为开发人员,可以定义快捷方式以在应用程序中执行特定操作。快捷方式可以显示在受支持的启动器或助手中,如 Google 助手,帮助用户在应用中快速任务。1.1 快捷方式类型每个快捷方式引用一个或多个 Intent当用户选择快捷方式时,每个Intent都会在应用中启动特定操作。快捷方式类型取决于应用的关键用例。可以表示为快捷方式的操作示例包括:原创 2022-05-29 12:20:35 · 357 阅读 · 0 评论 -
android入门之Activity 后台启动限制
文档:https://developer.android.com/guide/components/activities/background-starts1.简介Android 10(API 级别 29)及更高版本对应用在后台运行时何时可以启动 Activity 施加了限制 。这有助于最大限度地减少对用户的干扰,并使用户更好地控制屏幕上显示的内容。出于启动活动的目的,运行前台服务的应用程序仍被视为在后台。2.显示通知几乎所有情况下,后台应用程序都应该显示时间敏感的.原创 2022-05-28 16:18:27 · 921 阅读 · 0 评论 -
android入门之Activity Recents screen
文档:https://developer.android.com/guide/components/activities/recents1.简介最近的屏幕是一个系统级 UI,也称为概览屏幕、最近的任务列表或最近的应用程序列出了最近访问的活动和任务。用户可以在列表中导航并选择恢复任务,或者从列表中移除。最近屏幕使用以文档为中心的模型(在 Android 5.0 中引入)其中包含不同文档的同一活动的多个实例可能在最近屏幕中显示为任务。Google Drive 可能对每一个文档都有原创 2022-05-28 15:40:05 · 342 阅读 · 0 评论 -
android入门之Loaders加载数据
文档:https://developer.android.com/guide/components/loaders1.简介Loader API 允许从内容提供者或其他数据源加载数据, 以显示在FragmentActivity或Fragment中首先考虑一下没有 loader 可能会遇到的问题:直接在 Activity 或 Fragment 中获取数据,将因 UI 线程执行可能较慢的查询而缺乏响应能力。 AsyncTask从另一个线程获取数据,需要管理线程和 UI 线程。Lo原创 2022-05-27 00:04:18 · 226 阅读 · 0 评论 -
android入门之Bundle和Parcelables传递数据
文档:https://developer.android.com/guide/components/activities/parcelables-and-bundleshttps://developer.android.com/reference/android/os/Parcelable1.简介Parcelable和Bundle对象旨在用于活动之间以及跨配置更改存储状态。Parcel不是通用的序列化机制,不应该将任何Parcel数据存储在磁盘上或通过网络发送。2.活动间发送原创 2022-05-24 23:34:22 · 546 阅读 · 0 评论 -
android入门之Activity进程和生命周期
文档:https://developer.android.com/guide/components/activities/process-lifecycle1.简介大多数情况下,每个 Android 应用程序都在其自己的 Linux 进程中运行。当应用程序的某些代码需要运行时,会为应用程序创建进程,并将一直运行直到不再需要。Android 的一个基本特性是应用进程的生命周期不直接由应用本身控制。而是由系统通过正在运行的应用程序、对用户的重要性以及系统中可用的总内存量来确定的。原创 2022-05-24 22:45:54 · 253 阅读 · 0 评论 -
android入门之Activity任务和返回堆栈
文档:https://developer.android.com/guide/components/activities/tasks-and-back-stack1.简介任务是用户在应用程序中尝试执行某些操作时与之交互的活动的集合。这些活动按每个活动的打开顺序排列在一个堆栈(后堆栈)中。如果用户按下或手势返回,则该新活动完成并从堆栈中弹出。2.任务的生命周期设备主屏幕是大多数任务的起始位置。当用户在应用启动器中触摸应用或图标时,该应用的任务就会出现在前台。如果原创 2022-05-22 23:22:23 · 664 阅读 · 0 评论 -
android入门之Activity测试
文档:https://developer.android.com/guide/components/activities/testing1.简介Activity 充当应用程序中每个用户交互的容器,因此测试 Activity 行为非常重要,如:另一个应用程序会中断应用程序的活动。 系统会破坏并重新创建活动。 用户将活动置于新的窗口环境中,例如画中画 (PIP) 或多窗口。2.驱动活动状态测试应用活动的一个关键方面是将应用活动置于特定状态。要定义测试的这个部分,请使用A原创 2022-05-21 16:37:10 · 641 阅读 · 0 评论 -
android入门之Activity处理活动状态变化
文档:https://developer.android.com/guide/components/activities/state-changes1.简介不同的事件,一些是用户触发的,一些是系统触发的,导致 Activity 状态转换到另一种状态。2.配置更改有许多事件可以触发配置更改。最突出的例子是纵向和横向方向之间的变化。可能导致配置更改的其他情况包括更改语言或输入设备。发生配置更改时,活动将被销毁并重新创建。原始活动实例将触发以下回调:onPause()原创 2022-05-21 15:02:02 · 406 阅读 · 0 评论 -
android入门之Activity生命周期
文档:https://developer.android.com/guide/components/activities/activity-lifecycle1.简介当用户浏览、离开和返回应用程序时,Activity实例生命周期会转换为不同的状态。Activity提供了许多回调,允许知道状态已更改。在生命周期回调方法中,可以声明当用户离开和重新进入活动时活动的行为方式。可能会在用户切换到另一个应用时暂停视频并终止网络连接。当用户返回时重新连接到网络并恢复视频。每个回调原创 2022-05-21 14:08:10 · 206 阅读 · 0 评论 -
android入门之Activity简介
文档:https://developer.android.com/guide/components/activities/intro-activities1.简介Activity 是 Android 的关键组件。与main()方法启动应用程序不同,Android 通过调用Activity生命周期的特定回调方法来启动代码。2.理念移动应用与桌面应用的不同之处在于,用户与应用的交互并不总是从同一个地方开始。用户旅程通常是不确定地开始的。如果从主屏幕打开电子邮件应用程序原创 2022-05-20 22:55:09 · 220 阅读 · 0 评论 -
android入门之 manifest meta-data
文档:https://developer.android.com/guide/topics/manifest/meta-data-element1.简介meta-data提供给父组件附加数据项。一个组件元素可以包含任意数量的<meta-data>子元素。所有这些值都收集在一个Bundle对象中,并作为 PackageItemInfo.metaData字段提供。普通值通过value 属性指定。但是,要将资源 ID 分配为值,请改用 resource属性。2.语法原创 2022-05-17 23:41:05 · 690 阅读 · 0 评论 -
android-ui入门之AppBar
文档:https://developer.android.com/training/appbar1.简介应用栏(也称为“操作栏”)的主要功能如下:一个专用区域,可以标识您的应用并指明用户在应用中的位置。 以可预测的方式访问搜索等重要操作。 支持导航和视图切换(通过标签页或下拉列表)。操作栏最基本的形式是在一侧显示 Activity 的标题,在另一侧显示一个溢出菜单。2.两种操作栏从 Android 3.0开始,所有使用默认主题背景的 Activity 均使用A.原创 2021-10-10 16:30:41 · 618 阅读 · 0 评论 -
android-ui入门之FrameLayout
文档:https://developer.android.com/reference/android/widget/FrameLayout?hl=en1.简介FrameLayout 旨在在屏幕上遮挡一个区域以显示单个项目。通常,FrameLayout 应该用于保存单个子视图,因为很难以可缩放到不同屏幕尺寸的方式组织子视图而不会使子视图相互重叠。但是,您可以将多个子项添加到 FrameLayout 并通过使用android:layout_gravity属性为每个子项分配重力原创 2021-10-05 12:30:50 · 292 阅读 · 0 评论 -
android-ui入门之RelativeLayout
文档:https://developer.android.com/guide/topics/ui/layout/relative1.简介RelativeLayout 是一个以相对位置显示子视图的视图组。每个视图的位置可以指定为相对于同级元素的位置或相对于父级 RelativeLayout 区域的位置RelativeLayout是弱化版的ConstraintLayout2.相对约束RelativeLayout可以指定子视图相对于父视图或彼此的位置。默认情况下,所有子原创 2021-10-04 23:08:48 · 262 阅读 · 0 评论 -
android-ui入门之CardView
文档:https://developer.android.com/guide/topics/ui/layout/cardview1.简介应用通常需要在样式相似的容器中显示数据。这些容器通常在列表中用于保存每项的信息。借助系统提供的CardView API,可以轻松地在卡片内显示信息。这些卡片在整个平台都具有一致的外观,并且以默认高程位于所属视图组上方,因此系统会在其下方绘制阴影。卡片可用来轻松包含一组视图,同时为容器提供一致的样式。CardView本身不能约束..原创 2021-10-04 21:20:18 · 226 阅读 · 0 评论 -
android-ui入门之RecyclerView
文档:https://developer.android.com/guide/topics/ui/layout/recyclerview1.简介RecyclerView 可以让您轻松高效地显示大量数据。您提供数据并定义每个列表项的外观,而 RecyclerView 库会根据需要动态创建元素。顾名思义,RecyclerView 会回收这些单个的元素。当列表项滚动出屏幕时,RecyclerView 不会销毁其视图。相反,RecyclerView 会对屏幕上滚动的新列表原创 2021-10-04 14:46:09 · 227 阅读 · 0 评论 -
android-ui入门之MotionLayout
文档:https://developer.android.com/training/constraint-layout/motionlayout1.简介MotionLayout 是一种布局类型,可帮助管理应用中的运动和微件动画。MotionLayout 是 ConstraintLayout 的子类,在其丰富的布局功能基础之上构建而成。作为 ConstraintLayout 库的一部分,MotionLayout 可用作支持库,并可向后兼容 API 级别 14。MotionLay原创 2021-10-03 23:06:36 · 241 阅读 · 0 评论 -
android-ui入门之ConstraintLayout
文档:https://developer.android.com/training/constraint-layout1.简介ConstraintLayout 可让您使用扁平视图层次结构(无嵌套视图组)创建复杂的大型布局。它与 RelativeLayout 相似,其中所有的视图均根据同级视图与父布局之间的关系进行布局但其灵活性要高于 RelativeLayout,并且更易于与 Android Studio 的布局编辑器配合使用。2.约束条件要定义某个视图的原创 2021-10-03 16:45:03 · 106 阅读 · 0 评论 -
android-ui入门之LinearLayout
文档:https://developer.android.com/guide/topics/ui/layout/linear1.简介LinearLayout 是一个视图组,用于使所有子视图在单个方向(垂直或水平)保持对齐。可以使用 android:orientation 属性指定布局方向。LinearLayout 的所有子视图依次堆叠,因此无论子视图有多宽,垂直列表每行均只有一个子视图,水平列表将只有一行高(最高子视图的高度加上内边距)。LinearLayout原创 2021-10-02 12:15:20 · 368 阅读 · 0 评论 -
记一个jetpack databinding和include一起使用时出现的问题
1.简介databinding可以获取当前布局的View对象但是当前layout包含include子视图时,子视图的View元素不存在于binding上2.解决修改子视图,使用layout为根元素,使子视图生成binding<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns..原创 2021-09-26 23:00:46 · 1145 阅读 · 0 评论 -
记一个android studio调试问题Added variable(s) does not support value initialization
1.简介当给Activity或者Fragment添加字段后,点击Apply Changes后出现错误:Added variable(s) does not support value initialization: Adding field object xxxReinstall and restart app2.解决添加字段后,不能Apply Changes,必须Reinstall and restart app...原创 2021-09-26 11:27:58 · 1750 阅读 · 0 评论 -
jetpack入门之使用navigation导航
文档:https://developer.android.com/guide/navigation1.简介导航是指支持用户导航、进入和退出应用中不同内容片段的交互。Android Jetpack 的导航组件可帮助您实现导航,无论是简单的按钮点击,还是应用栏和抽屉式导航栏等更为复杂的模式,该组件均可应对。导航组件还通过遵循一套既定原则来确保一致且可预测的用户体验。导航组件由三个部分组成:导航图:在一个集中位置包含所有导航相关信息的 XML 资源。这包括应用内所有原创 2021-09-21 14:52:47 · 472 阅读 · 0 评论 -
android入门之应用资源
文档:https://developer.android.com/guide/topics/resources/providing-resources#ResourcesFromCode1.简介资源是指代码使用的附加文件和静态内容,如位图、布局定义、界面字符串、动画说明等。您应始终外部化应用资源(例如图像和代码中的字符串),以便单独对其进行维护。还应为特定设备配置提供备用资源,方法是将其进行分组并放入专门命名的资源目录中。在运行时,Android 会根据当前配置使用合适的资源。原创 2021-09-12 19:55:49 · 174 阅读 · 0 评论 -
jetpack实战之使用startup处理应用程序启动初始化
文档:https://developer.android.com/topic/libraries/app-startup1.简介App Startup 库提供了一种在应用程序启动时初始化组件的简单、高效的方法。库开发人员和应用程序开发人员都可以使用 App Startup 来简化启动顺序并明确设置初始化顺序。App Startup 允许您定义共享单个内容提供者的组件初始值设定项,而不是为您需要初始化的每个组件定义单独的内容提供程序。这可以显着缩短应用程序启动时间。应用程序和库通常原创 2021-09-05 21:21:07 · 389 阅读 · 0 评论 -
记一个android构建问题 The minCompileSdk (30) specified in adependency‘s AAR metadata xxx
1.简介在集成jetpack startup时,加入以来后编译报错:One or more issues found when checking AAR metadata values:The minCompileSdk (30) specified in adependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)is greater than this module'..原创 2021-09-05 19:47:53 · 13551 阅读 · 0 评论 -
jetpack入门之迁移现有项目到androidx
文档:https://developer.android.com/jetpack/androidx/migrate?hl=zh-cn1.简介androidx命名空间的库包含了jetpack组件,与android support库一样,androidx命名空间下的库与android平台分开提供,并且向后兼容AndroidX 对原始 Android 支持库进行了重大改进,后者现在已不再维护。androidx 软件包完全取代了支持库,不仅提供与支持库同等的功能,而且还提供了新的库。andr原创 2021-09-05 18:37:22 · 153 阅读 · 0 评论 -
记一个android构建问题 The option ‘android.enableBuildCache‘ is deprecated
1.简介当升级android gradle插件到7.0.2后,构建会交替出现这个问题就是成功一次,出现一次,而Apply Changes的时候必然会出现Build file 'E:\workspace\demo\android\my-first-app\app\build.gradle' line: 1A problem occurred evaluating project ':app'.> Failed to apply plugin 'com.android.inter..原创 2021-09-05 18:17:31 · 1743 阅读 · 0 评论 -
记一个android构建问题 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
1.简介当android gradle插件升级到7.0.0+后构建项目出现这个问题classpath 'com.android.tools.build:gradle:7.0.2'> Failed to apply plugin 'com.android.internal.application'. > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. ..原创 2021-09-04 22:27:26 · 3362 阅读 · 0 评论 -
记一个androidx.databinding无效问题
1.简介android项目启用了databinding dataBinding { enabled = true }但是编译运行时,显示找不到符号:symbol: class DataBindingComponent2.分析databinding使用注解处理器生成bing类,相应的注解处理器版本是由gradle android插件引入的按理说只要启用了databinding,则肯定会引入指定类库,生成需要的类3.解..原创 2021-07-05 11:00:36 · 1979 阅读 · 2 评论 -
android开发入门之调试桥工具adb使用
文档:https://developer.android.com/studio/command-line/adb?hl=zh-cn1.简介Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命..原创 2021-04-03 23:05:55 · 423 阅读 · 0 评论 -
android开发入门之修改avd保存目录
avd是模拟器文件,每创建一个模拟器都会保存一个文件在~/.android/avd目录下只需要配置ANDROID_SDK_HOME,你的avd文件就会自动保存到%ANDROID_SDK_HOME%/.android/avd目录下后面的.android/avd会自动生成这里需要注意:ANDROID_HOME:android sdk的安装目录ANDROID_SDK_HOME:android根目录,下面的.android/avd保存了avd文件...原创 2020-07-23 17:12:56 · 443 阅读 · 0 评论 -
android-ui入门之ImageView图片缩放类型
图片很小,正方形,ImageView宽300dp,高200dp1.默认缩放默认缩放为FIT_CENTER,即等比缩放图像,直到宽高之一达到预期为止2.FIT_ENDFIT_END,等比缩放,宽高之一达到预期,且图片与END对齐3.CENTERCENTER,不缩放,图片居中摆放4.CENTER_CROPCENTER_CROP,字面意思居中裁剪,等比缩放,直到宽高都大于等于预期,超出部分不显示5.CENTER_INSIDEC...原创 2020-06-11 12:31:45 · 417 阅读 · 0 评论 -
android-ui入门之View组件
View类代表用户界面组件的基本构建块。在屏幕上占据一个矩形区域,负责绘图和事件处理。View 是小部件的基类,用于创建交互式 UI 组件(按钮、文本字段等)。ViewGroup是layouts的基类,是包含其他 View(或ViewGroup)定义布局属性的不可见容器。要实现自定义视图,通常会首先为框架在所有视图上调用的一些标准方法提供覆盖。不需要覆盖所有这些方法。实际上,可以从覆盖onDraw(android.graphics.Canvas)开始类别方法描述创建构造函数。原创 2020-06-11 05:11:35 · 589 阅读 · 0 评论 -
android-ui入门之使用BottomNavigationView底部导航栏
1.主布局<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/container" andr原创 2020-06-09 18:45:59 · 1209 阅读 · 0 评论