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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java练习:用Java语言编写九九乘法表[通俗易懂]

    Java练习:用Java语言编写九九乘法表[通俗易懂]//java程序编写九九乘法表:下三角publicclassTest1{ publicstaticvoidmain(String[]args){ for(inti=1;i&lt;=9;i++){ for(intj=1;j&lt;=i;j++){ System.out.print(j+"*"+i+"="+(i*j)+""); } System.o…

    2022年7月15日
    9
  • mybatis 激活码【中文破解版】2022.02.12

    (mybatis 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年4月1日
    41
  • 安卓ddos攻击器_android设备是什么意思

    安卓ddos攻击器_android设备是什么意思原标题:Android移动设备上的DDOS攻击双11马上要到了,你家网站做好准备了吗什么是DDOS攻击?举个形象的例子你就明白了:某饭店可以容纳100人同时就餐,某日有个商家恶意竞争,雇佣了200人来这个饭店坐着不吃不喝,导致饭店满满当当无法正常营业。(DDOS攻击成功)老板当即大怒,派人把不吃不喝影响正常营业的人全都轰了出去,且不再让他们进来捣乱,饭店恢复了正常营业。(添加规则和黑名单进行D…

    2022年10月21日
    0
  • java 怎样卸载一个类_Java 动态卸载类[通俗易懂]

    java 怎样卸载一个类_Java 动态卸载类[通俗易懂]通过反射,我们可以动态的将类加载到方法区中,但是卸载这个类,却有着比较严苛的条件1.该类所有的实例都已经被GC,也就是JVM中不存在该Class的任何实例。2.加载该类的ClassLoader已经被GC。3.该类的java.lang.Class对象没有在任何地方被引用,如不能在任何地方通过反射访问该类的方法.publicstaticvoidmain(String[]args)th…

    2022年5月18日
    39
  • 什么的数据传送单位是报文_简述Mpls数据报文的转发过程

    什么的数据传送单位是报文_简述Mpls数据报文的转发过程http请求报文和响应报文前言http协议是一个应用层协议,其报文分为请求报文和响应报文当客户端请求一个网页时,会先通过http协议将请求的内容封装在http请求报文之中,服务器收到该请求报文后根据协议规范进行报文解析,然后向客户端返回响应报文。http报文结构为:起始行对报文进行描述头部向报文中添加了一些附加信息,是一个名/只的列表,头部和协议配合工作,共同决定了客户端和服务器…

    2022年10月30日
    0
  • js 字符串截取slice、substring、substr

    js 字符串截取slice、substring、substr1、slice//slice()方法用于从原字符串取出子字符串并返回,不改变原字符串。它的第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置(不含该位置)。’JavaScript’.slice(0,4)//”Java”//如果省略第二个参数,则表示子字符串一直到原字符串结束。’JavaScript’.slice(4)//”Script”//如果参数是负值,表示从结尾开始倒数计算的位置,即该负值加上字符串长度。’JavaScript’.slice(-6)//”S

    2022年5月27日
    50

发表回复

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

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