小白学习Android开发第一天

Jetpack、MVVN、协程、Retrofit 在第一次安装Android studio 时遇到的问题在创建项目时出现了SDK Missming,可能是一直在next,没给出时间联网下载更新解决办法:学习了博主:https://blog.csdn.net/qq_40893824/article/details/104372462?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162562309916780265493514.
分类: 其他 发布时间: 11-20 08:18 阅读次数: 0

小白学习Android开发第三天

关于匿名函数的用法匿名函数也是有类型的,可以作为 变量 赋值给 函数类型变量【可以理解一下什么是函数类型变量,这个count是函数类型变量吗?】那么此时的匿名函数就和其他的变量一样,匿名函数就可以再代码里进行传递。匿名函数的类型由 传入的参数和返回值类型 决定。所以匿名函数作为变量给函数类型变量后,函数类型变量的类型就是由匿名函数的参数和返回值类型决定的。匿名函数除开极少数的情况【哪些情况下有返回值】,不需要return关键字返回数据。会隐式或者是自动返回函数体最后一行语句的结果。 v...
分类: 其他 发布时间: 11-20 08:18 阅读次数: 0

小白学习Android开发第四天

创建activity,每一个activity都需要重新配置gradle,所以就需要修改我们build——gradle中的仓库。因为Android开发逻辑和视图分开的,而且每一个activity都要有一个对应的layout布局,所以在res中创建一个对应的.xml,,用于设计逻辑的视图。 <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="w...
分类: 其他 发布时间: 11-20 08:18 阅读次数: 0

2021-09-20 -- 2021-09-27 学习

通常第三方推送平台支持两种推送消息:通知栏消息 和 透传消息通知栏消息通知栏消息就是,消息到达app后就直接在系统通知栏形式展示给用户。不会继续传递到App。透传消息透传消息是,该类消息在被送达用户的设备后,还会继续传递到App。透传消息,对于消息的传递的通道不过问,通道只负责来传递消息,透传消息可以自定义消息体、自定义消息的展示方式、通知等相关、以及点击消息后续的动作。客户端接收到消息后,有客户端决定如何处理消息。透传的流程:根据个推提供的API接口或者是在个推开发平台上推送消息,
分类: 其他 发布时间: 11-20 08:18 阅读次数: 0

近期xml布局文件学习

1.具体各种常见的布局属性:对于控件的 android:layout_alignParent 属性,只有在该布局的父布局也是RelativeLayout是才有用,此属性的含义为将控件边缘与父控件的边缘对齐android:layout_alignParentLeft="true" --将控件的左边缘和父控件的左边缘对齐android:layout_alignParentTop="true" --将控件的上边缘和父控件的上边缘对齐android:layout_alignParentRig..
分类: 其他 发布时间: 11-20 08:17 阅读次数: 0

Android onClick 按钮单击事件 四种常用写法

转载他人文章,不做任何商业用途,只为了自己学习能找到。原文链接:Android onClick 按钮单击事件 四种常用写法_二一点-CSDN博客_android onclickXML文件<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="phone" android:ems="10" androi...
分类: 其他 发布时间: 11-20 08:17 阅读次数: 0

2021-10-08 RecycleView的item实现拖拽

创建recycleView,将recycleView的item实现拖拽。新建DefaultItemTouchHelper类,继承自ItemTouchHelper,DefaultItemTouchHelper不需要实现什么方法,它的任务就是将工作代理给Callback,然后将Callback作为参数传入。新建DefaultItemTouchHelpCallback类。继承自ItemTouchHelper.callback()方法,这个类至少实现getMovementFlags()、onMove()、onS
分类: 其他 发布时间: 11-20 08:17 阅读次数: 0

2021-10-09 FrameLayou、BottomNavigationView、selector、回顾MVVM架构

FrameLayout在FrameLayout布局里,放在布局里的控件是按照放入的顺序层次堆叠在屏幕的左上角,定义任何控件放入位置相关的属性都不起作用。但是子控件可以通过android : layout_gravity 属性来控制自己在父控件中的位置。这里在此区分android : layout_gravity 、和 android : gravity 的区别,android : gravity是控制在自身内容对自己的限定,就比如说一个文本框的width设置的为fill_parent,然后android
分类: 其他 发布时间: 11-20 08:17 阅读次数: 0

2021-10-11 kotlin 对象声明、伴生对象、对象表达式

