自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 Kotlin自定义dialog

Kotlin自定义dialog由于系统自带的dialog都比较的简单,无法满足产品的需要,而且也不够美观,所以能自定义随心所欲的dialog岂不是美滋滋。步骤如下1.写好自定义的dialog_exit.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schema...

2019-04-10 17:03:13 5147

原创 Flutter插件Plugin.kt文件无法识别flutter库报红

1.问题:最近要使用Flutter插件,但是AS的尿性,插件模块自带的xxxxPlugin.kt打开后就报红,出现无法识别flutter中带的各种类,使用Android模式打开也是如此。2.解决如下:(1)在local.properties文件中添加你的flutter sdk目录:flutter.sdk=F:\\flutter\\flutter(2)在build.gradle文件中添加://最外层def localProperties = new Properties()def localP

2021-10-06 00:48:01 1581 1

原创 Flutter之图片选择器image_picker

前言:image_picker可以camera拍照,也可以从gallery相册中选择。1.导入库:image_picker: ^0.7.42.demo:class MyIndexedStack extends StatefulWidget{ @override State<StatefulWidget> createState() { return _MyIndexedStack(); }}class _MyIndexedStack extends State&lt

2021-08-02 13:49:16 1316

原创 Flutter瀑布流列表

1.导入库:flutter_staggered_grid_view: ^0.4.02.使用代码:class _MyHomePage extends State<MyHomePage>{ List imgList = [ "http://yanxuan.nosdn.127.net/65091eebc48899298171c2eb6696fe27.jpg", "http://yanxuan.nosdn.127.net/8b30eeb17c831eba08b97bdcb4c46

2021-08-01 18:06:26 488

原创 Flutter屏幕适配之flutter_screenutil

前言.屏幕适配android和ios都有自己的方案,flutter使用flutter_screenutil进行屏幕适配。1.导入依赖:flutter_screenutil: ^3.1.02.初始化: ScreenUtil.init(context, designSize: Size(750, 1334), allowFontScaling: false);这里的750,1334是ui给的设计图宽高px值。3.ScreenUtil类widget:width和height都是dp值 //表示宽度

2021-08-01 02:24:38 1988 1

原创 Flutter中使用Provider

前言.相当于全局变量,只要一改数据,引用到的地方就会自动刷新UI。1.导入:provider: 5.0.02.写model类class User extends ChangeNotifier{ String _name; String _gender; User(this._name, this._gender); set setName(String value) { _name = value; notifyListeners(); } String g

2021-07-31 16:47:26 380

原创 Flutter使用数据库

1.这里使用sqflite,android和ios通用,导入依赖:sqflite: ^2.0.0+32.建立数据库db,并获取db对象。表结构如下://1.0 version 没有author,后面2.0 version更新表结构添加author static const String TABLE_BOOK = 'book'; static const String BOOK_COLUMN_ID = 'id'; static const String BOOK_COLUMN_NAME =

2021-07-29 20:20:14 656

原创 Flutter的动画

1.Animation的状态有四种,使用枚举AnimationStatus 表示enum AnimationStatus { /// The animation is stopped at the beginning. //如果动画是reverse()返向执行,执行结束后就是dismissed dismissed, /// The animation is running from beginning to end. //动画开始正向执行,此时也会调用addStatusListene

2021-07-27 22:40:02 229 1

原创 Flutter 常用依赖库

1.网络请求库:dio: 4.0.02.视频播放库:chewie: ^0.12.2 video_player: ^1.0.03.webview库:flutter_webview_plugin: 0.4.0 webview_flutter: 2.0.104.图片加载库:cached_network_image: 3.1.05.toast弹窗库:fluttertoast: 8.0.76.sp库:shared_preferences: 2.0.67.缓存管理库:flutter_cache_manage

2021-07-26 12:30:47 377

原创 Flutter UI控件笔记

1.CircleAvatar圆形头像:new CircleAvatar( backgroundImage: new NetworkImage("https://pic3.zhimg.com/fc4c1cb34c2901a1a8c05488bbd76fa2_xs.jpg"), radius: 11.0),2.圆形按钮RaisedButton( shape: CircleBorder(side: BorderSide(color: Colors.pink)),

2021-07-26 12:24:18 118

原创 Flutter 云笔记

1.网络,导入Dio库,dio: 4.0.0,注意要用空格,不能碰到边界。2.dio网络请求://根据需要传入对应的参数Dio().get(url, queryParameters: {"type": type, "key": key});3.回调typedef RequestCallBack = void Function(Map data);//请求完成后根据得到的数据执行回调 static Future<Response> getData(RequestCallBack

2021-07-21 11:46:12 174

原创 kotlin中使用AOP

一.前言:AOP(Aspect Orented Programming):面向切面编程,通过ajc编译器把java文件编译为加工过的class文件,个人感觉就是定点插入代码。二.应用场景:权限申请,日志统计,行为统计,性能检测。三.项目配置:这里我放在公共模块中(1)project中添加: classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.4'(2)主module中 apply plugin: 'co

2021-07-02 07:22:50 1096

原创 Android中引用百度地图sdk

1.在百度那里注册成为开发者,创建对应的应用,填写包名,sha1,最后得到AK。2.下载sdk,解压得到jar包,和各个平台的so库。3.由于我是组件化开发,将jar包和各个平台的so库目录复制到common的libs目录下,右击jar包,add as library。common的build.gradle就多此jar的引用。//这里是common模块,使用api,而不是implementation api files('libs/BaiduLBS_Android.jar')4.在app的And

2021-06-11 16:07:47 471 1

原创 kotlin中组件化开发

参考来源:参考文章1.这里的模块要有:主模块(app),modulea,moduleb,modulec,common。四个子模块均是在Project->app下新建的modele->Android Library2.这里给出各个模块的build.gradle的配置:(1)主模块(Project:项目名)的build.gradle中添加ext{ isDebug = false android = [ compileSdkVersion: 29,

2021-06-02 23:16:38 705 3

原创 SpringBoot 简单使用Mybatis

1.引入依赖(版本可去找最新的): <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency>2.application.properties下添加数

2021-05-27 00:25:38 77

原创 Springboot使用极光推送

参考来源:服务器参考来源1.springboot服务器添加依赖 <dependency> <groupId>cn.jpush.api</groupId> <artifactId>jpush-client</artifactId> <version>3.3.10</version> </dependency> <dependency> <groupId>c

2021-05-20 01:23:49 773 1

原创 Redis学习记录

一:安装启动1.安装:安装地址2.cmd切换到安装目录开启服务端C:\redis>redis-server.exe redis.windows.conf3.开启客户端(由于redis默认不显示中文,所以要加上–raw):C:\redis>redis-cli.exe -h 127.0.0.1 -p 6379 --raw二:常见类型1.string127.0.0.1:6379> set test aabbccOK127.0.0.1:6379> get testaabbc

2021-04-24 00:01:38 105

原创 xutils3和springboot接口参数

1.接口参数(1) 普通参数:public Object getMap(int page,String keyword)如果不写@RequestParam进行映射,表单中的字段与方法中的参数名一致的话,会自动设置,所以最好是使用。Android: var url = "http://ip:8080/getMap" var requestParams = RequestParams(url) requestParams.addParameter("page

2021-04-17 17:37:32 129

原创 JNI混淆

1.debug运行好好的,但是打包得release,各种闪退,这个时候可能就是开启混淆后,没配置好混淆规则了。2.比如eventbus,rxjava等,简单的混淆如下:# Add project specific ProGuard rules here.# You can control the set of applied configuration files using the# proguardFiles setting in build.gradle.## For more detai

2021-04-16 23:44:54 402

原创 scrollview悬停

1.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <androidx.swiperefreshlayou

2021-04-11 23:58:14 209

原创 JNI提取txt文本并显示到recyclerview中

1.这里主要是在jni中获得类中的成员变量容器,然后添加,遍历完毕,执行对应的函数进行显示。2主要jni代码如下:#include <jni.h>#include <string>#include "dirent.h"#include "android/log.h"using namespace std;#define TAG "native"#define LOGE(...) ((void)__android_log_print(ANDROID_LOG_ERROR,

2021-03-31 23:51:35 357

原创 Netty简单的群聊

前言,很垃圾的。一:服务端1.springboot导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.projectlombok</g

2021-03-24 23:28:49 202 1

原创 sprootBoot上传和下载文件

1.单文件上传:传到服务器的 F:\uploadSrc目录下 @RequestMapping("/upload") public @ResponseBody String upload(@RequestParam("file") MultipartFile file){ try { if(file.isEmpty()){ return "file is empty"; }

2021-03-23 00:09:57 370 1

原创 SpringBoot 连接mysql

1.构建一个新项目,前面写过了。2.添加依赖,在pom.xml中添加: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</group

2021-03-21 18:40:41 311

原创 window安装mysql

1.根据:安装教程进行下载,解压,新建配置文件,初始化等。注意,注意,注意。cmd务必使用管理员身份打开进行命令行操作。2.过程肯定是有问题的:问题:You must reset your password using ALTER USER statement before executing this statement执行解决:alter user user() identified by “root”;修改密码:set password for ‘root’@‘localhost’=’***

2021-03-21 18:22:44 90 1

原创 SpringBoot 搭建小demo服务器

环境:window10,IDEA社区版1.IDEA社区版没有Spring框架的,要在Settings->Plugins中找到Spring Assistant插件进行安装,然后重启IDEA。2.构建新项目:file- >new->project->Spring Assistant->Default->Project properties项目属性填写->Web->Spring web->Project name->finish即可。3.在项目主包

2021-03-20 19:22:15 126

原创 Kotlin xml pull解析

1.在res下加raw目录,添加local.xml待解析文件 var xmParser = Xml.newPullParser() var input = resources.openRawResource(R.raw.local) xmParser.setInput(input,"UTF-8") var eventType = xmParser.eventType while (eventType!=XmlPullParser.END_

2021-03-15 23:47:49 313

原创 Kotlin 使用EventBus

前述:EventBus就是一个观察者消费模式,常用的点击事件就是这个模式,现在可以使用DataBinding替代。1.导入依赖:implementation 'org.greenrobot:eventbus:3.0.0'2.在create方法中注册 EventBus.getDefault().register(this)3.在destroy方法中注销 EventBus.getDefault().unregister(this),注销会导致内存泄漏的,无法释放this。4.写回调事件,就是被观

2021-03-13 16:44:52 1604

原创 极光广播推送

前述,本来想要验证码的,但是极光短信推送个人是不行的,必须得公司才能签名,注意这里的签名不是指添加应用时的JPUSH_APPKEY,而是消息推送设置里添加的签名。1.根据网上步骤注册极光开发者。2.添加应用,得到JPUSH_APPKEY。3.依赖啥的添加 implementation 'cn.jiguang.sdk:jpush:3.8.5' // 此处以JPush 3.8.5 版本为例。 推送 implementation 'cn.jiguang.sdk:jmessage:2.9.2'

2021-03-13 02:45:23 410

原创 Kotlin中GreenDao的使用

1.依赖添加:apply plugin: 'org.greenrobot.greendao'在android{***}中添加:greendao { schemaVersion 1 daoPackage 'com.example.architectrue' //包名 targetGenDir 'src/main/java' //存放greendao库生成文件(DaoMaster和DaoSession)的目录 }在添加classpath 'org.greenrobot:greendao-gradle-pl

2021-03-13 02:24:00 2139

原创 MMKV使用

前述:mmkv是腾讯开源的持久化第三方库,可以用来替代以往的SP,性能大大的好,使用方法如下。1.添加依赖:implementation 'com.tencent:mmkv-static:1.1.2'这里使用static可以减少库的大小。2.在application中初始化mmkv,可以新建一个applicationclass MyApplication : Application() { override fun onCreate() { super.onCreate()

2021-03-08 10:48:24 2582

原创 Android-MVC-MVP-MVVM

首先,概念先来一波一.MVC:Model,View,Controller交互模型:View->Controller->Model->View 单向环形。通常view和Controller是同一个,比如activity或者fragment。View 接受用户交互请求,View 将请求转交给Controller,Controller 操作Model进行数据更新,数据更新之后,Model通知View更新数据变化。二.MVP:Model,View,Presenter主

2021-03-02 00:55:23 107

原创 Android ml记录

oom,内存溢出,分配的内存不够用了导致出错,硬干饭撑死。ml,内存泄漏,被占用的内存无法得到释放,导致可用内存越来越小,最后可能导致oom,占着茅坑不拉屎。四大引用。1:强引用,来时无法回收,全局变量时可赋值为null,jvm合适时会回收,局部变量,引用内容保存在栈中,退出方法栈时,引用内容的引用不存在,回收object2:软引用,只有内存不足时才回收。3:弱引用,无论内存够不够,都回收。4:虚引用,任何时刻都可能被回收,回收时给个通知。注意:回收的是对象,能不能回收看引用类型,引用类型相当

2021-02-24 18:46:54 280

原创 Android 中使用ffmpeg,个人学习记录

前言:要使用ffmpeg就是用它的各种库,这里用动态so库,使用centos7编译。1.租一台云服务器,部署centos72.wget xxxxffmpeg安装包地址 //这里我使用3.3的3.tar -xzf xxx安装包 //解压4.mkdir ndkbuild 并进入此目录 /5.wget 下载ndk包 //这里选择14b的6.unzip 安装包7.cd 退到根目录后:vim vim ~/.bashrc 进入后改为:export NDKROOT=/root/ndkbuild

2021-02-03 01:31:52 390 1

原创 Kotlin 中简单使用AIDL

一.实现的功能:app222客户端通过binder调用app111服务端的实现接口二.步骤目录图:1.建立工程app1112.添加User.aidl,ABBean.aidl,TestBean.aidl这里需要特别注意,业务aidl名字你随便取无所谓,比如这里的User.aidl,但是ABBean.aidl和TestBean.aidl必须和自定义的数据类型名一致,一个自定类型一个aidl文件,而且自定义类型数据必须实现序列化,这里又要注意反正我使用@Parcelize是无效的,最后还是老老实实的去

2021-01-12 15:02:59 1088

原创 Service与Activity通过Binnder通讯

1.自定义TestService 继承Service,内部类MyBinder继承Binder,内部接口OnBinderListenerclass TestService : Service() { override fun onBind(intent: Intent?): IBinder? { return MyBinder() } //接Activity转过来的Intent,然后做服务逻辑 override fun onStartCommand(i

2021-01-09 18:23:26 132 2

原创 Kotlin 背景圆头像图

1.需求:大部分的头像选择更换时都采取这样的功能,半透明的蒙版,中间一个正方形的选取框,底图随意移动缩放,确定后截取为背景头像。网易云,微信都是如此2.实现:1:代码:package sssimport android.content.Contextimport android.graphics.*import android.util.AttributeSetimport android.util.Logimport android.view.MotionEventimport and

2021-01-02 02:52:36 491

原创 Kotlin 实现仪表盘VIew

1.定义VelocityViewpackage sssimport android.animation.ValueAnimatorimport android.content.Contextimport android.graphics.*import android.util.AttributeSetimport android.view.Viewimport com.example.sosrcpro.Rclass VelocityView :View{ private va

2020-12-26 04:24:17 466 2

原创 JNI 文件遍历

1.引入#include "dirent.h"2.相关结构体(1)DIRstruct DIR { struct dirent ent; struct _WDIR *wdirp; }; typedef struct DIR DIR;(2)dirent struct dirent { long d_ino; /* Always zero */ unsigned short d_reclen; /* Struct

2020-12-24 02:23:26 377

原创 JNI添加md5加密

1.md5.h#include <string>#include <iostream>// a small class for calculating MD5 hashes of strings or byte arrays// it is not meant to be fast or secure//// usage: 1) feed it blocks of uchars with update()// 2) finalize()// 3)

2020-12-24 01:55:46 560

空空如也

空空如也

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

TA关注的人

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