自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

haibowen的博客

吾生也有涯,而知也无涯!

  • 博客(37)
  • 资源 (4)
  • 收藏
  • 关注

原创 聊聊我对Gradle的浅薄认知

从我开始接触Android的时候,Eclipse作为Android开发的 主流ide的 时代已经结束了 ,随之而起的是基于JetBrains家的大名鼎鼎的Intelli Idea的 AndroidStudio,从此整个Android项目 的构建 开始采用 Gradle。初识:Gradle 是项目构建 的脚本工具 ,拥有完整的语言支持,和丰富的三方库插件!信息显示Gradle是基于Ant 和Maven的更加优秀的构建 工具,要比 Ant跟 Maven的构建速度更快,Gradle支持增量构建,数据 显.

2021-07-06 17:44:02 200 1

原创 关于java注解的一点思索

注解:是我们在代码中添加的一种标记,一种添加信息的形式化方法,使得我们可以稍后在某个时刻方便的使用这些方法数据以及标记!注解是在一定程度上把元数据跟源代码文件结合在一起,java在SE5中引入了注解算是对自身编程语言的一个完善 同时也是对其他编程语言例如C#的一个回应。起因为啥要写一篇这样的文章,来念叨一下注解呢?作为一个Android程序员,我们在项目开发中或多或少的会引入一些三方库,比如为了解耦引入的Arouter 比如为了减少初始化绑定控件id引入的butterknife,为了发送消息引.

2021-07-04 13:08:18 192 2

原创 关于java语言中设计内部类的一点思索

Java的内部类Java设计内部类的意义:(1)、我们知道java是单继承的,为了能够实现多继承,java引入了接口,但是仅有的接口在使用上还是无法完全实现多继承。使用内部类的最主要的原因是-------->每个内部类都能独立的继承自一个接口的实现,所以无论外围类是否已经继承了某个接口的实现,对内部类都没有影响。如果没有内部类提供的可以继承多个具体的或者抽象类的能力,一些设计与编程问...

2020-04-25 21:35:34 237

原创 关于Dart中抽象类和接口的一点总结

Dart中抽象类和接口的一点总结抽象类和接口Dart也是一门面向对象的语言,关于Dart的历史,这里不再详细叙述,作为google内部孵化的语言,如今已成为Flutter框架的指定官方语言。个人看来,所有面向对象的语言,都抛不开抽象类和接口,这是面向对象语言所具有的通性。Dart中的抽象类和接口: 定义上:Dart中定义抽象类,也是采用abstract关键字,只要类里有抽象方法,该类就得...

2020-04-12 14:03:40 698

原创 关于Kotlin中抽象类和接口的一点总结

抽象类和接口一、Kotlin中的接口定义上:Kotlin中的接口跟Java8是很类似的,可以包含抽象方法的定义也可以包含抽象方法的实现,但是不包含任何状态。语法规则上:interface关键字用来修饰Kotlin中的接口,这个和java类似的interface Clickable{ fun click()}使用的时候是这样的class Button :...

2020-04-06 18:48:47 698

原创 关于Java中抽象类和接口的一点思索

