自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android 的App使用微信H5支付(亲测有效)

一、申请各种账号1、申请公司的商户号2、商户名称3、H5支付的域名(可申请多个 5个上限)二、核心代码class WXPayByWebViewActivity : BaseActivity() { var payUrl: String? = "" override fun onCreate(savedInstanceState: Bundle?) { ...

2019-03-27 17:24:06 1319 3

原创 Gson解析多种json格式

注意:在Androidstudio的App下build.gradle中添加Gson依赖compile 'com.google.code.gson:gson:2.8.2'一、中括号纯数组格式json:[ { "model": "123123", "modelId": 131123456413, "name": "Eillot",...

2018-08-16 00:05:59 683

原创 鸿蒙开发第一天

TypeScript具备面向对象变成的基本语法,例如interface、class、enum等,也具备封装、集成、多态等面向对象基本特性。模块可以相互加载,提高代码复用性。注意:在TypeScript中,空字符串、数字0、null、undefined都被认为是false,其他值则为true。TypeScript在JavaScript的基础上加入了静态类型检查功能,因此每一个变量都有固定的数据类型。TypeScript通常利用function关键字声明函数,并且支持可选参数、默认参数、箭头函数等特殊语法。

2024-01-02 23:15:35 2893 3

原创 MySQL学习day06

函数:是指一段可以直接被另一段程序调用的程序代码。7、分隔(起始索引为1)

2023-12-19 21:56:46 451

原创 Recyclerview属性配置记录

1、requiresFadingEdge:属性用来设置拉滚动条时 ,边框渐变的方向。2、fadingEdgeLength:用来设置边框渐变的长度。

2023-12-07 14:32:57 536

原创 MySQL学习day05

1、创建用户test,只能在当前主机localhost访问。作用:用来创建数据库用户、控制数据库的访问权限。2、创建用户test,能在任意主机访问。英/rɪˈvəʊk/

2023-12-06 22:12:36 414

原创 MySQL学习day04(二)

1、根据性别分组,统计男性和女性数量(只显示分组数量,不显示哪个是男哪个是女)5、年龄小于45,并根据工作地址分组,获取员工数量大于等于3的工作地址。2、两字段排序,根据年龄升序排序,入职时间降序排序。3、根据性别分组,统计男性和女性平局年龄。2、根据性别分组,统计男性和女性的数量。4、年龄小于45,并根据工作地址分组。1、根据年龄升序排序。

2023-12-03 23:18:17 428

原创 MySQL学习day04(一)

7、下面语句不报错,但查不到任何信息。9、年龄等于25或30或35。8、性别为女且年龄小于30。6、年龄在20到30之间。3)聚合查询(聚合函数)/之后的_不作为通配符。11、身份证最后为X。

2023-12-03 22:13:36 584

原创 MySQL学习day03

DML全称是Data Manipulation Language(数据操作语言),用来对数据中比哦啊的数据记录进行增删改操作。添加数据(INSERT修改数据(UPDATE删除数据(DELETE1)DML-添加数据insert into 表名(字段名1,字段名2,...)values(值1,值2,...);insert into 表名 values (值1,值2,...);

2023-11-27 22:54:52 598

原创 MySQL学习day02

create table 表名(字段1 字段1类型[comment 字段1注释],字段n 字段n类型[comment 字段n注释],)[comment 表注释];a)单行注释:-- 注释内容 或 # 注释内容(MySQL特有)字段1 字段1类型[comment 字段1注释],字段2 字段2类型[comment 字段2注释],字段3 字段3类型[comment 字段3注释],b)多行注释:/*注释内容 */4)DDL-表操作-数据类型。2)DDL-表操作-查询。3)DDL-表操作-创建。

2023-11-14 22:14:46 122

原创 MySQL学习day01

MySql数据库的启动和关闭:1)dos命令方法:2)使用命令的方式:1、方式一:MySQL提供的客户端命令行工具2、系统自带的命令行工具执行指令:3、配置环境变量:MySQL:是关系型数据库(RDBMS)

2023-11-08 22:24:05 163

转载 用Android Studio进行内存分析调试

打开Android Studio看下它的界面,在最底下可以找到 Android Monitor标签,点击打开它,如下图所示。第一个Memory就是用来监测当前程序的内存使用状态的,我们只看这个。有的人打开后可能只能看到Logcat模块,不要急,在logcat的最右边找找,看有没有一个小图标,有就点开它,立马就会出现Monitors模块。看看下面这个部分:代表监视器目前监测的手机。这里用来显示监视器正在监测的进程,点击右边的下拉箭头,可以选中某一个进程进行监视。

2023-03-21 21:01:31 1760

转载 详解Android 8.0以上系统应用如何保活 android应用保活方案

最近在做一个埋点的sdk,由于埋点是分批上传的,不是每次都上传,所以会有个进程保活的机制,这也是自研推送的实现技术之一:如…最近在做一个埋点的sdk,由于埋点是分批上传的,不是每次都上传,所以会有个进程保活的机制,这也是自研推送的实现技术之一:如何保证Android进程的存活。

2023-03-20 22:28:06 1599 1

转载 Android UI性能优化——ViewStub和Merge的使用

ViewStub虽然实现简单,但是源码设计巧妙。对于页面中的不常用布局使用ViewSutb懒加载有一定的优化效果。正确的使用merge可以有效的减少布局层级,提高页面渲染速度。但是merge使用限制比较多,应用场景比较少。

2023-03-20 22:18:51 1292

转载 阿里热修复Hotfix

移动热修复(Mobile Hotfix)是阿里云提供的全平台App热修复服务方案。产品基于阿里巴巴首创hotpatch技术,提供最细粒度热修复能力,让您无需等待实时修复应用线上问题。当产品已有功能出现问题,无需发版,即可发补丁,实时修复。

2023-03-20 22:01:34 737

转载 Android JNI(一)——NDK与JNI基础

NDK 其中NDK的全拼是:Native Develop Kit。那我们先来看下Android NDK官网是对NDK怎么解释的关键文字如下:Android NDK 是一套允许您使用原生代码语言(例如C和C++)实现部分应用的工具集。在开发某些类型应用时,这有助于您重复使用以这些语言编写的代码库。简单的来说:Android NDK 就是一套工具集合,允许你使用C/C++语言来实现应用程序的部分功能。NDK 是Native Develop Kit的含义,从含义很容易理解,本地开发。

2023-03-19 22:47:24 210

转载 Android Studio 配置:自定义头部代码注释及添加模版

1、实现效果/*** 版权:xx公司 版权所有* 版本:1.0* 创建日期:2018/6/14* 描述:MainActivity*/2、实现步骤依次操作File -> Settings ->Editor ->File and Code Templates,在详细展示窗口点击includes选项卡,找到FileHeader点击,在编辑窗口输入自定义的注释模板即可。

2023-03-19 21:10:02 1440

转载 Android图片压缩(质量压缩和尺寸压缩)

图片有以下存在形式:1.文件形式(即以二进制形式存在于硬盘上)2.流的形式(即以二进制形式存在于内存中)3.Bitmap形式这三种形式的区别: 文件形式和流的形式对图片体积大小并没有影响,也就是说,如果你手机SD卡上的如果是100K,那么通过流的形式读到内存中,也一定是占100K的内存,注意是流的形式,不是Bitmap的形式,当图片以Bitmap的形式存在时,其占用的内存会瞬间变大, 我试过500K文件形式的图片加载到内存,以Bitmap形式存在时,占用内存将近10M。

2023-03-17 22:10:01 896

转载 Android:这是一份很详细的Socket使用攻略

Socket的使用在Android网络编程中非常重要 今天我将带大家全面了解Socket及 其使用方法即套接字,是应用层 与 TCP/IP 协议族通信的中间软件抽象层,表现为一个封装了 TCP / IP协议族 的编程接口(API)1、Socket不是一种协议,而是一个编程调用接口(API),属于传输层(主要解决数据如何在网络中传输)2、即:通过Socket,我们才能在Andorid平台上通过 TCP/IP协议进行开发3、对用户来说,只需调用Socket去组织数据,以符合指定的协议,即可通信。

2023-03-17 21:52:29 4172

转载 内存溢出和内存泄漏的区别及详解

这个问题比较隐蔽,在上线前,数据库中数据较少,不容易出问题,上线后,数据库中数据多了,一次查询就有可能引起内存溢出。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。真正有危害的是内存泄漏的堆积,这会最终消耗尽系统所有的内存。从这个角度来说,一次性内存泄漏并没有什么危害,因为它不会堆积,而隐式内存泄漏危害性则非常大,因为较常发性和偶发性内存泄漏它更难被检测到。从用户使用程序的角度来看,内存泄漏本身不会产生什么危害,作为一般的用户,根本感觉不到内存泄漏的存在。

2023-02-09 14:29:43 1038

转载 Android: Activity的启动流程(基于Android 13)

以上就是今天要讲的内容,本文仅仅简单地走了一遍在Android13中Activity的启动流程,只是有些许变化,整体流程思路还是和以前版本一致。想要了解源码思路,画时序图还是很有帮助的,跟踪代码不迷路。两块三刀。

2023-02-06 21:00:53 502

转载 Activity、view、window之间的关系

Activity是ui的框架 View是展示出来的视图 而view有多个 window主要是管理 View 的创建与删除,以及与 ViewRootImpl 的交互,将 Activity 与 View 解耦。Activity像一个工匠(控制单元),Window像窗户(承载模型),View像窗花(显示视图)LayoutInflater像剪刀,Xml配置像窗花图纸。2:这个PhoneWindow有一个“ViewRoot”,这个“ViewRoot”是一个View或者说ViewGroup,是最初始的根视图。

2023-02-06 16:49:44 150

原创 Framework 工作方式及原理,Activity 是如何生成一个 view 的机制是什么?

Activity 创建一个 view 是通过 ondraw 画出来的, 画这个 view 之前呢,还会调用 onmeasure 方法来计算显示的大小.Surfaceview 是直接操作硬件的, 因为 或者视频播放对帧数有要求,onDraw 效率太低,不够使,Surfaceview 直接把数据写到显存。所有的框架都是基于反射 和 配置文件(manifest)的。

2023-02-03 15:30:52 198

原创 MVC,MVP和MVVM框架之间的理解

LiveData是具有生命周期意识的一个可观察的数据持有者,ViewModel中的数据有LiveData持有,并且只有当Activity/Fragment处于活动时才会通知UI数据的改变,避免无用的刷新UI。1.使得M,V,VM的解耦更加彻底,在mvp模式中,p需要持有V的引用,才能去刷新UI,在MVVM模式中,View和Model使用databingding进行双向绑定,一方改变会直接通知另外一方,使得viewModel能专注于业务逻辑的处理,而不需要去关心UI刷新。UI和数据严格的分开。

2023-02-03 15:11:17 475 1

原创 kotlin协程学习理解

kotlin协程详解协程是什么?含义:其实就是一套有kotlin官方提供的线程API,即一个线程框架。协程有什么特点1、用同步的方式写出异步的代码(非阻塞式挂起)2、协程可以把运行在不同线程的代码写在同一个代码块里3、可以把两个请求合并成一个数据进行展示协程的使用时机:需要切线程或者指定线程的时候1、使用launch关键字创建函数,里面写上代码就能切线程,关键字的含义是我要创建一个新的协程并在指定线程上运行它。连续的代码段就是协程2、协程里的withcon

2021-09-17 22:36:19 250

原创 不同工程同一套代码(基础组件SDK一样)的使用

说明:有使用公司的代码要适应不同的地域的需求,需要在基础组件的基础上开发不同的App即不同的工程(请看下图),当两个工程用到同一套代码如何做到互不影响,请看下文代码1、第一步需要在AppbaseSDK中定义的类定义接口名称和方法public interface IPropertiesConfig { //是否需要显示XX信息 boolean isShowSomethingInfo();}定义一个注册类public final class Proper.

2020-10-18 21:26:57 345

转载 chmod命令详细用法

chmod命令详细用法指令名称 : chmod使用权限 : 所有使用者使用方式 : chmod [-cfvR] [–help] [–version] mode file…说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。参数 :mode : 权限设定字串,格式如下 : [ugoa…][[±=][rwxX]…][,…],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示

2020-07-29 22:43:38 382

原创 Android 集成友盟消息推送以及高级用法

集成准备前工作1、在友盟官方网站上注册账号,并创建应用注意:包名要和项目包名一直,不然推送手机无反应创建完成之后会生成appkey和Umeng Message Secret,保存好开发时要使用的2、开始集成SDK项目中使用的是手动集成,防止SDK版本号不小心升级带来不必要的麻烦1)访问【友盟+】官网组件化SDK下载地址,选择Android平台SDK...

2020-04-13 16:55:07 1585

转载 androidstudio内存占用极大的解决办法

修改一下这个参数:到 Android Studio 安装目录,找到bin/studio(64?).vmoptions(文件名可能因操作系统而不同,但大同小异),然后把 -xmx 后面的数字改大一点,比如 2048m 或4096m。-xmx 参数是 Java 虚拟机启动时的参数,用于限制最大堆内存。Android Studio 启动时设置了这个参数,并且默认值很小,没记错的话,只有 768mb。...

2020-04-08 10:33:15 8445 3

原创 Fragment好Activity之间的数据交换(传值)

1、Activity把数据传递给Fragment有时候从Activity跳转到fragment时需要传递参数,可以使用bundle的方式传递Activity中代码private fun initView() { fragments = ArrayList() if (fragments!!.isEmpty()) { fr...

2020-04-06 21:50:09 239

原创 android手机获取是否开启了底部导航栏

搜索了很多方法以及AndroidUtilCode里面的栏相关 ->BarUtils.java方法都不行(华为mate20 android10 系统)代码(说明BarUtils.getStatusBarHeight() 是AndroidUtilCode工具类 依赖 implementation'com.blankj:utilcode:1.25.2')@Tar...

2020-04-03 16:45:34 998 1

原创 使用BaseRecyclerViewAdapterHelper和recyclerview时addData数据不能滚动

1、在项目中一个页面存在两个recyclerview,在底部recyclerview下拉刷新时,不能自动滚动代码如下:<com.scwang.smartrefresh.layout.SmartRefreshLayout android:id="@+id/refresh" android:layout_width="match_parent" ...

2020-03-23 23:11:15 512

原创 使用SmartRefreshLayout下拉刷新框架实现加载更多

使用 SmartRefreshLayout可以实现recyclerview的下拉刷新和上拉加载更多,但是有时候在使用上拉加载更多时,不同的json格式需要不同的判断方法1、后台根据每次相加的totalElements的个数作为请求的参数即pageSize+=12 pageNo=1{"content":[{"cancel":false,"dateCreated":15713698...

2020-03-16 23:47:45 1875

原创 AndroidStudio配置flutter环境(windows系统)

Androidstudio配置flutter环境准备工作(1)下载Androidstudio开发工具下载链接:http://www.android-studio.org/ 国内社区下载链接:https://developer.android.google.cn/studio/ 官方地址(2)下载Git并安装下载链接:https://git-scm.com/...

2020-02-20 21:57:46 1287

原创 使用Activity实现dialog效果(并解决输入框在软键盘顶部方法)

说明:公司的需求是要在底部弹框中增加一个输入框,并且最底部分是时间选择器,点击编辑框时,遮挡住时间选择框布局使用fragmentDialog无法控制输入框1、在styles中设置Activity的弹框主题以及弹出的动画样式 <!--ActivityDialog底部弹出样式 start--> <style name="ActivityDialogTh...

2020-02-11 11:37:13 1184

原创 线性布局必须点击两次才能生效

1、样式页面上有editview,而此时焦点在EditText上点击注射日期linearLayout时,需要两次才能点击成功,下面是一个编辑框(editview)解决:在点击的控件布局添加android:focusableInTouchMode="false"即可解决 <RelativeLayout ...

2020-01-20 15:20:26 393

原创 android打开和关闭软件盘工具类

1、进入界面就打开软键盘 /** * 打开软键盘 * * @param mEditText * @param mContext */ public static void openKeybord(View mEditText, Context mContext) { InputMethodManager imm = (...

2020-01-20 13:44:03 222

原创 学习kotlin系列之十(集合和表达式)

1、集合1)list集合创建方式:(1)listOf<>()(2)mutableListOf<>()fun main(args: Array<String>) {//list集合 //第一种创建方式 val list = listOf<String>("林青霞","梁朝伟") list.filter { ...

2019-12-09 16:31:12 172

原创 学习kotlin系列之九(开发实用2)

1、kotlin的object单例说明:在kotlin的单例中,所有的字段都是static静态 而方法则不是的使用条件:字段不是太多的时候使用 静态类和方法会提前加载kotlin没有static关键字fun main(args: Array<String>) { println(Utils.name) Utils.sayHello()}//设置成一个单例...

2019-12-09 16:23:08 123

原创 学习kotlin系列之八(开发实用1)

1、中缀表达式中缀表达式:让代码更加简洁易懂说明:使用的条件 DSL语言1)必须是成员函数或扩展函数;2)必须只有一个参数;3)参数不能是可变参数或者默认参数。fun main(args: Array<String>) { val 张三 = Person() 张三 sayHelloTo "李四" //自定义操作符}class Perso...

2019-12-09 16:03:55 152

Androidstudio3.0编译插件4.4(纯净版)

gradle4.4编译插件是Androidstudio3.0以上版本同的工具,绿色纯净放心下载

2018-09-07

编译插件-gradle3.3

Androidstudio3.0以下都使用的编译插件,如果不能通过谷歌下载,这里是不错的选择哦

2018-09-07

helloJson格式化json工具

hellojson是一款开发中常用的格式化json的工具,可以格式化各种形式的json

2018-09-07

人工智能+区块链发展趋势

人工智能+区块链发展趋势及应用调研报告,从对人工智能和区块链的认知度和应用度进行分析

2018-08-23

Greendao 最新jar包

Android移动开发所需的 最新的Greendaoar包Android移动开发所需的 最新的Greendaoar包

2017-12-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除