美文网首页
安卓知识4

安卓知识4

作者: 晨曦诗雨 | 来源:发表于2018-12-15 23:31 被阅读0次
1.AndroidMainfest.xml配置文件

2.数据适配器

把复杂的数据填充到指定的视图界面上
ArrayAdapter数据适配器
用于绑定格式单一的数据
数据源:可以是集合数组
SimpleAdapter简单适配器
用于绑定复杂的数据
数据源:只能是特定泛型的集合

适配器是连接数据源和视图的连接工具

过程:新建适配器 -- >添加数据源到适配器 ---->视图加载适配器

3.去掉导航和标题

   setContentView(R.layout.activity_launch);
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

4.Activity启动模式
四中启动的方式

标准模式(Standard)
栈顶复用模式(SingleTop)
栈内复用模式(SingleTask)
单例模式(SingleInstance)

  • Activity的管理方式 = 任务栈
  • 任务栈 采用的结构 = “后进先出” 的栈结构
  • 每按一次Back键,就有一个Activity出栈
示意图

通俗讲解

四种启动模式的区别
示意图
启动模式的设置

启动模式有2种设置方式:在AndroidMainifest设置、通过Intent设置标志位

在AndroidMainifest设置

在AndroidMainifest的Activity配置进行设置

<activity

android:launchMode="启动模式"
//属性
//standard:标准模式
//singleTop:栈顶复用模式
//singleTask:栈内复用模式
//singleInstance:单例模式
//如不设置,Activity的启动模式默认为**标准模式(standard)**
</activity>
通过Intent设置标志位

Intent inten = new Intent (ActivityA.this,ActivityB.class);
intent,addFlags(Intent,FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
标记位属性

标记位属性 含义
FLAG_ACTIVITY_SINGLE_TOP 指定启动模式为栈顶复用模式(SingleTop)
FLAG_ACTIVITY_NEW_TASK 指定启动模式为栈内复用模式(SingleTask)
FLAG_ACTIVITY_CLEAR_TOP 所有位于其上层的Activity都要移除,SingleTask模式默认具有此标记效果
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS 具有该标记的Activity不会出现在历史Activity的列表中,即无法通过历史列表回到该Activity上

二者设置的区别

优先级不同
Intent设置方式的优先级 > Manifest设置方式,即 以前者为准
限定范围不同
Manifest设置方式无法设定 FLAG_ACTIVITY_CLEAR_TOP;Intent设置方式 无法设置单例模式

4.Looper.getMainLooper()

如果你不带参数的实例化:Handler handler = new Handler();那么这个会默认用当前线程的looper
一般而言,如果你的Handler是要来刷新操作UI的,那么就需要在主线程下跑。
情况:
1.要刷新UI,handler要用到主线程的looper。那么在主线程 Handler handler = new Handler();,如果在其他线程,也要满足这个功能的话,要Handler handler = new Handler(Looper.getMainLooper());
2.不用刷新ui,只是处理消息。 当前线程如果是主线程的话,Handler handler = new Handler();不是主线程的话,Looper.prepare(); Handler handler = new Handler();Looper.loop();或者Handler handler = new Handler(Looper.getMainLooper());
若是实例化的时候用Looper.getMainLooper()就表示放到主UI线程去处理。
如果不是的话,因为只有UI线程默认Loop.prepare();Loop.loop();过,其他线程需要手动调用这两个,否则会报错。

Looper即:有消息循环的线程。
在Android里线程分为有消息循环的线程和没有消息循环的线程,有消息循环的线程一般都会有一个Looper,这个事android的新概念。主线程(UI线程)就是一个消息循环的线程。针对这种消息循环的机制,引入一个新的机制Handle,有消息循环,就要往消息循环里 面发送相应的消息,自定义消息一般都会有对应的处理,消息的发送和清除,消息的处理,把这些都封装在Handle里面,注意Handle只是针对那些有Looper的线程,不管是UI线程还是子线程,只要有Looper,就可以往消息队列里面添加东西,并做相应的处理。


5.TimeUnit的简单使用

常用的时间
1.TimeUnit.DAYS // 天
2.TimeUnit.HOURS // 小时
3.TimeUnit.MINUTES // 分钟
4.TimeUnit.SECONDS // 秒
5.TimeUnit.IlliSECONDS // 毫秒
时间转换
1.public long toMillis(long d) // 转换成毫秒
2.public long toSeconds(long d) // 转换成秒
3.public long toMinutes(long d) // 转换成分
4.public long toHours(long d) // 转换成小时
5.public long toDays(long d) // 转换成天
获取系统时间
System.current.TimrMills();
线程睡眠5秒钟


将EditText属性设置修改(可以去掉输入框的下边框)

android:background="@null"

相关文章

  • 安卓知识4

    1.AndroidMainfest.xml配置文件 2.数据适配器 把复杂的数据填充到指定的视图界面上ArrayA...

  • Android 面试回顾

    1安卓基础知识 2JAVA基础知识 3算法和数据结构 4职业发展规划相关问题 安卓基础知识 1Activity 任...

  • 安卓第一周课程笔记

    第一周学习安卓的知识点总结: 首次接触安卓后: 1.了解了安卓的历史:源于linux(开源)--这也就是安卓...

  • 长沙华瑞计算机学校零基础如何学习安卓软件开发

    零基础如何学习安卓软件开发?安卓前景怎么样?①Ja‌‌va基础知识 ②Linux基础知识 ③数据库基础知识 ④网络...

  • 性能优化之存储优化

    一、安卓4种存储方式 安卓系统4种基本的存储方式 使用SharedPreferences存储数据 文件存储数据 S...

  • 安卓App测试简析及工具Emmagee介绍

    一、安卓系统知识概述 1.1 安卓系统架构 应用程序层 应用程序框架层 系统运行库库层 系统内核层 1.2 安卓权...

  • 请求软件

    我正在学习安卓方面的知识,求各位大佬们帮忙找一个编译器(B4A),

  • Python爬虫:Fiddler抓取抖音视屏数据

    准备工作:(1)、安卓模拟器(2)、抓包工具:Fiddler(3)、编程工具:pycharm(4)、安卓模拟器上安...

  • 安卓知识小结

    一.java基础 1.OOP三大特性 封装: 1.隐藏实现细节; 2.恰当地公开接口...

  • 安卓知识储备

    1.Java部分1.1 操作系统相关1.什么是操作系统?2.什么是线程,什么是进程?1.2 JDK&JVM&JRE...

网友评论

      本文标题:安卓知识4

      本文链接:https://www.haomeiwen.com/subject/flxmhqtx.html