Java中抽象类和接口的一点思索成员方法上的区别:1、 java中的抽象类可以提供成员方法的实现细节,抽象方法只能是被public和protected来修饰 配合abstract关键字,子类需要实现父类的所有抽象方法,只要有抽象方法,该类就得定义为抽象类,如果子类未实现父类的抽象方法,子类就得定义为抽象类,但是抽象类可以不包含抽象方法,(个人觉得这个有点歧义,既然不包含抽象方法,抽象类存在...

2020-03-29 12:46:27 249

原创 Dart注解的一点思索

Flutter使用注解以及如何生成文件这里参考了阿里的flutter注解路由框架:https://yq.aliyun.com/articles/679482?utm_content=g_1000031356还参考了一些其他文章:https://juejin.im/post/5d1ac884f265da1bad571f3ahttps://segmentfault.com/a/119000...

2019-12-06 13:46:04 2444

原创 Kotlin版本的新闻类APP 简闻

最近在学习一点Kotlin相关的知识,发现Kotlin在编写Android应用上具有得天独厚的优势,也难怪Google会将Kotlin作为Android的官方语言。使用Kotlin开发App确实会事半功倍。小伙伴们前期稍微注意一点就会很快入门的,当然我现在也只是一个基本的入门,后面的路还很长很长。也是出于一种学习的姿态,简单编写了一个资讯类的app。稍后会给出这个应用的链接。学习Kotlin的...

2019-10-21 11:56:01 1276

原创 关于重构的一点总结

代码在维护的过程中质量会降低,这也可能是代码在诞生的那一刻就先天不良。无论是哪一种情况,都在强烈的警告,程序需要重构。哪些情况需要重构代码重复:冗长的子程序:循环过长或者嵌套更深:内聚性太差的类:类的接口的抽象层次不一致:参数表中参数太多:类的内部修改往往局限于某个部分需要对多个类进行并行的修改对继承体系的并行修改需要对多个case语句进行并...

2019-09-22 21:09:30 160

原创 Android LiveData初识

LiveData初识LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragme...

2019-09-09 14:00:16 164

原创 Android Data Binding 初识

Android Data Binding 初识说到Data Binding我们来科普一些相关的知识点,那就是Android Jetpack是谷歌在2018年推出的,Android Jetpack 是一套库和工具指南,可以帮助开发者轻松的编写优质的应用,Jetpack库中的组件可以帮我们遵循最优秀的做法,简化复杂的任务,将精力集中在编写核心的代码上。Jetpack中包含四方面的内容,今天我们主要...

2019-09-08 12:59:08 641

原创 Android自定义View的一点总结

本文参考http://blog.csdn.net/guolin_blog/article/details/12921889系列文章。一、View初识Android的开发涉及到UI开发,数据的存储,网络的处理等等,所需数据有后台接口提供,因此也有人把Android看成是前端开发!当然这里还是区别于Web前端开发的,Web前端有各种各样的框架,原生的JS用的越来越少,前端可以很轻松的实现...

2019-08-26 09:41:08 197

原创 Android动画的一点总结

一个没有动画的应用是没有灵魂的应用。Android中的动画大致可以分为三类:逐帧动画 补间动画和属性动画一、逐帧动画逐帧动画就是让一些静态的图片顺序播放,利用人的视觉暂留,实现动画。逐帧动画的基本使用如下:逐帧动画通常是采用 XML 资源进行定义的,需要在 <animation-list .../> 标签下使用 <item .../> 子元素标签定义动画...

2019-08-18 16:42:00 153

原创 深入理解字符串操作

可以证明的是,字符串操作是计算机程序设计中最常见的行为目录一、 不可变的String二、String上的操作1.String内部到底是如何工作的2.String跟StringBuilder谁更好3.StringBuilder都有哪些常用的API三 、String类型和StringBuilder类型的相互转换1、String-->StringBuild...

2019-08-10 19:25:09 288

原创 关于Android轮播图实现的一点思索

我们在编写Android程序的时候,项目中或多或少都会有一个地方会用到轮播图,关于轮播图的实现,方案有很多种,今天我们就来说说轮播图是怎么实现的。1.关于轮播图的实现,首先我们要解决这样几个问题,图片要能够实现左右滑动,图片要能够自动播放,还能够无限循环,还要实现相应的小圆点。好的说到这里,我们已经基本有一个大致的思路了,这个思路的前提就是去解决提出的这些问题。我们是这样想的,要实现图片左...

2019-08-04 12:30:33 172

原创 关于嵌套滚动机制的一点思索

最近在做折叠式标题栏效果的时候遇到这样一个问题,布局代码如下所示,截取了两个片段,我们看到这个页面上有几个个可以滑动的控件,AppBarLayout,NestedScrollview不是什么自定义的控件,是谷歌官方推荐的材料设计语言的控件的一种,可以直接在布局里使用,对于RecyclerView大家肯定不陌生,一个展示列表的控件,他跟Listview有很多渊源,这里主要讨论的问题...

2019-07-28 11:42:44 628

原创 Android基础知识XML解析

常见的数据格式有JSON和XML两种,XML的解析常见的方法也有两种一、Pull解析直接上代码吧:public void parseXMLWithPull(String xmldata){ try { XmlPullParserFactory factory =XmlPullParserFactory.newInstance(); ...

2018-11-16 18:00:51 210 1

原创 Android基础知识存储篇SQLite SharedPreference 以及File

SQLite一款轻量级的关系型数据库运算速度快占用资源少一、创建数据库新建一个Java文件继承SQLiteOpenHelper 重写onCreate() 和onUpgrade()方法具体的代码如下所示:public class MyDataBase extends SQLiteOpenHelper { private Context mcontext; pub...

2018-11-16 11:32:40 188

原创 Android基础知识Fragment

Fagment :为了让程序更加合理和充分的利用大屏幕的空间,而嵌入在活动当中的UI片段一、Fragment的基本用法新建Java类继承自Fragment,重写onCreateView()方法加载fragment的布局,代码如下:public class MyFragment extends Fragment { @Nullable @Override ...

2018-11-15 14:51:23 205

原创 Android基础知识Service

Service--------实现程序后台运行的组件一、服务的创建新建java类继承自Service实现onBind()方法,该方法是Service中唯一的抽象方法,然后重写onCreate()方法,onStartCommand()方法 和onDestroy()方法。 (记得在AndroidManife...

2018-11-15 11:20:47 97

原创 Android基础知识ContentProvider

ContentProvider 主要用于在不同的程序之间实现数据共享一、内容提供器的用法一种是使用现有的内容提供器来读取和操作相应程序中的数据一种是创建自己的内容提供器给我们的程序的数据提供外部接口二、怎样访问内容提供器中的数据 借助ContentResolver类,通过Contex...

2018-11-14 17:23:33 197

原创 Android基础知识BroadcastReceiver

BroadcastReceiver 为了实现系统广播而提供的组件一、广播的种类无序广播是一种异步的广播传播机制,当广播发送出去以后,所有广播接收器几乎会在同一时间收到广播。有序广播是一种同步的广播传播机制,当广播发送出去以后,同一时刻只有一个广播接收器收到广播。二、广播的注册方式静态注册在AndroidManifest 文件里注册,...

2018-11-14 15:52:41 162

原创 Android基础知识Activity

Activity-----包含用户界面负责与用户进行交互的组件。一、Activity的状态:(1).运行状态:当一个活动位于栈顶的时候,该活动就处于运行态,系统最不愿意回收的就是运行态的Activity,因为这样会造成特别差的用户体验。(2).暂停状态:当一个活动不在处于栈顶,但是仍然可见的时候,该活动就处于...

2018-11-14 15:39:12 157

原创 Android Studio read time out 解决办法

read time out 问题解决办法最近在使用更新了后的Androidstudio 编写程序的时候 发现 gradle 时老是报 read time out 错误提示心信息,try again   rebuild 等基本的方法都试了一遍还是不能解决问题,后来经过自己的一番摸索终于解决了 解决此类问题的方法如下在build.grade 文件中加上如下代码:(注意有两处需要加入,截图如下)...

2018-10-22 16:34:42 62141 18

原创 Android Layout 中XML 加载模块的方式总结

在Android开发中,对于在Xml文件中布局块的加载常见的就是include的静态加载和ViewStub的动态加载(1)静态加载&lt;include layout="@layout/otherLayout"/&gt;是在布局加载的过程中,同时加载,被加载的模块和其他模块加载的时间一样。静态加载的基本使用&lt;LinearLayout xmlns:android="http...

2018-09-10 11:32:30 3018

原创 Android基础知识焦点篇-----------控件的基本属性

(1)控件获得焦点的属性物理按键时获得焦点的属性android:focusable="false"android:focusable="true"触屏时获得焦点的属性android:focusableInTouchMode="true"android:focusableInTouchMode="false"(2)父布局(控件)和子布局(控件)获得焦点的先后顺序的属性 androi...

2018-09-07 16:19:37 2324

原创 Android 架构篇----------Framework初识

来谈Android Framework时我们先来看一张Android架构图, Android的架构大概有四层,(1)Application (2) Application FrameWork (3)  Library  Android Runtime (4)Linux Kernel今天主要聊聊 FrameWork层 对于android开发来说我们有必要认识一下所谓的 EIT模型 E...

2018-09-06 12:55:20 6995 1

原创 Android 基础知识按键篇--------------触摸和按键

Android 下常见的几个触摸事件(1).dispatchTouchEvent 主要进行事件的分发和处理,当返回true时自己处理,自己消费,事件消失,当返回false时,回溯给父view的onTouchEvent,,是触摸事件要执行的第一个方法,后续的方法要不要执行,都取决于他。(2).onInterceptTouchEvent 用来做触摸事件的拦截,默认返回false,若果返回fa...

2018-09-05 16:55:38 5243

原创 Android基础知识工具篇adb

什么是adbadb (Android debug bridge) 安卓调试桥,他是一个命令行窗口,用于手机和电脑的之间进行交互,在某些特殊的情况下,手机无法开机的时候,adb就可以派上大用场了。可以将rom推进手机,进行线刷。安装adb一般电脑是没有装adb的,这里附上adb下载链接,链接:https://pan.baidu.com/s/1sFpaS0tIpVA9ULwee5CFdA...

2018-08-29 21:35:24 372

原创 Android基础知识网络篇HttpUrlConnection Okhttp Volley的基本使用方法

最近回看到了android网络编程部分,在此将常用的几个网络类的基本使用方法做个总结:结合一个demo来总结一下:demo中有三个按钮,分别对应三种请求方式:(先上图) 第一种 httpurlconnection 第二种 okhttp ...

2018-06-09 16:45:53 422

原创 Android基础知识常用框架的使用方法

在开发中或多或少会用到开源库,用开源库的好出是,简化自己的代码,提升程序的稳定性(毕竟开源库已经经过很长时间的检验了)。下面就来总结一下android 开发中常用到的开源库有关图片的框架:(1)Picasso (毕加索)android端图片处理的神器 官网:http://square.github.io/picasso/集成的方法 gradle 集成 ...

2018-05-28 17:07:27 1952

原创 Android基础知识工具篇Git

以windows版为例总结git的基本命令和使用方法一、安装git访问该网址 :https://git-scm.com/downloads 安装完成以后从开始菜单里找到gitbash并打开。对于gitbah我们可以粗略的理解为linux下的shel界面。windows版的git是支持图像化界面的,但是我觉得都到这个份上了我们还是用一...

2018-05-27 20:46:45 303

原创 com.getbase.floatingactionbutton.开源框架中的FloatingActionButton和FloatingActionsMenu点击事件应该怎么写

最近在回看郭霖的第一行代码,看到了有关materal desion相关章节,结合网上例子学习floatingactionbutton的使用(1)可以直接使用desion库提供的控件,具体使用方法如下: &lt;android.support.design.widget.FloatingActionButton android:id="@+id/fab" android...

2018-05-27 13:38:27 4243 7

原创 android.database.sqlite.SQLiteException: duplicate column name: text (code 1): 之类的问题解决

最近在回看郭霖的第一行代码,在看到数据库sqllite部分时,自己新建了两个表,建表的语句如下:(1)public static final String CREATE_DB_BOOK = "create table book(" + "id integer primary key autoincrement," + "author text,"...

2018-05-13 19:43:26 6239

原创 解决高版本的android系统 接收不到广播的问题

最近在回看第一行代码时,做书上有关广播的例子时,发现高版本的android系统,对于广播的接收变得越来越严格,导致自己写的demo中收不到广播,看了官网上的一些介绍    附上链接 :https://developer.android.google.cn/about/versions/oreo/features/background-broadcasts具体的解决办法就是Intent intent...

2018-05-07 21:03:14 13024 8

原创 Android基础知识JSON解析

最近在学习数据的获取与解析,怎么说还是有一定的收获的,对于数据的获取这里简单写一个网络类public class HttpUtil { public static void sendOkHttpRequest(String address, okhttp3.Callback callback) { OkHttpClient client = new OkHt...

2018-03-21 21:43:54 1421 1

原创 解决mob网站短信验证SDK更新后,android studio下的mob短信验证接入问题

对于android开发来说,遇到需要短信注册验证的问题是很常见的,今天我们就来聊一聊在android studio上SMSSDK的接入。废话不多说:具体步骤如下:(1)打开我们的mob官网:http://www.mob.com/   注册自己的账号(2)进入我们的后台:我们会看见如下图片:我们点击添加应用,创建我们自己的应用如我的应用叫做Sendmessage,名字啥的就看个人喜好...

2018-03-07 20:59:16 7516 2

mina.jar的下载

mina的jar包下载,欢迎大家前来下载,谢谢java编程愉快

2018-04-14

算法第四版jar包 algs4.jar

算法第四版的jar包 algs4.jar,欢迎大家前来下载,谢谢

2018-04-14

数据库连接池相关jar包和数据库驱动jar包

commons-dbcp.jar,commons-collections.jar和commons-pool-1.3.jar

2018-04-14

android studio 下的mob短信验证

as下的短信验证解决方法,解决更新后,as下的集成,欢迎大家前来指正

2018-03-08

空空如也

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

TA关注的人

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