Android学习Day1
Android学习笔记
- 了解Android 的结构
- Activity
- Android中的布局
- 了解安卓的结构
- Activity
- Android中的布局
- 代码展示(登录界面的实现):
- 实现效果:
- 代码展示(注册界面的实现)
- 实现效果
- 一些之前学习的笔记
- end
了解Android 的结构
Activity
Android中的布局
了解安卓的结构
minSdkVersion:最小APIlevel
兼容设备的API不指定的话默认是1兼容所有设备,我们的设备低于API就不可以安装我们的APP
compieSdkVersion:编译的SDK版本
指定SDK去编译我们的版本,一般使用最新的去编译
targetSdkVersion:目标版本
匹配使用消除差异
dependencies:
依赖配置,依赖的库,定义其他的库
Activity
Android中的布局
相关的参数如下图:
代码展示(登录界面的实现):
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><!-- 头部背景 --><ImageViewandroid:id="@+id/hander"android:layout_width="match_parent"android:layout_height="280dp"android:contentDescription="@string/app_name"android:scaleType="centerCrop"android:src="@drawable/bg"app:layout_constraintTop_toTopOf="parent" />
<!-- <View-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="0dp"-->
<!-- android:background="@drawable/hander_layer"-->
<!-- app:layout_constraintBottom_toBottomOf="@id/hander"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent"/>--><Viewandroid:layout_width="1dp"android:layout_height="1dp"android:id="@+id/v1"android:layout_marginBottom="30dp"app:layout_constraintStart_toStartOf="parent"app:layout_constraintBottom_toBottomOf="@id/hander" /><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:background="@drawable/login_baground"android:paddingStart="30dp"android:paddingEnd="30dp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintTop_toBottomOf="@+id/v1"app:layout_constraintVertical_bias="0.0"tools:layout_editor_absoluteX="1dp"><TextViewandroid:id="@+id/welcome"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:layout_marginTop="25dp"android:layout_marginEnd="10dp"android:gravity="center"android:text="Welcome"android:textColor="@color/black"android:textSize="20sp"android:textStyle="bold"app:layout_constraintTop_toTopOf="parent" /><EditTextandroid:id="@+id/inputEmail"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:layout_marginTop="40dp"android:layout_marginEnd="10dp"android:background="@null"android:hint="账户"android:imeOptions="actionNext"android:inputType="textEmailAddress"android:paddingStart="60dp"android:paddingEnd="10dp"android:textColor="@color/black"android:textSize="15sp"app:layout_constraintTop_toBottomOf="@+id/welcome"tools:ignore="Autofill" /><Viewandroid:id="@+id/view"android:layout_width="match_parent"android:layout_height="1dp"android:layout_marginStart="10dp"android:layout_marginTop="10dp"android:background="@color/black"app:layout_constraintTop_toBottomOf="@id/inputEmail" /><ImageViewandroid:layout_width="20dp"android:layout_height="20sp"android:layout_marginStart="10dp"android:contentDescription="@string/app_name"android:src="@drawable/ic_email"app:layout_constraintBottom_toBottomOf="@id/inputEmail"app:layout_constraintStart_toStartOf="@id/inputEmail"app:tint="@color/cardview_shadow_start_color" /><EditTextandroid:id="@+id/inputPassword"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:layout_marginTop="40dp"android:layout_marginEnd="10dp"android:background="@null"android:hint="密码"android:imeOptions="actionDone"android:inputType="textPassword"android:paddingStart="60dp"android:paddingEnd="10dp"android:textColor="@color/black"android:textSize="15sp"app:layout_constraintTop_toBottomOf="@id/view"tools:ignore="Autofill" /><Viewandroid:id="@+id/v2"android:layout_width="match_parent"android:layout_height="1dp"android:layout_marginStart="10dp"android:layout_marginTop="10dp"android:background="@color/black"app:layout_constraintTop_toBottomOf="@id/inputPassword" /><ImageViewandroid:layout_width="20dp"android:layout_height="20dp"android:layout_marginStart="10dp"android:contentDescription="@string/app_name"android:src="@drawable/ic_lock"app:layout_constraintBottom_toBottomOf="@id/inputPassword"app:layout_constraintStart_toStartOf="@id/inputPassword"app:tint="@color/cardview_shadow_start_color" /><Buttonandroid:id="@+id/btn1"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:layout_marginTop="50dp"android:layout_marginEnd="10dp"android:background="@drawable/primary_button"android:text="@string/login"android:textAllCaps="false"android:textColor="@color/white"android:textSize="13sp"android:textStyle="bold"app:layout_constraintTop_toBottomOf="@id/v2" /><Buttonandroid:id="@+id/btn2"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:layout_marginTop="30dp"android:layout_marginEnd="10dp"android:background="@drawable/primary_button"android:text="@string/Singup"android:textAllCaps="false"android:textColor="@color/white"android:textSize="13sp"android:textStyle="bold"app:layout_constraintTop_toBottomOf="@id/btn1" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.constraintlayout.widget.ConstraintLayout>
实现效果:
代码展示(注册界面的实现)
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity2"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:layout_width="match_parent"android:layout_height="260dp"android:scaleType="centerCrop"android:src="@drawable/bg"/></LinearLayout><LinearLayoutandroid:layout_marginTop="30dp"android:layout_width="match_parent"android:gravity="center"android:padding="50dp"android:layout_height="match_parent"android:orientation="vertical"><EditTextandroid:id="@+id/name1"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="账号:"/><EditTextandroid:id="@+id/pasw1"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="密码:"/><EditTextandroid:id="@+id/nunber"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="手机号:"/><EditTextandroid:id="@+id/emmail"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="邮箱:"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:id="@+id/sumbit"android:layout_width="wrap_content"android:layout_weight="1"android:layout_marginTop="20dp"android:layout_marginRight="40dp"android:layout_height="wrap_content"android:text="提交"/><Buttonandroid:id="@+id/back"android:layout_width="wrap_content"android:layout_marginTop="20dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="返回"/></LinearLayout></LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
实现效果
一些之前学习的笔记
控件:
按钮
图片按钮
文本框
编辑框
照片框
图片
浏览器框
地图框
选择开关
图片开关
wrap_content 自适应
match_parent 充父控件
LinearLayout:线性布局
再设置id的时候id要保证唯一性
android:text=“确定”
android:orientation=“vertical” 设置布局方向 vertical 代表垂直
android:orientation=“horizontal” 设置布局方向 horizontal 代表 横向
android:gravity=“center” 设置布局方向 center 代表居中
android:layout_gravity=“center” 带layout是针对自己的方式
android:background=“@color/design_default_color_primary” 改变背景颜色
控件id是Java中文件与xml文件通讯的介质类似于控件的号码 必须唯一
按钮 实现单击事件
要实现控件是就必须与按钮的id进行绑定 且id必须唯一
java里面的函数
btn_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}});
安卓开发要多调式 多刷程序 (因为不知道程序什么时候会崩掉)
Toast.makeText(MainActivity.this,“你好”,Toast.LENGTH_SHORT).show();
这个程序的意思是单击之后会有一个弹窗提示 ————————>你好。
—————
控件的联动
——————
————————————————————————————————————————————————————————————————————————
EditText 这是一个编辑框
android:hint=“请输入名称” 文本框输入东西
LinearLayout 带LInear Layout就是针对自己的控件
android:layout_marginLeft=“140dp” 代表本身向左移动的空格
android:layout_marginTop=“20dp” 代表距离顶部的间距
要实现app之间的控件间距同理
android:layout_weight=“1” 控件实现均分
——————————————————————布局是嵌套进行的 一层套一层—————————————————————————----
************************************************************************
* *
* 后期需要用到的东西按钮单击之后用来发送命令控制硬件 例如 open_door *
* 文本框更新数据 用来接受硬件上报的传感器的值 例如 温度:36.5°C *
* *
*************************************************************************举一反三很重要
需要网络权限 和授权网络连接成功
订阅主题
MQTT是连接物联网的关键技术,因此这个协议很重要
UI之间反馈信息都靠这个
- */