Android移动应用程序开发

Android移动应用程序开发

Log类 直接调用静态方法输出调试信息,在“Logcat”窗口中输出,并可以通过过滤器对<tag>标签进行筛选。“Logcat”窗口中输出的调试信息有以下5种形式

  • Verbose:任何信息都会输出,使用Log.v();
  • Info:输出任何提示信息,使用Log.i();
  • Error:输出任何错误信息,使用Log.e();
  • Debug:输出调试信息,使用Log.d();
  • Warning:输出警告信息,使用Log.w();

 

Context类 是一个抽象类,有两个子类:ContextWrapper类和ContextImpl类,ContextWrapper类是上下文功能的封装类,而ContextImpl类是上下文功能的实现类。

ContextWrapper类的子类包含ContextThemeWrapper类、Service类和Application类。其中,ContextThemeWrapper类是一个带主题的封装类,Activity类是他的子类。

 

布局

线性布局LinearLayout:进行水平或垂直排列布局。

相对布局RelativeLayout:相对排列,即子控件以相对父控件或相对于父控件的相对位置进行放置的布局方式。

表格布局TableLayout:表格形式布局,还需要和TableView控件配合使用。

网格布局GridLayout:网格形式排列布局的UI控件。

帧布局FrameLayout:依次堆叠形式排列布局。

约束布局ConstraintLayout:依次堆叠形式排列布局的UI控件,其子控件通过标签属性进行约束与RelativeLayout类似,但嵌套层级更少更加灵活。

主要说一下约束布局 ConstraintLayout

属性 说明
app:layout_constraintStart_toStartOf 设置左侧与指定控件的左侧约束
app:layout_constraintStart_toEndOf 设置左侧与指定控件的右侧约束
app:layout_constraintEnd_toStartOf
设置右侧与指定控件的左侧约束
app:layout_constraintTop_toTopOf
设置右侧与指定控件的右侧约束
app:layout_constraintTop_toTopOf 设置顶端与指定控件的顶端约束
app:layout_constraintTop_toBottomOf 设置顶端与指定控件的底部约束
app:layout_constraintBottom_toTopOf 设置底端与指定控件的顶端约束
app:layout_constraintBottom_toBottomOf 设置底端与指定控件的底端约束
app:layout_constraintDimensionRatio
设置宽度和高度的比例。高度和宽度至少有一个值应设置为“0dp”,在运行时根据该属性值自动设置为“0dp”的尺寸,再运行时根据所有约束条件和该属性值自动计算最大的尺寸。
app:layout_constraintCircleAngle 设置约束角度
app:layout_constraintCircleRadius

设置约束

Android移动应用程序开发

Activity的启动模式

任务栈 :放置Activity实例容器,使用先进先出的栈进行存储,因此Activity不支持重新排序,只能根据压栈和出栈操作更改Activity的顺序
standard 标准模式 没有特殊情况下,大多数使用标准模式启动
singleTop:栈顶复用模式 启用singleTop栈顶复用模式和Activity处于当前栈的顶部,不会创建新的实例,而是直接启动该Activity。
           onCreate()和OnStart()方法不会调用,而是调用onNewIntent()方法。当启动Activity不在当前栈的顶部时,会创建一个新的实例。
           能节省创建数量节省内存可以避免重复创建新的实例

singleTask:栈内复用模式 常用语App首页的Activity,且长时间保留在工作栈中,保证首页的Activity的唯一性
singleInstance: 单实例模式除了具有singleTask模式特性,还具有全局唯一性
                 常用语工具类App,被其他App调用时能够保证全局唯一性,如拨号、短信、相机、地图等

Fragment和Activity的生命周期关系

Android移动应用程序开发

两种service的生命周期

Android移动应用程序开发

Service是在后台可以长时间运行且没有可视化视图的组件,Service(服务)不是线程,也不是在主线程外的方法。

绑定的Service会随着APP的退出而终止,未绑定的service不会随着App的退出而终止。使用Context.unbindService(ServiceConnection)方法可以解除绑定。

 

书到用时方恨少,纸上得来终觉浅。不断更新。2021年3月1日17:01:54

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114963.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux查看网卡带宽[通俗易懂]

    Linux查看网卡带宽[通俗易懂]ifconfig查看网卡信息执行命令:ethtool网卡名称,例:ethtooleth1输出内容如下:Settingsforeth1:Supportedports:[FIBRE]Supportedlinkmodes:1000baseT/Full10000baseT/FullSupportedpauseframeuse:Symmetr..

    2022年10月19日
    0
  • docker 容器内部访问宿主机_docker访问宿主机文件

    docker 容器内部访问宿主机_docker访问宿主机文件在使用Docker部署应用时,Docker推荐的方式是将应用及其所依赖的服务(MySQL,Redis等)均使用Docker部署,并通过link或自定义网络相连接。但是,当应用所依赖的服务被安装在宿主机上时,我们需要让容器中的应用能够访问到部署在宿主机上的服务。本文将介绍实现这一目的的几种方案,并分析其优缺点。首先我们需要了解一些关于Docker网络的基础知识。Docker网络Docker提供…

    2022年8月20日
    62
  • 队列的顺序存储结构之循环队列

    队列的顺序存储结构之循环队列一、队列的定义队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(FirstInFirstOut)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。如图所示:二、循环队列的引出为了避免当队中只剩一个元素的时候,队头队尾重合使处理变得麻烦。所以我们引入两个指针,front指针指向队头元素,rear指针指向队尾元素…

    2022年5月22日
    36
  • 软件开发-快递来了-开发第一天「建议收藏」

    软件开发-快递来了-开发第一天「建议收藏」今天是“快递来了”软件开发的第一天,大家大体上分配了今明两天的计划,这几天主要以安装配置安卓开发环境,学习安卓特性组件为主。今天,安装调试了AndroidStudio,深刻体会到了集成开发环境的优

    2022年7月1日
    43
  • pycharm配置opencv环境_pycharm opencv安装

    pycharm配置opencv环境_pycharm opencv安装1.cmdpipinstallopencv-python-ihttps://pypi.tuna.tsinghua.edu.cn/simple后续可能会报pip版本低按指示升级记得-ixxxx(同上)装完后可以在cmdpythonimportcv2试试能往下走就OK2.新建Python工程不要默认“虚拟机”那个cmdpythonimportsysprint(sys.path)找到相应的.exe…

    2025年7月8日
    1
  • resnet34 pytorch_pytorch参数初始化

    resnet34 pytorch_pytorch参数初始化pytorch是包含一些常见的神经网络模型的,ResNet34、ResNet18、VGG等等,都在models模块中,调用接口如下:model=models.resnet34(pretrained=True,progress=True)预训练pretrained和进度条progress设为True或False就看你自己需求咯~⚠️与此同时,你可能还会遇到pytorch官网的输出类别数与你所需不同:你想分七类,可resnet34官网是1000类,那就调整一下呗:#修改最后线性层的输出通道数

    2022年9月27日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号