对象的声明:① 创建类的同时创建一个对象② 对象的属性和方法类似于类的静态方法和属性,可以通过对象.方法、对象.属性在外面调用。③ 对象直接利用对象声明的该特性,将类的声明和实例的声明结合在一起,因为不能有其他方式创建对象,所以满足单例模式。④ 对象的声明创建的实例只有一个。当然你也可以定义一个变量来获取获取这个对象,当时当你定义两个不同的变量来获取这个对象时,你会发现你并不能得到两个不同的变量。也就是说通过这种方式,我们获得一个单例。object Site { var url:Str
分类: 其他 发布时间: 11-20 08:16 阅读次数: 0

2021-10-11 Kotlin中@JvmOverloads 注解

Kotlin中@JvmOverloads 注解在kotlin中声明一个函数,函数中有默认参数值的参数,实际上默认参数值没有起到作用。fun f(a: String, b: Int = 0, c: String="abc"){ ...}就其实相当于void f(String a, int b, String c){}实际上默认的参数值在方法调用的时候就被覆盖了。但是如果说在 fun 前面添加了**@JvmOverloads**注解,暴露出多个重载的方法。@JvmOverloads
分类: 其他 发布时间: 11-20 08:16 阅读次数: 0

2021-10-12 公共的可复用的组件的实现 如 导航栏

学习lib_common 公共业务模块中知识declare-styleable:自定义控件的属性有时候官方给的控件不够用,我们需要自己定义控件,① 在res/values文件下定义attrs.xml文件来定义我们需要的控件;*<?xml version="1.0" encoding="utf-8"?>* *<resources>* *<declare-styleable name="ToolBar">* *<attr name="butto
分类: 其他 发布时间: 11-20 08:16 阅读次数: 0

2021-10-13 在android中使用enum的更好的方法

使用枚举类的时候,如果使用的是enum,因为每一个枚举值都是一个对象没所以使用枚举会大大的增加dex文件的大小,这样就使得app运行增加很大的开销,所以为了解决问题就有一种新的方式来定义枚举,因为知道基本数据类型是很少占空间。 使用**@IntDef/@StringDef + @interface**进行解决,@IntDef({ADD,SUB,MUL,DIV})@Retention(RetentionPolicy.SOURCE)public @interface Operation{ priv
分类: 其他 发布时间: 11-20 08:16 阅读次数: 0

2021-10-13 公共模块实现页面不同状态不同视图的显式

学习lib_common 公共业务模块中知识刚刚学习了使用自定义的可复用的组件,就是自己定义一个view,在其他地方直接使用;实现的是ToolBar。这里学习,在任何一个页面都会使用的是 多状态view,也就是说可能此时在加载就会出现loadingView,出错就会出现errorView,这是每一个页面都可能会出现的问题,所以也写在公共业务模块中。这里实现和之前实现公共复用的导航栏还不一样,那个是在不同地方可能要显示 的导航是不一样的,所以要创建atrr自定义控件,并将属性付给xml布局中的控件资源,
分类: 其他 发布时间: 11-20 08:15 阅读次数: 0

2021-10-15 Dialog使用 以及封装Dialog

Dialog使用dialog就是显示在界面之上的类似于弹窗的友好提示,同时屏蔽掉其他控件的交互能力,因为任何一个界面都可能使用dialog,所以是提取到公共模块中。简单使用原来是在哪里使用就直接在哪里进行创建,AlertDialog并不需要在布局文件中创建,在使用时直接在代码中通过构造器来构造标题、图标和按钮等内容,也就是说在哪里使用,就直接重新创建一个构造器对象然后通过以下的方法会进行设置title等属性,然后显示​ 1.创建构造器AlertDialog.Builder的对象;​ 2.通
分类: 其他 发布时间: 11-20 08:15 阅读次数: 0

2021-10-19 使用popupwindow,

使用popupwindow,AlterDialog使用时不可以指定固定的位置,当有这种需求需要指定位置设置类似弹窗的样式,可以使用popupwindow。使用的时候的步骤:① 创建popupwindow显示想要样式的布局文件xml,② 在使用的activity中设置点击事件,进行加载显示popupwindow,③ 加载popupwindow的布局文件val popup_view = layoutInflater.inflate(R.layout.popupwindow_tool, null, f
分类: 其他 发布时间: 11-20 08:15 阅读次数: 0

2021-11-01 web介绍页开发回顾总结

web知识学习flex布局flex布局是一个弹性布局,为盒状模型提供最大的灵活性。自己在使用的时候,就本次的开发的过程来说,每一个content都是一个describe和一个img,将两者都是用盒子包起来,【注意有时候就不要使用div包装img,因为会造成img的div被其他的样式污染】,img和describe是水平在content中且在垂直方向上居中的,所以我们就可以使用flex布局,然后设置flex-direction属性决定主轴的方向属性决定主轴的方向为水平row,(默认其实就是row,而且是
分类: 其他 发布时间: 11-20 08:15 阅读次数: 0

2021-11-01 Vue(JS框架)学习笔记

Vue(JS框架)学习笔记Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层。Vue 将前端工程化。vue官方文档:https://cn.vuejs.org/v2/guide/installation.htmlvue特点:以数据驱动模块化开发。支持虚拟DOM。实现DOM监听和数据绑定。其他相关:网络通信:axios(前端通信框架)页面跳转:vue-router (路由)状
分类: 其他 发布时间: 11-20 08:14 阅读次数: 0

2021-11-01 vue项目创建

vue项目创建没有安装 vue-cli 时创建项目(初学者)没有安装 vue-cli 时,按照以下的步骤创建项目。vue init webpack testvue目录结构。创建好的项目,目录结构如下:package.json 文件部分内容如下:"scripts": { "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", "start": "npm run dev
分类: 其他 发布时间: 11-20 08:14 阅读次数: 0

2021-11-15 一天一个例子

学习使用js进行标签的增加和点击事件等学习<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&g
分类: 其他 发布时间: 11-20 08:14 阅读次数: 0

2021-11-16 一天一个例子 复选框 和 时钟变换

label标签的使用label标签和特定的表单控件关联之后,如果用户在label元素内点击文本,就会触发关联的表单。也就是让label标签和checkbox和radio等关联,实现点击文字也可以实现选中CheckBox和radio。使用的方法:一,显示关联使用 label for<input type="checkbox" id="checkAll"> <label for="checkAll">全选</label> 二,隐式关联就是直接将表单控件放到l
分类: 其他 发布时间: 11-20 08:14 阅读次数: 0