自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (16)
  • 收藏
  • 关注

原创 flutter之轮播banner

思路图片的左右滑动使用viewPager控件,为了实现无限轮播即尾页右滑到第一页,首页往前滑到尾页,在头部加入尾页,在尾页加入首页,例如如果有四页,要添加两页形成6页,这样滑动的时候快速调转用户是无感知的;实现自动轮播需要添加一个定时器,每隔几秒进行滑动到下一页,但在手动滑动的时候需要取消定时任务,滑动结束开始定时任务。import 'dart:async';import 'packag...

2019-10-29 15:42:37 289

原创 Flutter中遇到的坑

键盘弹出界面上移Scaffold控件中有一个属性resizeToAvoidBottomPadding,true时键盘弹出界面上移,false键盘弹出界面不上移即遮挡界面。ListView.builder不在Scaffold布局下,四周会有部分空白MediaQuery.removePadding( child: ListView.builder( ...

2019-10-17 14:36:45 740

原创 android录屏功能

思路android实现录屏功能有两种方案,一种是直接使用android自带的MediaProjectionManager实现录屏功能,第二种是是只录语音,用户的操作通过某种方式进行记录保存,最后通过某种协议进行播放。两种方案各有各的优缺点,前者实现方式简单,但无法只录制特定区域的画面,并且生成的视频文件一般都比较大。后者实现较为繁琐,音频录制android7.0之前没有暂停方法,只能生成多个文...

2019-09-27 15:32:34 1637

原创 算法总结

衡量算法优劣的主要标准是时间复杂度和空间复杂度。时间复杂度1.如果运行时间是常数量级,则用常数1表示。2.只保留时间函数的最高阶项3.如果最高阶项存在,则省去最高阶项前面的系数空间复杂度1.常量空间,存储空间固定,和输入规模没有直接关系,O(1)2.线性空间,分配的空间是线性的集合(如数组),大小和输入规模成正比,O(n)3.二维空间,分配的空间是二维数组集合,集合的长度和宽度和输...

2019-07-26 17:18:41 187

原创 java虚拟机笔记

java体系结构介绍java虚拟机的主要任务是装载class文件并且执行其中的字节码 。java虚拟机的执行引擎:1.一次性解释字节码。2.即时编译器,第一次被执行的字节码会被编译成本地机器代码,被缓存,可重用。3.自适应优化器,开始解释字节码时监视程序的活动,记录使用最频繁的代码段。运行时只把最频繁的代码翻译成本地代码。java程序通过调用本地方法和主机交互。本地方法由其他语言编写...

2019-07-26 17:03:47 160

原创 android架构框架设计

为了开发效率,记录一下自己的开发框架,整体使用mvvm的模式,使用android自带的databinding开发数据驱动的页面逻辑。大致分为几个部分,common存放一般在各个模块都会用到的类,module是项目模块,主要是业务模块,如user用户模块,user下有有三个包ui/model/viewCtrl ui存放该模块下的Activity,viewCtrl存放的是业务处理逻辑类,用过dat...

2019-06-27 10:32:58 3359 1

原创 android在线预览office

1. 集成腾讯TBS文件浏览(推荐)参考tbs只支持本地文件的加载,需要先将文件下载下来。文件上传下载根据官方demo很容易集成2.通过webView加载微软:https://view.officeapps.live.com/op/view.aspx?src=(输入你的文档在服务器中的地址); (有时不知道为什么访问不到服务器)谷歌:h ttps://docs.google.com/v...

2019-04-22 17:05:11 2651

原创 android九宫格锁屏控件

public class LockView extends View { //半径 private int radius; //中心小圆半径 private int smallRadius; //一行个数 private int column; //选中颜色 private int selectColor; //未选中颜色...

2018-11-20 10:36:03 756

原创 android附件上传下载(图片,语音,视频)

上传所有的上传都是一样的都是转成流的形式发送给服务器,注意写入body是一个异步操作,我写的网络发送(okhttp+rxjava)也是异步的,所以在部分机型上会报错,java.net.ProtocolException: expected 6137 bytes but received 7081 ,这是因为还没有把所有数据写入body就发送了,所有可以在写入完成之后再发送。 final Fil...

2018-11-20 10:21:53 2101

原创 android各版本的兼容问题

自动安装在Android7.0自动安装做出了修改,android8.0增加了权限//以前 Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive...

2018-09-28 20:05:55 1526

原创 android九宫格可分页加载控件

github地址 基本思路是viewpager+gridview,每一页viewpager视图有一个gridview,gridview加载九格。所以要保证数据的准确性。数据以List< List < T>>的形式。控件实现了高度自适应,根据控件的个数,计算控件的高度。内部的viewpager和gridview视图都以动态创建,无需新建一个xml文件,整

2018-08-31 10:19:30 779 1

原创 琐碎笔记

android默认使用sp作为字号单位。 sharePreferences保存文件的路径和扩展名是data/data/package_name/shared_prefs/*.xml 每一个dvm都是在Linux中的一个进程。 android2.2对应的apiLevel是8。 1px=(dpi/160)dp,1in=72pt=160sp=160dp Message提供消息池,thread默...

2018-06-24 15:50:33 488

原创 禅道安装部署

简介禅道是一个开源的项目跟踪管理工具,支持项目需求开发管理和bug管理。Linux部署官网教程 在命令行直接输入: 64位下载:wget http://dl.cnezsoft.com/zentao/9.0.1/ZenTaoPMS.9.0.1.zbox_64.tar.gz 32位下载:wget http://dl.cnezsoft.com/zentao/9.0.1/ZenTao...

2018-05-29 16:00:42 2488 2

原创 java盲点(二)

java盲点(一)函数的调用过程调用某个函数实际上将程序执行顺序转移到该函数所存放在内存中某个地址,将函数的程序内容执行完后,再返回到 转去执行该函数前的地方。这种转移操作要求在转去前要保护现场并记忆执行的地址,转回后先要恢复现场,并按原来保 存地址继续执行。也就是通常说的压栈和出栈。因此,函数调用要有一定的时间和空间方面的开销。那么对于那些函数体 代码不是很大,又频繁调用的函数来说...

2018-05-09 11:28:20 256

原创 js学习笔记(一)

基于《javaScript高级程序设计》1-6章学习笔记DOM,文档对象模型,提供访问和操作网页内容的方法和接口。 BOM,浏览器对象模型,提供与浏览器交互的方法和接口。 HTML中使用js基本概念js区分大小写 严格模式:为js定义一种不同的解析与执行模型,ECMAScript3中的一些不确定行为得到处理,不安全操作抛出错误。顶部添加”use strict”启动。 l...

2018-05-08 22:49:43 214

原创 android的安全知识

WebView主要包括三种漏洞:任意代码执行 Android4.2以后,通过addJavascriptInterface注解的方法可被网页中的java方法调用。如果未加过滤则可能存在漏洞 挖掘方法: 编写遍历对象的网页,如果存在getClass方法则存在远程代码执行漏洞 fiddler的before脚本可以让任意webview访问任意网页时进行测试域控制不严格 WebView...

2018-04-20 09:18:50 313

原创 react-natigation导航栏

react-navigation官网Api点击更改标题export default class ChatScreen extends Component { static navigationOptions=({navigation})=>{ const {state,setParams} = navigation; return({...

2018-04-19 17:18:19 1129

原创 软件开发相关知识

get和post的区别HTTP 方法:GET 对比 POST 1.GET是通过URL方式请求,可以直接看到,明文传输。 2.POST是通过请求header请求,可以开发者工具或者抓包可以看到,同样也是明文的。 3.GET请求会保存在浏览器历史纪录中,还可能会保存在Web的日志中。 4.GET幂等,POST不幂等(幂等是指同一个请求方法执行多次和仅执行一次的效果完全相同)。htt...

2018-03-05 10:30:23 803 1

原创 android基本知识

android知识图谱知识图谱性能优化Android APP性能优化的四个方面最全总结 布局优化: 减少布局层级,不要再主线程做耗时操作。使用ViewStub,提高显示速度。布局复用,删除控件中无用属性。 避免过度绘制: 移除XML中非必须的背景,移除Window默认的背景、按需显示占位背景图片。使用canvas.clipRect()来帮助系统识别那些可见的区域,只有在这个区域...

2018-02-27 16:43:22 501

原创 设计模式总结

设计模式是利用封装,继承,多态三大特色,遵循一系列原则的可重用软件设计方式。设计模式的类型创建型模式:工厂模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式:适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。(多出来的一种,过滤器模式) 行为型模式:策略模式,模板方法模式,观察者模式,迭代子模式,责任链模式,命令模式,备忘录模式,状态模式,访问

2018-01-25 16:06:50 174

原创 ardunio+esp8266与javaSocket网络通信

功能通过ardunio向esp8266模块发送at指令,连接上wifi,然后向服务器发送tcp连接请求,之后是与服务器进行sockt通信,实现通过web服务器,更改设备的led开关。实物连接连接方式esp8266连接,ardunio使用软串口RX=2,TX=3, RX—–ardunio的TX TX—–ardunio的RX IO15–GND CHP_EK—3.3V

2018-01-21 21:20:42 5738 7

原创 自定义标尺控件

示例功能描述通过输入的list节点表示标尺刻度,不规定每一个相同,当长度相同,取得的值只能是节点上的值,没有中间值。支持左滑右滑,滑动有动画,并且划过一般自动滑到节点,未满一半返回原节点。代码public class RulerView extends View { /**屏幕宽度*/ private int screenWidth; /**控件高度*/ privat

2018-01-19 16:04:35 1487

原创 自定义密码输入框

示例 原理继承EditText的自定义控件,当输入字符的时候,监听字符变化,绘制边框和内容。代码Android KeyCode表public class PasswordInputEdit extends android.support.v7.widget.AppCompatEditText { private Paint rectPaint; private Paint te

2018-01-19 14:59:43 497

原创 GreenDao的使用与封装

官方api文档 SQLite可视化工具下载地址 Personal为免费版本配置在项目build.gradle中配置 dependencies { classpath 'org.greenrobot:greendao-gradle-plugin:3.1.0' }在你要使用的模块下的build.gradle配置(我是直接在app模块下)apply plugin: 'org.green

2018-01-19 14:04:00 1051

原创 Realm的使用

Realm 是一个移动数据库,可运行于手机、平板和可穿戴设备之上。可以让你的应用更快速,带来难以想象的体验。其目标是为了代替 CoreData 和 SQLite 数据库。 Realm非常易用,不是在SQLite基础上的ORM,它有自己的数据查询引擎。是完全重新开发的数据库,速度非常快,并且支持跨平台,数据加密,数据迁移,支持json,流式api等 官网 realm优缺点介绍 现在已经有了re

2018-01-15 18:00:46 9749

原创 java盲点(一)

内部类和匿名内部类内部类:可以使用外部的变量 匿名内部类:可以使用外部的类变量或者实例变量或者final修饰的局部变量//比如这种写法是Runnable匿名内部类 new Thread(new Runnable() { @Override public void run() { } }).start(...

2018-01-12 17:41:34 252

原创 android动态添加布局(基于mvvm和databinding)

android 常常需要动态添加布局例如: 需要后台返回的天数个数来动态添加布局,有一下几种写法:方式1。 基于recycleView recyclerView使用了基于mvvm和databinding的框架github地址xml布局,通过后台返回天数的数量daySize显示多少个布局<?xml version="1.0" encoding="utf-8"?><layout xmln

2017-12-29 17:24:48 6454 2

原创 android与h5交互

android app 为了避免对频繁改动的页面改动从而不断更新版本,常常会对那些页面使用h5页面,直接在h5页面访问android原生代码或者调用h5中的方法。 android中通过webview加载页面。 WebSettings webSetting = binding.webView.getSettings(); // 是否允许在webview中执行javascript

2017-12-14 11:20:27 406

原创 retrofit2+okhttp3+rxjava网络封装

这是android的网络底层封装,可以简便的使用网络调用,对网络返回进行统一的封装处理。 先上代码,以登录为例 下面是使用代码//先通过单例模式获取retrofit对象,调用api类访问接口。 Observable<HttpResult<TokenRec>> call = NetConnect.getInstance().getService(UserService.class).userLo

2017-12-06 16:14:32 2642

原创 基于Android-Skin-Loader的换肤效果

skin-loader框架的换肤是通过插件化的形式替换资源文件,实现换肤效果。好处是可以在线更新皮肤换肤 android-skin-loader源码Demo样例 流程整个框架大概的流程是加载皮肤包,找到被标记的控件,通过自定义的Factory工程过滤掉其他控件,使用皮肤包中的资源文件更新被标记的ui。使用操作导入android-skin-loader框架包 androidStudio Fil

2017-11-27 15:25:55 1652 9

原创 android需要了解学习的知识

RecycleViewmvvm封装recycleView好用的控件SwipeToLoadLayout下拉刷新控件 底部导航栏 Banner广告轮播 粘性头部pickview仿支付宝密码工具库圆形进度Sweet Alert Dialog弹框控件分类汇总Android开源项目分类汇总URL路由ActivityRouterARouter...

2017-11-21 10:26:59 355 1

原创 android采坑记录

ScrollView控件中的match_parent无效添加android:fillViewport=“true”属性轮播banner,数据源更新界面无法更新其实也不是无法更新,内部有viewPager首页刷新无效,会在之后的pager里显示新的数据源中的东西。内部已经调用了adapter.notifyDataSetChanged()。这是viewPager的机制可以参考viewPag...

2017-11-21 09:56:24 531

原创 maven+nexus的创建和常见操作

Maven 是软件项目管理工具,除了以程序构建能力为特色之外,还提供高级项目管理工具。nexus是一种私服软件,我们常常在搭建maven的时候,会搭建nexus私有仓库,当项目获取项目依赖时(pom.xml中配置),系统会首先在本地仓库寻找需要的依赖包,当没有找到会去私有仓库查找,还没有找到,会去中央仓库查找。还有另一种场景,一些公司有一些自己的jar包,不需要外面的人获取或者是中央央仓库找不到的包

2017-11-19 15:56:49 1008

原创 android 调起h5页面微信支付

最近在做app的支付功能。具体过程在app中获取后台支付url(聚合支付)直接调起微信支付页面。app向webview传入url直接调起网页。以下为webview的部分代码:webView.getSettings().setJavaScriptEnabled(true);//支持js webView.setWebViewClient(new WebViewClient());//对webview页

2017-10-31 16:17:26 4475

原创 初识mvp

刚刚开始看mvp,以下是自己浅显的见识,尽做笔记使用。

2017-09-30 14:42:07 179

CheckAndroidV2Signature.jar

android V2签名的工具包,检测当前包是否v2签名过。

2019-05-15

面试题含答案.docx

一些面试题和答案,主要的内容是android面试的你内容,

2019-05-15

androidStudio设置文件

AndroidStuio配置文件,通过import Setting配置,logcat颜色设置,快捷键提示,大小,界面颜色

2019-01-07

android换肤包lib

android-skin-loader android插件化换肤的lib包直接导入androidstudio使用

2017-12-13

gradle-2.14-all.rar

gradle-2.14-all 2.1.3-2.2.3版本的android studio使用

2017-11-30

连连支付手机应用sdk认证支付商户借口说明书

连连支付手机应用sdk认证支付商户借口说明书,提供连连支付的借口说明文档。

2017-11-30

支付宝rsa签名认证工具

支付宝rsa签名认证工具 产生商户应用公钥和私钥

2017-08-17

根据节点绘制的横向标尺控件

根据节点绘制的横向标尺控件,自定义最大值最小值,间隔,颜色

2017-08-17

json.jar的工具包

2016-11-10

httpclient工具包

2016-11-10

MySQL的图型化界面sqlyog

MySQL的图型化界面sqlyog

2016-03-08

java窗体的应用

java窗体的应用

2016-03-08

图型程序设计

涉及了各种GUI的简单设计算法,希望对你有帮助

2015-11-28

事件处理监听器

鼠标相应,监听器的设置等简单的代码,希望对你有帮助

2015-11-28

Swing用户界面组件

Swing组建的各种小组建的代码,希望对你有帮助

2015-11-28

对称加密和非对称加密

对称加密和非对称机密的讲解,算法的数学原理

2015-11-28

空空如也

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

TA关注的人

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