自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 资源 (4)
  • 收藏
  • 关注

原创 Android kotlin下的多模块化MVP架构(Retrofit,Dagger2,Arouter,Room)

基础项目创建创建项目 App创建lib base 和provider添加依赖关系 App->provider ->basebase中创建包 common 通用包 data 数据包,其中包括net网络请求 protocol 实体类包 ; ext: kotlin扩展方法包presenter包:mvp层基类,包括presenter和view层的包; rx:支持rx相关;ui包:activity和fragment的基类; widgets:ui自定义组件provider中创建包: com

2020-06-14 17:08:23 916 1

原创 快速搭建SpringBoot项目

快速搭建SpringBoot项目环境要求SpringBoot2.4.2 需要Java8-15. Spring Framework5.3.3或更高版本构建工具maven 3.3+ 或者 Gradle 6开发工具IDEA 2018+手动创建一个Springboot项目[参考文档](https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started): [htt

2021-02-09 09:52:32 246

原创 错误: Unable to load authentication plugin ‘caching_sha2_password‘.

<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> <version>8.0.21</version> </dependency>原因:mysql-connector的版本不对,我之前是...

2021-02-05 14:41:04 1334

原创 git---主分支同步到子分支

git---主分支同步到子分支在进行git项目协同开发的时候,每个分支的代码会被合并到主分支 master 分支上,但是如何将master分支上的代码合并到子分支上呢?第一步:切换到本地的仓库,更新为最新的代码。第二步:切换到要同步的子分支上。第三步:在子分支上运行 git merge master 就会将主分支的代码同步到子分支上。第四步:在子分支查看当前的代码状态 git status第五步:git add . 将代码添加到本地仓库第六步:git commit -m '主分支

2020-11-09 11:02:02 1238

原创 JsonUtils代码记录保存

import android.text.TextUtils;import android.util.Log;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;import org.json.JSONException;import org.json.JSONObject;import...

2020-11-02 17:28:00 108

原创 微信小程序网络请求API封装Promise实践

封装API.js文件 const postRequest = (url, data, header ,type) => {// param() 获取全局的公共参数 data = Object.assign(data, param()) wx.showLoading({ title: 'loading...', })//访问地址 拼接 let _url = APP_BASE_URL + url; return new Promise(.

2020-11-02 17:23:28 241 1

原创 Kotlin中手动实现RxBus事件总线

/** * Created by yangw on 2018/4/28. * author by ywq * desc :事件总线,基于Rxjava实现 */object Bus { private val TAG = javaClass.simpleName /** * 用于保存总线事件的所有订阅并可以正确地取消订阅 */ private...

2019-06-04 09:11:58 666

原创 View基础知识

在Android中View虽然说不是四大组件之一,但是它的作用堪比四大组件,甚至比Receiver和Provider的作用还要大.对于View,涉及到的知识比较多,例如:自定义View绘制View,触摸事件,滑动...等问题,要在实际的开发过程中很好的解决这些问题,我们 必须对View有足够的了解  ,下面我们先了解一下View的基础知识,后面的章节会具体对View的各个方面进行详细的介绍. ...

2018-09-21 13:14:18 365

原创 Android View的绘制流程

在项目的开发的过程中,对于一般的需求我们使用Android提供的原生的空间就可以满足开发需求,但是当我们遇到一些特殊的需求需要我们自定义View的时候,需要开发人员实现测量,布局和绘制等操作,这些都依赖于我们对View绘制流程的理解和掌握 先看下Android的UI管理系统的层级关系: PhoneWindow是Android系统中最基本的窗口系统,每个Activity会创建一个.P...

2018-08-23 18:18:11 1535

原创 Android触摸事件传递机制

 前言 :我们在Android开发过程中经常会遇到多个View,ViewGroup嵌套的问题,例如: ViewPager中嵌套Fragment,而在Fragment中需要实现一个横向滚动的广告位,这个时候,就会遇到广告栏的滑动事件和Viewpager的滑动事件冲突的问题,想要快速解决这种问题,我们需要对View的事件传递机制有较为深刻的理解.   接下来会介绍Activity,View,V...

2018-08-22 11:38:41 333 1

原创 kotlin 使用建造者模式自定义对话框

1.CommonDialog 创建我们自己的对话框,继承于系统的Dialog 实现构造方法class CommonDialog(context: Context?, themeResId: Int) : Dialog(context, themeResId) {}2. 在内部创建BUilder类 定义出我们需要的方法和属性 class Builder (private val co

2018-01-16 09:31:10 2387

原创 Android App — Win10系统下安装配置开发环境

前言:要进行一个Android App的开发,需要使用到Java、Android SDK、ADT以及一些软件开发工具IDE的帮助。本文将首先介绍这些工具的安装以及配置,以完成Android App开发的准备工作。一、安装配置Java开发运行环境JDK/JRE  Android App开发需要用到Java语言,要使用Java语言进行开发,需要先安装JDK并配置相关的环境变

2018-01-11 18:40:03 714

原创 Android中切换Fragment

private fun selectedFragment(position: Int) { val transaction = supportFragmentManager.beginTransaction() hideFragment(transaction) when (position) { 0 -> if (homeFragment == null)

2018-01-10 12:40:59 429

转载 【Kotlin中使用Dagger2】基础入门篇(一)

概述Dagger2作为依赖注入神器,相信很多朋友都听说过它的大名。只不过它的有些概念,理解起来并不是那么清晰,并且在使用的过程中,也比较迷糊。我将把自身对Dagger2的理解、使用经验分享给大家,希望对大家有所帮助。我将分几节详细介绍Dagger2在Kotlin在如何使用,因为在Java中使用方式大同小异,所以大家理解了Dagger2,无论在Java还是Kotlin都能运用自如。本节

2018-01-09 19:25:20 709 1

原创 Could not perform incremental compilation: Could not connect to Kotlin compile daemon Could not conn

Could not perform incremental compilation: Could not connect to Kotlin compile daemonCould not connect to kotlin daemon. Using fallback strategy.1.解决办法 :卸载kotlin插件,然后重启2.可能会引起Error:Ex

2018-01-06 13:34:11 6757 1

原创 Kotlin调用java中的回调方法,参数为null的异常

java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter view解决 :在回调方法的view 参数中 添加 ?

2018-01-05 19:41:07 1181

原创 数据解析,在Kotlin中使用TypeToken配合Gson解析数据

在java中,我们是这样使用的: Type type = new TypeToken() { }.getType();然后使用Gson去解析对象:gson.fromJson(json, type);在Kotlin中:第一种方式:val turnsType = object : TypeToken>() {}.typeval turns = Gson().from

2018-01-05 10:14:49 6340

原创 Kotlin中多模块开发使用arouter

项目配置github地址 : https://github.com/alibaba/ARouter //ARouter 在baseLib中引入包 compile "com.alibaba:arouter-api:$arouter_api_version"在需要使用模块中 kapt { arguments { arg("moduleName", project.ge

2018-01-03 19:33:12 6424 7

原创 Kotlin中RxBus的使用

1.基础的知识这里不计划多说,直接开始使用1.导入依赖包 compile 'com.eightbitlab:rxbus:1.0.2'2.在需要事件监听的地方 注册 Bus.observe<UpdateTotalPriceEvent>()//UpdateTotalPriceEvent这个是event类 .subscribe {

2018-01-03 12:54:31 2246

原创 Kotlin中MD5加密方式

fun encode(text: String): String { try { //获取md5加密对象 val instance: MessageDigest = MessageDigest.getInstance("MD5") //对字符串加密,返回字节数组 val digest:ByteArray = instance.diges

2018-01-03 12:41:25 10528

原创 属性动画,代码详细解析

本文假定你已经对属性动画有了一定的了解,至少使用过属性动画。下面我们就从属性动画最简单的使用开始。 ObjectAnimator .ofInt(target,propName,values[]) .setInterpolator(LinearInterpolator) .setEvaluator(IntEvaluator) .setDuration(500)

2017-12-28 14:25:27 313

原创 Viewpager中嵌套RecyclerView 再嵌套水平的recyclerView 滑动时候,事件

//1. 解决方法 @Override public boolean dispatchTouchEvent(MotionEvent ev) { ViewParent parent=this; while(!((parent = parent.getParent()) instanceof ViewPager));// 循环查找viewPager parent.requestDisallowInte

2017-09-14 18:56:39 2026

原创 android环信集成单聊功能

http://docs.easemob.com/im/200androidclientintegration/10androidsdkimport

2017-09-08 14:02:26 1338

原创 分享多张图片到微信朋友圈

实现代码如下:[java] view plain copyIntent intent = new Intent();          ComponentName comp = new ComponentName("com.tencent.mm",                  "com.tencent.mm.ui.t

2016-11-11 11:42:22 3637 1

原创 java基础总结

一.  面向对象: { 1.面向对象的思想 :基于面向过程的编程思想     特点:符合我们思想的         将复杂的简单化         将我们从执行者变为指挥者     开发:不断创建对象使用对象指挥对象做事情     设计:就是管理和维护对象之间的关系     特征:封装,继承,多态      2.类与对象及其使用 :    类:java中基本单位

2016-10-24 12:31:40 335

原创 android上传图片至服务器

本实例实现了android上传手机图片至服务器,服务器进行保存服务器servlet代码publicvoid doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

2016-10-24 11:51:58 328

原创 Android开发中动画使用的注意事项

在Android开发过程中我们都知道,有一些比较酷炫的效果都是通过动画来实现的,Android提供了View动画、帧动画和属性动画三种动画,具体的使用方法和介绍网上有很多的介绍,这里我不做多余的赘述,在这篇博客里呢,我想就使用动画的一些注意事项做一些说明,希望对大家有用。1.OOM问题这个问题主要出现在帧动画中,当图片数量较多且图片较大时就极易出现OOM,这个在实际的开发中要尤其注

2016-10-12 17:43:56 371

原创 我眼中的View

1.每个View都只有一个父View2.整个视图只有一个根View 3.DecorView --- FrameLayout 3.1我们在写视图的时候,要尽可能的少写视图层级 3.2能用FrameLayout写的,就不要用RelativiLayout,能用RelativiLayout写的,就不要用LinearLayout。  4.我们通过setContentView设置的

2016-10-07 23:59:09 351 1

原创 AsyncTask研究

AsyncTask:关于线程池:asyncTask对应的线程池ThreadPollExecutor都是进程范围内共享的,都是static的,所以asyncTask控制着进程范围内所有的子类的实例.由于这个限制的存在,当使用默认线程池的时候,如果线程数超过线程池的最大容量,线程池就会爆掉(3.0后默认串行执行,不会出现这个问题).针对这种情况,可以尝试自定义线程池,配合asyncTask使用..

2016-10-06 23:44:24 292

原创 Android的面向组件开发

面向组件思想是在软件规模扩大,复杂度上升的背景下,以面向对象为基础而提出的一种软件设计思想。可以把它理解为一种更粗粒度的面向对象,其粒度一般大于对象,但具体要到什么程度,又可以根据实际情况来决定。这种思想以组件为基础,强调“服务”的概念。面向组件具有以下特点:低耦合性:组件之间一般互不依赖,一个组件只需要知道另一个组件的“名字”就可以访问它;高重用性:系统级的重用;高互操作性:不同

2016-10-05 02:34:22 321

原创 一些杂货

1.     listview中converView复用 可以使用三元表达式    View view = convertView != null ? convertView :View.inflate(MainActivity.this, R.layout.item, null);2.     数据库帮助类有两个方法,第二个方法更新数据库用,只有版本号发生变化的时候掉用 3.    

2016-10-04 13:11:45 329

原创 Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(上

在之前一篇博文中 Android中View绘制流程以及invalidate()等相关方法分析>>,简单的阐述 了Android View   绘制流程的三个步骤,即:                      1、  measure过程 --- 测量过程

2016-10-02 22:31:21 641

原创 Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(下

上篇文章Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(上)>>中,我们  了解了View树的转换过程以及如何设置View的LayoutParams的。本文继续沿着既定轨迹继续未完成的job。        主要知识点如下:

2016-10-02 22:31:18 716

原创 view的测量,布局,绘制

矩形区域. Android原生桌面上的那些应用图标其实是 textview, 可以再 Android Device Monitor 中看(dump view).View只能有一个父View, 为什么? 这样设计, 系统底层只需跟最顶层的View交互. View是否必须有父View, 不是, 可以使用 WindowManager 加到屏幕上Android是 C/S 架构, 我们写的客户端

2016-10-02 22:31:16 337

原创 自定义控件3.自定义属性

在上一篇里, 自定义View的背景色和文字颜色都是在 onDraw 里写死的, 这次我们实现可以通过布局文件配置. 要实现这个功能, 需要有如下几个步骤:1. 创建 attrs.xml在 res/values 目录下新建一个 attrs.xml , 内容如下:xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.and

2016-10-02 22:31:13 271

原创 自定义控件2.第一个自定义view

自定义一个View, 继承自 View, 实现如下效果:  其实就是一个宽高为100的蓝色方块, 左下角红色字题 Hello! (上面的Hello world 是系统的 TextView).1. 继承 View, 重写 onDraw 方法/** * 自定义一个简单的 View * * @author GAOYUAN * */public class CustomView1 extends Vie

2016-10-02 22:31:11 325

原创 自定义控件1.官方文档翻译

Android offers a sophisticated and powerful componentized model for building your UI, based on the fundamental layout classes: View and ViewGroup. To start with, the platform includes a variety

2016-10-02 22:31:08 1321

原创 自定义组合控件

转自http://www.cnblogs.com/hdjjun/archive/2011/10/12/2209467.html 代码为自己编写目标:实现textview和ImageButton组合,可以通过Xml设置自定义控件的属性。       通过代码或者通过xml设置自定义控件的属性1.控件布局:以Linearlayout为根布局,一个TextView,一个ImageButton。   Xm

2016-10-02 22:31:06 265

原创 android图片缩放、放大demo - Android实例教程

示例原图: 拖动查看其他部分:    放大仔细查看  代码示例,注释比较详细,其他不多讲了package com.study.drascale;import android.os.Bundle;import android.app.Activity;import android.graphics.Matrix;import android.graphics.PointF;import androi

2016-10-02 22:31:01 1214

原创 显示大图片的技巧

尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。 因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的 sou

2016-10-02 22:30:59 390

23种设计模式知识要点.pdf

Java23种设置模式知识要点,从代码的演示中学习设计模式,针对每一种模式给出例子方便读者可以参考学习;

2019-05-27

Kotlin电商项目下载地址

包括kotlin Dagger2 Arouter RxBus Mvp retrofit resultApi的项目下载地址线上下载地址

2018-01-20

代码行数统计工具

代码统计,代码统计工具2.0最新版本,直接运行统计行数,

2017-10-13

android 动画轨迹

购物车,动画,赛贝尔曲线,动画轨迹,可以直接运行的代码

2017-10-13

空空如也

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

TA关注的人

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