导图社区 丁凤的Android学习(终)
Android Studio的学习记录:记录第一行代码的学习路线。
编辑于2020-12-19 18:16:50丁凤的Android学习
1. 概述
子主题
子主题
子主题
子主题
子主题
2. 从看得到的入手
Activity
3. 软件也要拼脸蛋
设计UI的三种方式
User Interface
View
Button
常用属性
id
orientation
horizontal
vertical
gravity
layout_gravity
layout_width
wrap_content
math_parent
layout_height
wrap_content
math_parent
background
Weight(权重)
组件比例=各空间weight值/总weight值
简单用法
水平方向:layout_width=0dp
竖直方向:layout_height=0dp
复杂用法
divide(分割线)
View
divide
第二种则是使用LinearLayout的一个divider属性,直接为LinearLayout设置分割线 这里就需要你自己准备一张线的图片了 1)android:divider设置作为分割线的图片 2)android:showDividers设置分割线的位置,none(无),begining(开始),end(结束),middle(每两个组件间)3)dividerPadding设置分割线的Padding
TextView
常用属性
id
orientation
horizontal
vertical
gravity
ignoreGravity
layout_gravity
layout_width
wrap_content
math_parent
layout_height
wrap_content
math_parent
background
根据父容器定位
layout_alignParentLeft
layout_alignParentRight
layout_alignParentTop
layout_alignParentBottom
android:layout_centerHorizontal
android:layout_centerVertical
android:layout_centerInParent
根据兄弟容器定位
layout_toLeftOf
layout_toRigthOf
layout_above
layout_below
layout_aliginTop
layout_alignBottom
layout_alignLeft
layout_alignRight
margin(偏移)
设置组件与父容器的边距,又叫偏移
layout_margin
layout_marginLeft
layout_marginRight
layout_marginTop
layout_marginBottom
padding(填充)
设置组件内部元素间的边距
padding
paddingLeft
paddingRight
paddingTop
paddingBottom
EditView
ImageView
ProcessBar
AlertDiaglog
Layout布局
LinearLayout
1)当 android:orientation="vertical" 时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。 即:left,right,center_horizontal 是生效的。 2)当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。 即:top,bottom,center_vertical 是生效的。
常用属性
id
orientation
horizontal
vertical
gravity
layout_gravity
layout_width
wrap_content
math_parent
layout_height
wrap_content
math_parent
background
Weight(权重)
组件比例=各空间weight值/总weight值
简单用法
水平方向:layout_width=0dp
竖直方向:layout_height=0dp
复杂用法
divide(分割线)
View
divide
第二种则是使用LinearLayout的一个divider属性,直接为LinearLayout设置分割线 这里就需要你自己准备一张线的图片了 1)android:divider设置作为分割线的图片 2)android:showDividers设置分割线的位置,none(无),begining(开始),end(结束),middle(每两个组件间)3)dividerPadding设置分割线的Padding
RalativeLayout
常用属性
id
orientation
horizontal
vertical
gravity
ignoreGravity
layout_gravity
layout_width
wrap_content
math_parent
layout_height
wrap_content
math_parent
background
根据父容器定位
layout_alignParentLeft
layout_alignParentRight
layout_alignParentTop
layout_alignParentBottom
android:layout_centerHorizontal
android:layout_centerVertical
android:layout_centerInParent
根据兄弟容器定位
layout_toLeftOf
layout_toRigthOf
layout_above
layout_below
layout_aliginTop
layout_alignBottom
layout_alignLeft
layout_alignRight
margin(偏移)
设置组件与父容器的边距,又叫偏移
layout_margin
layout_marginLeft
layout_marginRight
layout_marginTop
layout_marginBottom
padding(填充)
设置组件内部元素间的边距
padding
paddingLeft
paddingRight
paddingTop
paddingBottom
TableLayout
FrameLayout
GridLayout
AbsoluteLayout
ListView
Adapter
Toast
消息提醒
在button监听中加入Toast.makeTest()
Notification
通知
Menu
菜单
Context Menu
OptionMenu
PopupMenu
.........
Dialog
4. 手机平板要兼容
fragment
5. 全局大喇叭
Broadcast
广播机制
系统级别的消息通知
广播类型
普通广播(Normal Broadcast)
有序广播(Ordered Broadcast)
针对广播接收者
按照Priority值从小到大接收
系统广播(System Broadcast)
粘性广播(Sticky Broadcast)
APP应用内广播(Local Broadcast)
广播作用
监听 / 接收 应用 App 发出的广播消息,并 做出响应
应用场景
实现原理
广播是用‘Intent’标识
接收广播
自定义广播接受者BroadcastReceiver
BroadcastReceiver注册
静态注册
动态注册
发送广播
6. 数据持久化
持久化方式
SharePreference
SQLite
File
ContentProvider
文件存储
内部存储
内部存储一般用Context来获取和操作。
外部存储
缓存文件夹
内部存储和外部存储中都有一个缓存文件夹
7. 跨进程共享数据
Content Provider
URI
子主题
MIME类型
ContentProvider类
进程间共享数据的本质
增加
删除
查询
修改(更新)
核心方法
insert
delete
query
update
Tips
onCreate
getType
ContentResolver
作用
四个与contentProvider相同的方法
联系
即通过 URI 即可操作 不同的ContentProvider 中的数据外部进程通过 ContentResolver类 从而与ContentProvider类进行交互
8. 运用手机多媒体
notification
9. 后台的奉献者
Service
View
TextView
EditText
Button
ImageView
ViewGroup
LinearLayout
RelativeLayout
..............
容器类