length  获取数组长度split()   根据xxx切割字符串join()    将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。reverse()   将数组中元素的位置颠倒,并返回该数组。该方法会改变原数组。shift()&nbs
版权声明:本文出自汪磊的博客,未经作者允许禁止转载。本片我们分析基础数组的实现--ArrayList,不会分析整个集合的继承体系,这不是本系列文章重点。源码分析都是基于"安卓版"的源码,和java原生版核心思想都是差不多的。好了,废话依然少说,进入正文。一、ArrayList中成员变量源码: 1 /** 2 * The minimum amount by which the
# Android 数组实例化入门指南 对于新手开发者来说,数组(Array)是编程中非常基本且重要的概念。在 Android 开发中,数组通常用于存储一系列数据,比如用户输入、数据记录等等。本文将指导你如何在 Android实例数组,并通过详细步骤及代码示例让你一目了然。 ## 流程步骤 | 步骤 | 描述 | 代码示例
原创 10月前
22阅读
写的可能有点杂,欢迎给点修改建议一维数组是具有相同数据类型的一组数据的线性集合,在程序中可以通过一维数组来完成一组相同数据类型数据的线性处理。//数组是引用类型。跟前面声明的类型没有关系都是引用类型一维数组初始化的三种方法:(1)初始化一维数组为默认值          数据类型[] 数组名 = new 数据类型[长度];   &nbsp
转载 2023-10-02 12:46:58
102阅读
     Android作为眼下主流的移动操作系统,全然符合SQLite占用资源少的优势,故在Android平台上,集成了一个嵌入式关系型数据库—SQLite。假设想要开发 Android 应用程序,须要在 Android 上存储数据,使用SQLite 数据库是一种很好的选择。在一般程序中使用数据库的过程都能够框架化,套路化,实比例如以下:表说明:1.班级 classes:    class_id
转载 2015-01-20 21:50:00
115阅读
那么,这些技术一般包含热升级,热修复,AppInstant,强制更新,组件化路由架构Arouter,RxJava,IOC架构方法,Hook技术,图片加载(Glide),网络访问(Retrofit,okHttp)等等,当然,这些技术你不能只会用,你需要知道他的原理,有时候,你还需要知道如何对这些架构进行改进。另外,非常重要的一点,Android开发者不愿意接受新知识,所以对于现在Google推出的新
​下面通过一个具体的实例来说明一下:运行示意图:1.为初始化的界面;2.为输入25时的界面;3.为输入45时的界面;4.为输入65时的界面;5.为输入0时的界面,6.为输入100时的图片,7为输入105时的图片新建一个名称为LevelList的Adnroid项目工程编写界面文件activity_main.xml [html] ​​view plain​​​​copy​​​​print​​​​
转载 2015-01-05 19:17:00
87阅读
2评论
# Android MutableLiveData使用实例教程 作为一名经验丰富的开发者,我将向你介绍如何在Android应用中使用MutableLiveData。MutableLiveData是一种可观察的数据持有类,它可以用来在Android应用中实现数据的观察和更新。 ## 流程图 ```mermaid flowchart TD A[创建ViewModel] --> B[创建M
原创 2024-06-03 06:35:25
261阅读
# Android Mock 使用实例详解 在Android开发中,Mock是一个非常重要的概念。它通常用于测试阶段,以便模拟对象的行为而不依赖于实际的实现。通过使用Mock,可以让开发者更加专注于功能逻辑的测试,提升代码的可测试性和健壮性。本文将通过实例讲解Mock的基本用法,并展示如何在Android应用中实现Mock。 ## Mock的基本概念 在单元测试中,Mock对象是一个模拟其中
原创 2024-08-05 07:59:32
162阅读
队列是什么???我们来谈一谈队列。  队列同样是一种线性表,但其运算受到一定的限制。其限制在于仅允许在队的一段(这里我们把它叫做队尾)进行插入操作,另一端(把它叫做队首)则进行删除操作。  这和现实生活中的排队类似,由于有秩序,整个队列遵循先进先出原则。故又把队列称为先进先出表。  我们首先用数组对其进行模拟。队列之数组实现://数组模拟队列 #include<iostream> #i
嵌套循环#include <stdio.h> int main(){ int i,j; //外层执行一次 内层执行一周 //外层执行次数*内层执行次数 = 总执行次数 for(i = 0; i <10; i++) { for(j = 0; j< 10; j++) { printf("i=%d j=%d\n",i,j); } }结果中间还有一啊自
本文介绍的多路投屏直播,主要是智能交互会议、多人同时投屏的应用场景,但不限于此。现实生活中,早已经出现多路视频监控的应用领域。为了提高开会沟通效率,多人协同、多路投屏互动的场景应运而生。会议投屏对实时性要求非常高,目前可以做到1080P的视频流直播延时130ms左右,比游戏直播、主播直播的延时要求高很多。因此,需要基于IjkPlayer做二次修改,从缓冲队列、解码耗时、渲染队列三个方面优化。&nb
动画类型Android的animation由四种类型组成XML中alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转移旋转动画效果JavaCode中AlphaAnimation渐变透明度动画效果ScaleAnimation渐变尺寸伸缩动画效果TranslateAnimation画面转换位置移动动画效果RotateAnimation画
转载 8月前
17阅读
一. JNI中的数组     1. 基本类型对应的本地数组基本数据类型   本地数组   boolean jbooleanArray byte jbyteArray char jcharArray short jshortArray int jintArray long jlongArray flo
转载 2024-03-05 20:59:07
95阅读
# Android下Semaphore使用实例Android的多线程编程中,资源的竞争与协调是一个非常重要的课题。Semaphore(信号量)是一种常用的线程同步工具,它可以控制对共享资源的访问数量。本文将通过实例来详细介绍Android下Semaphore的使用,以及如何在多线程环境中安全地管理资源。 ## Semaphore的基本概念 Semaphore是一个计数信号量,主要用于控制
原创 8月前
71阅读
前言相比于DataBinding,剩下的三个组件就要简单的多,这一章我们先来详细了解一下LifeCycle的更多知识。参考代码地址:GitHub - guoergongzi/GMVVMDemo参考代码Module:glifecycledemo1、在Fragment中使用LifeCycle我们在本系列第一章中就已经尝试过在Activity中使用LifeCycle,所以我们就跳过这一步直接在Fragm
转载 2024-06-05 09:13:08
152阅读
# Android下Queue使用实例Android开发中,队列(Queue)是一种常见的数据结构,它遵循先进先出(FIFO)的原则。队列特别适用于需要按特定顺序处理任务的场景,比如处理网络请求、消息传递等。本文将介绍Queue的基本用法,并通过实例展示如何在Android环境中使用Queue。 ## 什么是Queue? Queue是一种集合,用于按顺序存储元素。在Java中,Queue
原创 2024-08-07 12:26:18
103阅读
# Android 下 ProgressDialog 使用实例详解 在 Android 应用开发中,用户体验至关重要。当应用执行某些耗时操作时,使用 `ProgressDialog` 可以有效地向用户反馈进度和状态。在这篇文章中,我们将详细介绍如何在 Android使用 `ProgressDialog`,并提供具体的代码示例。 ## 什么是 ProgressDialog `Progres
原创 2024-10-15 06:51:09
73阅读
# Android Perfetto 使用实例解析 ## 引言 在现代软件开发中,性能监控和分析是确保应用顺利运行的关键因素。Android 操作系统提供了多种工具来帮助开发者分析应用性能,其中之一就是 **Perfetto**。Perfetto 是一个高性能的跟踪工具,旨在捕捉、记录和分析系统性能数据。在本文中,我们将深入探讨 Perfetto 的使用实例,并通过具体的代码示例和图表帮助您理
原创 8月前
456阅读
 //在点击事件里直接new出来用ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);//1.创建一个ProgressDialog的实例progressDialog.setTitle("这是一个 progressDialog");//2.设置标题progressDialog.setMessage("正
  • 1
  • 2
  • 3
  • 4
  • 5