- 博客(81)
- 资源 (3)
- 收藏
- 关注
原创 面向对象设计原则和设计模式分类
模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的。客户端不应该依赖它不需要的接口,另一种定义是:类间的依赖关系应该建立在最小的接口上。一个对象应该对其他对象有最少的了解。设计模式依据其目的可分为。
2025-07-28 16:24:39
329
原创 无障碍开发原理与实践
一、无障碍开发原理与实践android无障碍开发是帮忙视障人士也能便捷地使用APP。Android本身提供了标准的无障碍服务,本文主要是搜索模块在开发无障碍服务的一些实践总结。大部分手机系统已支持无障碍,首先用户需要开启无障碍,选择Android设备 “设置->无障碍”,打开TalkBack开关。浏览方式,开启TalkBack后,可以通过触摸功能浏览屏幕,也可以线性方式滑动浏览屏幕上的各项内容。比如RecyclerView控件自带手指线性导航模式要按照一次查看一项内容的方式浏览屏.
2025-06-25 15:22:19
665
原创 CoordinatorLayout学习笔记
记录协同布局学习之路这篇文章讲的特别好,看了那么多文章后,觉得这篇文章看完有一种豁然开朗的感觉。https://blog.youkuaiyun.com/briblue/article/details/73076458嵌套滑动:CoordinateLayoutView嵌套滑动文章地址:https://blog.youkuaiyun.com/weixin_37077539/article/details/54429646onStartNestedScroll方法:该方法的返回值决定是否执行嵌套滑动onNestedPr
2021-01-07 10:48:33
218
原创 java反射笔记
java反射通过反射的方式调用,分为3个步骤class Student {public String name;public int age;public void setAge(int age){this.age = age;}public void setName(String name){}}通过反射获得类Class cls = Class.forName(“com.demo.bean.Student”);得到调用类方法Method m = cls.getDeclared
2020-10-26 17:57:30
197
原创 Flutter学习笔记(持续更新)
Flutter学习笔记首先打开Flutter官网https://flutter.dev/,开始学习,按照官网的指引搭建Flutter开发环境。(此处略过)Flutter基础在创建UI时在网上查了一些资料,整理下来,方便以后开发中使用。包含不同style的文本组成: RichText( text: TextSpan( text:'', children: ...
2019-03-14 11:41:20
268
原创 工作中遇到的问题(持续更新)
1 在三星手机上出现这个问题,其他手机没发现问题。java.lang.IllegalStateException: Call CookieSyncManager::createInstance() or create a webview before using this class清除Cookie或者获取Cookie前,首先同步。报错代码:public String getCookies......
2018-09-20 10:35:07
401
原创 Git学习笔记
git学习笔记之前使用Git,都是使用SourceTree。因为SourceTree升级到一个版本,提交代码更新代码都非常慢。 后来尝试使用命令行,记录一下学习内容。Git命令总结 初始化一个Git仓库[git init命令] git新建一个空的仓库,当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库。 将文件添加到仓库[git add命...
2018-05-04 20:35:31
592
原创 如何外部修改AndroidManifest.xml中android:scheme的值
公司有个小需求,需要动态配置AndroidManifest.xml中android:scheme的值。 这就转化成通过一个外部java工程修改xml节点值的问题。其中AndroidManifest.xml需要约定一个规则:activity android:name=".MainActivity"> intent-filter>
2018-01-07 12:27:32
7675
1
转载 工作记录-mysql数据库表增加字段(从000001开始递增)
mysql数据库的student表结构如下:idnameage1zhangsan162alice203lanlan304haha25如果新增一个字段no,规则是:六位数,从000001开始依次递增。idnameageno1
2017-11-14 14:44:06
3952
原创 android基础知识
Q1:android:layout_weight的真实含义解答:首先声明只有在Linearlayout中,该属性才有效。之所以android:layout_weight会引起争议,是因为在设置该属性的同时,设置android:layout_width为wrap_content和match_parent会造成两种截然相反的效果。 android:layout_weight的真实含义是:一旦View
2017-08-11 22:01:34
578
原创 SpringBoot学习-如何使用mybatis-generator-maven-plugin自动生成代码
前提:已经创建了Spring Boot工程。接下来讲解一下如何自动自动生成MySql数据库表的java代码。1首先打开项目的pom.xml,添加依赖。如下图所示:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc
2017-07-10 11:06:24
8819
1
原创 学习maven笔记
最近,做后台微服务开发,使用的是intelliJ IDEA,在对项目打包使用的是maven插件,先clean、compile,最后package,在target目录下生成一个jar包,把这个jar包发布到服务器,启动就好了。昨天在慕课网上看到maven的教程,带着好奇的心学习了一番,老师讲得很好,maven的美式发音也很标准。我发现我之前发音发错了,读[ma:vən],哈哈哈。英[ˈmeɪ
2017-05-31 15:35:12
425
转载 Java内存分配全面浅析
转自http://blog.youkuaiyun.com/yangyuankp/article/details/7651251 本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java。这类文章网上有很多,但大多比较零碎。本文从认知过程角度出发,将带给读者一个系统的介绍。 进入正题前首先要知道的是Java程序运行在JVM(Java Virtual Machine,
2017-05-01 19:42:29
318
原创 Spring Boot学习-如何创建工程
最近开始学java后台微服务开发,做一些笔记,比较零散。 1 如何创建工程? http://projects.spring.io/spring-boot/ 然后打开 https://start.spring.io/ 可以生成一个项目框架,通过IntelliJ IDEA 导入maven项目,有文档说明。 默认端口号8080,通过application.properties修改端口号 比如:
2017-04-30 20:01:39
940
1
原创 SharedPreferences.Editor 的apply()与commit()方法的区别?
apply()方法apply()方法没有返回值;apply()方法先提交到内存是一个原子操作,然后异步提交到Disk。如果有两个editors同时修改preferences,最后一个调用apply()方法的会成功。apply()方法因为异步提交到Disk,所以效率更高。commit()方法commit()方法有返回值;commit()方法是直接提交到Disk,是一个原子操作,如
2017-03-02 14:09:43
1350
转载 解开Android应用程序组件Activity的"singleTask"之谜
转自http://blog.youkuaiyun.com/luoshengyang/article/details/6714543在Android应用程序中,可以配置Activity以四种方式来启动,其中最令人迷惑的就是"singleTask"这种方式了,官方文档称以这种方式启动的Activity总是属于一个任务的根Activity。果真如此吗?本文将为你解开Activity的"singleTask"
2016-12-28 11:34:25
414
原创 Otto学习
今天学习了Otto框架,官网地址https://github.com/square/otto 如何在android studio开发环境下使用Otto呢?1 添加模块依赖 步骤:打开官网地址,复制compile 'com.squareup:otto:1.3.8' 这一句 到模块的build.gradle的dependencies节点下。2 在android studio开发
2016-12-16 14:52:32
465
原创 开发一个Toolbar小demo的步骤
Toolbar官网地址 https://developer.android.com/reference/android/widget/Toolbar.html本文记录了在androidstudio中如何添加Toolbar的步骤。1 将com.android.support:design库添加到模块依赖2 在res/values/styles.xml中修改AppTheme样式,如下:
2016-12-12 17:41:31
1397
转载 java反射获得泛型参数getGenericSuperclass()
public class Person { } import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; public class Student extends Person { public static void main(String[] args) { S
2016-11-16 11:10:28
1194
转载 快速排序算法
原文地址:http://www.sczyh30.com/posts/Algorithm/algorithm-quicksort/快速排序的基本实现快速排序算法是一种基于交换的高效的排序算法,它采用了分治法的思想:从数列中取出一个数作为基准数(枢轴,pivot)。将数组进行划分(partition),将比基准数大的元素都移至枢轴右边,将小于等于基准数的
2016-11-14 21:54:23
216
转载 自定义TextView解决文字排列不齐和自定义超链接
android提供的TextView控件可以自动换行,对于纯英文来说很好用,如果既有中文字符又有英文字符和特殊字符,全角字符和半角字符混在一块,就会出现经常一行没显示完就跳转到下一行显示了,文字排版参差不齐,超级难看,通过自定义TextView来实现我们需要的显示方式。自定义MyTextView类代码如下:package com.example.user.helloworld.view;
2016-11-14 14:44:02
981
原创 RxJava、EventBus学习笔记
看完深入浅出RxJava系列,作为入门教程,可以自己动手编码试试。想更多了解RxJava例子、源码或RxJava与Retrofit结合使用的实例,可以打开hi大头鬼hi的github,有更多的推荐文章。可能是东半球最全的RxJava使用场景小结,作者在github上也推荐了不少好文、例子和源码。
2016-11-11 15:06:55
430
原创 ScrollView嵌套GridView,GridView中position=0时会重复加载很多次
最近做项目出现一个问题,GridView嵌套在ScrollView中,当。 http://blog.youkuaiyun.com/ccchp/article/details/38397511
2016-11-04 15:55:12
1503
原创 学习Retrofit
Retrofit官网http://square.github.io/retrofit/ 这一周学习了Retrofit的使用,学习资料来自网络。 推荐具备实操性的一篇文章:http://wuxiaolong.me/2016/01/15/retrofit/ 我按照这篇文章写了一个小demo,遇到了两点错误,记录以下: 1 AndroidSchedulers.mainThread(),Androi
2016-11-03 22:09:50
464
转载 CountDownTimer实现倒计时
利用android提供的CountDownTimer实现倒计时功能,抽象类CountDownTimer位于package android.os 包中,可以定义类继承CountDownTimer实现onTick(long)和onFinish()抽象方法,也可以定义匿名内部类,实现这两个方法。使用方式如下:private TextView tv_number;//CountDownTimer
2016-10-18 14:27:22
665
原创 流式布局实现选择标签页小实例
参考Android-教你自作一个简单而又实用的流式Tag标签布局一文实现了流式布局的效果,支持单选,多选。这篇文章写的很好。在这篇文章中作者对每个类的主要方法和设计思路进行了说明。实例代码地址我通过对实例代码稍微修改实现我自己需要的选择标签页面,包含热门标签和其他标签,只能选择一个标签。实现的效果图: 图1
2016-10-18 10:31:40
1707
转载 java基础知识-内部类
java类中方法间定义的类称为java的内部类,可以访问其外部类的私有变量和方法。分类 1. 成员内部类 2. 局部内部类 3. 匿名内部类 4. 静态内部类(定义在类中,任何方法外,用static修饰) 静态内部类 生成一个静态内部类不需要外部类成员。这是静态内部类和成员内部类的区别。静态内部类的对象可以直接生成:Outer.Inner in=new Outer.Inner()
2016-10-06 09:27:09
259
原创 Error:(9) Error retrieving parent for item: No resource found that matches the given name 'Theme.App
今天使用androidstudio运行程序时出现了如下错误,经过查找找到了原因,错误日志描述如下: 最后定位错误在values.xml中找不到资源Theme.AppCompat.Light.DarkActionBar,获取不到colorPrimary,colorPrimaryDark,colorAccent。这些资源是在appcompat库中的,需要在项目的build.gradle中添加app
2016-10-03 14:27:29
582
原创 学习Handler,Message,MessageQueue,Thread,Looper之间的关系
Handler类介绍位于android.os.Handler包介绍:Handler允许你发送和处理消息Message和于线程的消息队列管线的Runnable对象。每个Handler实例于一个线程和此线程的消息队列关联。当你创建一个新的Handler时,它必然
2016-09-09 16:34:47
533
转载 java基础知识-static关键字
java中关键字static,一般用来修饰类内部成员,比如修饰成员变量我们称之为静态成员,修饰的成员方法我们称之为静态方法,他们属于类而不是类的实例。它们是随着类的加载(而不是随着对象的产生)而产生,以至于可以用类名+静态成员名(或静态方法名)直接获得。被static修饰的成员变量和成员方法是独立于该类的,它不依赖于某个特定的实例变量,也就是说它被该类的所有实例共享。所有实例的引用都指向同一个
2016-09-05 13:59:50
478
翻译 ViewStub和include布局使用(官方文档)
Loading Views On DemandSometimes your layout might require complex views that are rarely used. Whether they are item details, progress indicators, or undo messages, you can reduce memory usage a
2016-08-29 15:59:10
482
转载 Google推荐的图片加载库Glide介绍
英文原文 Introduction to Glide, Image Loader Library for Android, recommended by Google首发地址 http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.html在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图
2016-08-23 16:33:00
327
原创 Chrome浏览器添加插件Modify Headers for Google Chrome
chrome浏览器添加Modify Headers for Google Chrome插件步骤:点击chrome浏览器右上角设置按钮,选择更多工具->扩展程序->获取更多扩展程序,然后选择Modify Headers for...,找到Modify Headers for Google Chrome下载安装。
2016-08-23 10:52:50
27134
转载 笛卡尔积算法的Java实现
笛卡尔积算法的Java实现: (1)循环内,每次只有一列向下移一个单元格,就是CounterIndex指向的那列。 (2)如果该列到尾部了,则这列index重置为0,而CounterIndex则指向前一列,相当于进位,把前列的index加一。 (3)最后,由生成的行数来控制退出循环。 [java] view plain copy
2016-08-18 11:05:10
920
原创 java基础知识
1 java中基本类型占用字节数Java中有8种数据类型:charint short long byte float doubleboolean字节是byte,位是bit 一个字节占8位:1byte = 8bit。char在java中是2个字节,java采用unicode编码,2个字节(16位)来表示一个字符。数据类型 位数 字节数 char ...
2016-08-11 13:22:20
570
转载 Activity与Fragment的生命周期
一、Activity 生命周期二、Fragment 生命周期三、对比图四、测试代码[java] view plain copypackage com.goso.testapp; import android.app.Activity; import a
2016-08-10 15:07:49
438
使用SwipeRefreshLayout和RecyclerView实现下拉刷新列表数据的效果
2016-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人