自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (43)
  • 收藏
  • 关注

原创 MaterialAlertDialogBuilder 使用简介

一、简介MaterialAlertDialogBuilder 是官方material设计库中的弹框组件,下面简单的介绍一下其使用。二、添加依赖添加依赖: implementation 'com.google.android.material:material:1.1.0-alpha07'要使用这个组件,需要将activity的主题设为:Theme.MaterialCom...

2019-06-28 11:34:14 5094

原创 window下搭建C++开发环境

Kotlin的学习基本差不多了,有些知识需要慢慢的消化,所以最近给精力放到学习C++上面。其实很早之前就有打算系统的去学习C++的想法,一个是对这个的热爱,另一个是感觉学会C++可玩的更多,比如写jni、编写window小程序。之前看的电子版的c++ primer,后面感觉还是纸质版的看着舒服,所以前段时间入手了一个,如果有想学这方面知识的同学,不烦关注一下我,大家学的同时也可以互相交流一下。

2017-12-26 17:56:14 17446 1

原创 kotlin协程

协程是什么协程的概念其实很早之前就有了,并非Kotlin提出来的。百度一下发现有很多的所谓比较正式的定义,但是理解起来我骂娘。最多的是那协程与线程做比对的,得出的结论大多是协程和线程一样是用来实现异步任务的,异步也就是不阻塞当前的线程,可是线程都是顺序执行的,这就导致一个矛盾的问题出现,所以你查到的文章写得其实都不是真确的!其实协程最关键的知识就是调度器,调度器可以启动一个协程,调度器的原理知

2017-12-25 17:01:29 730

原创 Kotlin解构声明

解构声明其实也是一个很简单的知识,就是为了使用的便利才有的,它可以将一个对象的属性很方便的变为一个单独的变量,比如有一个Weather的数据类,其含有日期、天气详情、气温三个属性,假如现在我们想使用其中的气温属性来计算月平均气温,最常用的方式是创建一个Weather的实例,然后使用实例名字加上气温属性的名字来得到气温,如下: val tempList = arrayListOf()

2017-11-30 09:35:53 1744

原创 Kotlin类之扩展

基础知识Kotlin提供了一种向已经存在的类中动态扩展功能的能力,Java中我们要实现这样的效果可能需要用到装饰者模式,而在Kotlin中不需要任何的设计模式也不需要继承任何东西,可以直接开干。其提供了扩展函数和扩展属性,今天就来带大家学习这块的知识。扩展函数扩展属性

2017-10-29 11:28:48 727

原创 Kotlin类的知识

定义类类使用class关键字定义,类的定义分为三个部分,类名、类头部、类主体,其中类头包括类的类型参数、主构造器等,如下面定义的类:/** * 定义一个学生类,继承自Person类 */class Student constructor(grade: String, id: Long) : Person() { fun exam() {//考试方法    

2017-10-26 13:14:46 488

原创 Kotlin函数

函数是与我们打交道最多的,也是最复杂的一块,所以有必要单独的弄篇文章来详细的说明。比起Java中的函数,Kotlin的更为复杂,比如Kotlin还支持函数的扩展和单表达式函数,下面将详细的介绍。定义一个函数函数使用关键字fun来定义,格式如下: 【修饰符】fun 函数名字(参数):返回值{ 函数体},如 :open fun varaFun(vararg param:

2017-10-18 09:35:20 549

原创 Kotlin基础知识

Java是Kotlin的子集,也就是说Kotlin是完全包含Java的。所以我们从Java来学习Kotlin是非常容易的,基于目前学习Kotlin的资料非常有限,所以今天写一篇文章简单的教大家使用一下Kotlin。基础语法1、定义包名、导包当我们新建一个Kotlin文件时(文件以kt为后缀),我们首先需要声明包名和导包,使用的方式和Java一样,包名声明需要在第一行使用关键字p

2017-10-09 10:46:16 772

原创 android studio入门Kotlin

一、准备工作Android Studio根据版本不一样有两种使用方式:1、使用AS的插件 2、3.0后可以直接使用第一种使用插件的方式:执行 Settings -> plugins -> BrowseRepositories中搜索“Kotlin” 安装完成之后重启AS环境配置完成第二种方式需要安装3.0版本的AS,最新的3.0目前是beta6,3.0的风格比起之前的

2017-09-30 20:39:13 755

原创 Gradle使用基础

我们知道Android Studio是使用Gradle来编译apk的,那么学习gradle就变的十分有必要了。gradle是以groovy语言为基础,运行与jvm虚拟机上面的语言,其兼容java。运行gradle命令首先需要按照jdk或者jre,所以接下来的步骤都是建立在你已经在电脑配置好java环境。配置gradle环境1、下载去官网:https://gradle.org/i

2017-06-08 17:28:30 1799

原创 MVP设计模式介绍

​本文翻译自一篇英文文章,是非常经典的mvp介绍,原文地址:http://konmik.com/post/introduction_to_model_view_presenter_on_android/。什么是MVPView :是指显示数据并且和用户交互的层。在安卓中,它们可以是一个Activity,一个Fragment,一个android.view.View或者是一个Di

2017-06-06 17:31:11 2414

原创 Percent Library百分比布局详解

PercentLibrary是Google在15年推出的一个支持百分比布局的类库,支持的相对布局和帧布局,不过网上有的人已经扩展出支持线性布局。这个类库的使用是非常的简单的,我们需要了解的只有两个类:android.support.percent.PercentRelativeLayout和android.support.percent.PercentFrameLayout分别对于上面的两个布局。

2017-05-29 21:09:05 1518

原创 mvvm设计模式之Data Binding库的使用

DataBinding是google推出的一个mvvm设计模式的官方类库,想比与mvp设计模式,该模式提供了view与数据直接绑定的能力,今天这票文章就来教大家如何使用该库。准备条件1、Android studio版本大于1.3,并且Gradle 版本大于1.5.0-alpha12、在module模块的build文件中添加下面的代码块,然后同步工程android { .

2017-05-16 09:54:51 2130

原创 Android注解框架

java的注解是在5.0中引入的,我们平时在开发中也是见过一些注解的,其一般是在代码中以@开头的,不如:@override、@RequiresApi。注解(Annotation),也叫元数据,一种代码级别的说明,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。google在SDK中提供了一些专门用于android的注解,

2017-05-09 15:27:44 2073

原创 Android与js交互

随着Html5的流行,越来越多的app使用网页的方式来开发,网页与原生混合开发的速度非常快,对于经常需要变换内容的app来说,这种方式也是特别的方便,只需更改后台的页面就可以做到内容的变更。         android中可以通过webview这个中间控件实现原生代码与html页面的互动,而他们能够通信的基础就是JS(javaScript)。js是一个脚本语言,是用来动态处理网页的,由其延伸

2017-05-05 15:08:04 1243

原创 Android 7.1新特性

这篇文章主要翻译了google开发者官方文档的介绍,主要列出在7.1上面的新特性,希望对你有所帮助。1.最重要也是我们以后开发app密切相关的一点:shortCut。     shortCut其实和苹果在6S上面推出的按压app在桌面上面的图标然后弹出一个选项框类似,只是实现方式不一样:苹果的通过屏幕的按压感应来触发而安卓的则是通过长按图标来实现。该功能需要launcher的支持,

2017-03-14 15:29:51 1763

原创 ImageView的高级使用技巧

ImageView是大家用的非常多的控件之一,其相比于其他控件多了一个src属性。我们平时在其中显示的图片往往需要跟随外部的变化切换图片,这个时候我们一般会选择用多张图片来实现,如果变化后的图片和原图很类似,只是更改了颜色我们完全没有必要去弄张新图片来,今天就来教大家如何实现这种情况的需求。如何使用Imageview的问题我就不再多说了,现在我们要实现下面这样一个Imageview:

2017-03-13 17:36:53 1789

原创 ubutun16.04.1下开发android及使用技巧

之前发布了一篇介绍android源码的编译,里面提到了使用linux作为开发环境,可是很多一部分人是从window下面转过来的,对linux的使用不是很熟悉,导致碰到很多问题,这篇文章就教大家如何搭建linux下的开发环境,以及linux常用的命令和使用技巧,从零开始带大家走一遍linux下面的开发流程,使大家用最少的使用时间来着手开发,体验android在祖先内核下的非凡体验~

2017-02-21 17:52:41 1624

原创 Android源码编译教程之环境搭建

本文教你如何搭建源码的环境,如何在源码中开发。玩玩底层,给你的简历加点分吧~~~Come On!

2017-01-22 11:32:18 1349

原创 Viewpager轮播添加动画

必须知识点ViewPager是Google自带的翻页控件,存放在V4兼容包中,继承于ViewGroup,官方推荐和Fragment一块使用。我们平时使用的地方主要有2个,一个是app第一次启动的引导页,第二个就是弄几张图片轮播的那种。在第二种使用方式的时候经常配合PagerTabStrip或者PagerTitleStrip来显示一个标签用来指引现在处于第几个页面。PagerTabStrip

2016-11-25 18:11:43 38739

原创 Xutils3的使用

Xutils是前两年很火的一个三方库(githup地址),是一个工具类,分为4个模块:DbUtils、HttpUtils、ViewUtils、BitmapUtils,还有一个非常使用功能就是LogUtils,可以用来输出Log日志。这个第三方库已经很久没有更新了,对最新的6.0系统支持也不是很好,所以现在出了一个新的Xutils3(githup地址),今天就来看看新的Xutils3有什么改变。

2016-11-25 17:23:20 87005 11

原创 从setContentView谈谈android的布局层级

因为android各版本的布局层级会有所差异,所以先告诉大家我测试的环境背景,如有在别的系统版本下面测试的结果有所出入请在下面留言支出,方便更多的读者可以从中获益,谢谢大家!android studio:2.2.2java版本:1.8系统版本:ubuntu sdk版本:minSdkVersion 19, targetSdkVersion 25手机版本:乐视6.01前

2016-11-04 09:53:06 3707 1

原创 Android 使用Messenger实现跨app通信

Android中使用跨进程通信有以下几种方式:文件、广播、aidl、messenger,今天要讲的是使用messenger来实现跨app通信也就是在两个不同的app中实现双向通信。其实Messenger底层也是使用aidl的方式来实现的,只不过其使用handler来处理消息,因为handler是线程安全的,所以Messenger也是线程安全的,自然Messenger只能处理单线程的问题,如果要使用

2016-09-18 13:05:04 6142

原创 AppWidget实现自定义view

一、鸡汤appwidget是android中小组件,我们经常说的widget其实是指的那些button、textview、imageview等这些小控件,而appwidget则是嵌入到别的app中的activity中显示的一种视图。通常我们的appwidget都是嵌入到luncher应用中的(我们经常说的桌面其实也是一款app也就是home luncher应用,手机里的应用会在其activit

2016-08-09 11:56:56 8220 7

原创 LocalBroadcastManager发送本地广播

一、知识点准备LocalBroadcastManager类,该类用来注册和发送本地广播,所谓本地广播就是指在同一个process中运行的app,一般一个应用就是一个app,所以一般情况下你就认为其只是在同一个app中发送和接受的广播。要注意的是,广播接收着的onReceive是运行在主线程中的,所以不能在其中处理耗时的操作。本地广播只能通过动态的方式注册,如果使用静态注册是无法接收到广播的。L

2016-08-05 18:14:32 3532

原创 接口回调本质就这么简单

一、为什么会有接口回调?什么是接口回调?二、使用实例三、总结

2016-05-31 16:10:26 13729 5

原创 android 购物车 listview嵌套问题

该购物车使用3个listview嵌套完成,具有3级分类:仓库、商铺、商家,效果图如下:代码直接贴出来:package com.globex.o2o.controllers.shoppingCart;import android.content.DialogInterface;import android.content.Intent;import android.grap

2016-05-25 13:16:20 2347 3

原创 android 5.0新增的控件总结

5.0中新添加了很多控件,为了便于学习和总结这里我给大家归纳了一下:使用方式:builde.gride文件中添加下面的依赖,compile 'com.android.support:design:22.2.0'   //可修改版本号为对应的buildToolsVersion版本然后就可以使用所有的控件了,如下:1、android.support.v7.widget.CardView

2016-05-23 17:35:21 8578 1

原创 JPush实现app推送功能

一个app中使用推送是很常见的需求,如果自己公司去实现一个推送功能是非常麻烦的事,不仅费时费力,做出来也不一定很成熟,所以我们经常是使用第三方的推送,目前常见的第三方推送有极光推送(JPush)、百度云、融云、网易云信等。今天我们就来使用JPush实现推送功能。极光简介:现在有两种产品,一种是极光推送用来推送消息,另一种为极光IM用来实现聊天。推送方式有三种:通知、自定义消息、富媒体。每次推送

2015-12-31 09:56:30 2382 3

原创 获取未安装的App信息

本篇文章属于进阶篇,纯技术分享,用来获取一个未安装的app的相关信息也就是一个apk文件。我们可以获取到应用名称,包名,应用图标,版本号,版本名称,含有四大组件中的哪些等等一切信息,听起来是不是有点小激动?没错,我也心动了,下面就来动手实现吧!本节知识你需要了解的类有及其常用方法:PackageItemInfo:继承关系:java.lang.Object android.con

2015-12-25 14:01:45 10949

原创 26设置模式之中介者模式

在面向对象的设计模式中,对象之间难免会有一些交互,复杂的对象之间的交互会形成一个网状的关系模式,这样的势必会形成一个高度耦合的系统,中介者模式就是用来解决这个问题,使网状的关系模式变成一个星形的模式。中介者模式类似于我们计算机中的交换机的作用,把计算机直接的通信通过交换机来完成。中介者模式的定义:用一个对象来封装一些交互方法,使别的需要交互的类通过封装的交互方法实现彼此的交互。中介者模式含

2015-12-24 11:44:22 9270

原创 26设计模式之建造者模式

建造者模式是非常常用的一种设计模式,安卓原生的比如StringBuilder、Dialog就是用的这种设计模式。如果满足以下条件的时候可以考虑使用这种设计模式:1、用来创建一个对象而这个对象是由各种属性组成,创建步骤繁琐。2、对象的创建过程独立于创建该对象的类。3、隔离复杂对象的创建和使用,使得相同的创建过程能创建出不同的产品。该模式的定义为:将一个复杂对象的构建与它的表示分离,使

2015-12-24 11:42:28 10582

原创 26设计模式之工厂模式

工厂模式用来解决具有相同特征类的创建问题,分为3中类型:简单工厂模式、工厂方法模式、抽象工厂模式,其中可以把简单工厂模式看做是工厂方法模式的一种特殊情况,抽象工厂模式是在工厂方法下的进一步抽象。简单工厂模式:1、工厂类角色,用来创建具体产品。2、抽象产品类,是具体产品类的父类。3、具体产品类,最终需要生产的对象。工厂方法模式:1、抽象工厂,是具体工厂类的父类,用来规范生产。

2015-12-24 11:39:52 9789

原创 Fragment使用详解

fragment是Google在3.0版本中推出的新功能,现在已经加入到V4包中,如果要使用V4兼容包中的Fragment需要将Activity换成FragmentActivity,调用的getSupportFragmentManager获取FragmentManager而不是getFragmentManager。Fragment是Google大力推荐使用的一个功能,它和Activity功能其实差

2015-12-23 09:28:20 34336 2

原创 Service之IPC远程通信

一篇好的文章势必是可以用简短的文字就可以讲透一个知识点,所以我一般写文章都是把最本质的原理体现出来,如果你要阅读哪些详细的说明可以百度这个相关的技术点。跟着我的步骤操作我可以用最少的时间和精力让你用起这个技术点,看到效果,只有自己操作一遍之后看到效果了才可以学好一个技术点,我会把技术点的精华和本质给大家说明,同学们可以根据自己已有的知识去体会,融汇到以前学的知识中去,看看你现在学的知识点和以前的知

2015-12-09 16:58:59 36616

原创 DrawerLayout实现侧滑

DrawerLayout是谷歌自带的一个侧滑的控件,以前没有这个的时候我们用的都是第三方的SlidingMenu(当然也有大神用ViewGroup自己写的),有了这个原生的之后大家还是用原生的吧,第三方能不用则不用,三方好用是好用只是不安全,毕竟那个东西是别人的兼容性也没有原生的好,而且这个原生的侧滑使用起来比SlidingMenu更轻松,下面来演示如何使用它。这里我们使用前面讲过的toolb

2015-12-08 10:10:05 36449

原创 SlidingMenu实现侧滑效果

SlidingMenu是前两年很火的一个第三方侧滑项目,目前已经很久没有再更新过了,目前Google自己也出了一个侧滑控件叫做Drawerlayout,很好用,如果想学习可以查看我的相关博客:drawerlayout的使用,不过很多同学还是想用第三方的,那么几天就来带大家学习一下这个三方库吧。使用这个三方常用的方式有两种,一种是直接用代码创建对象,一种是在布局文件中使用,今天就分别来演示一遍。

2015-12-08 10:09:14 36847

原创 26设计模式之观察者模式

观察者模式是一种使用非常多,也非常有用的一种设计模式。该模式有2种对象,一种是被观察者,一种是观察者。被观察者是唯一的,观察者可以有多个,是一种一对多的关系。举个例子,好比我们去追一部正在更新的电视剧,这部电视剧就是我们被观察者而追电视剧的人就是观察者,如何在电视剧更新的时候追电视剧的人第一时间知道就是观察者模式需要解决的这类问题。在安卓中使用观察中是非常简单的,因为这两种对象Google已经帮我

2015-12-07 11:25:15 44622 1

原创 单例模式之你应该这么写!

设计模式中我们接触的最多的可能要算单例模式了,只要我们想一个类只有一个实例存在,我们就会考虑使用单例模式,对于一个刚接触编程不久的同学来说如何使用好单例可能还是有一定的困难的,今天就来告诉大家如何使用好单例这种设计模式。其实单例模式可以分为5中,一种是懒汉式的,一种饥饿式,一种静态内部类的形式,一种枚举类的形式(推荐使用),双重校验锁的形式。对于一般的同学些单例,可能只是考虑把构造方法私有

2015-12-07 09:11:56 43288 3

原创 Android手势之GestureOverlayView

前一篇文章我们介绍了GestureDetector类,这个主要用来处理触摸点击、双击、滑动操作,对于一个具体的手势是无能为力的,今天我们介绍的这个类可以自定义一个手势用来代表一个具体的操作,比如我们画个对勾让当前页面跳到另一个页面,而画个圈关闭当前页面。GestureOverlayView作为一个Vie存在,自然是可以在布局文件中定义的,不过该类不是标准的控件类,所以需要全限定类名来引用,那么

2015-12-04 17:44:20 43117

CardView示例

一个演示CardView的使用示例,包含一个demo一个CardView的library

2015-11-27

光照传感器的使用

一个使用光传感器的例子,使用Android Studio开发

2015-11-26

eventBus使用Demo

一个使用eventbus总线的demo演示

2015-11-24

eventbus 的jar包

eventbus的jar包,如果不会使用欢迎访问我的博客或者给我留言

2015-11-24

PaletteDemo

一个使用palette的小Demo,欢迎访问我的博客看具体的使用方式

2015-11-23

palette的jar包

palette的jar包,放在libs目录里面,build path就可以使用了

2015-11-23

自定义toast

一个自定义Toast样式的demo,可以设置Toast的显示位置和显示内容

2015-11-20

RecyclerView的演示demo

一个演示如何使用RecycleView的demo,不懂得可以看我的博客

2015-11-19

RecyclerView的jar包

这个是21版本的jar包,出现classnotfound请使用这个替换原来的

2015-11-19

recyclerView和CardView的jar包

recycleview和CardView的两个jar包,需要的同学可以下载

2015-11-19

notification发送通知

Android发送通知的演示demo,具体使用可以查看我的博客

2015-11-17

ZxingDemo演示

一个联系Zxing生成和扫描二维码的demo

2015-11-16

Zxing使用演示

一个演示如何使用Zxing的小demo,欢迎访问我的博客,http://blog.csdn.net/qq379454816

2015-11-16

Zxing核心类库

这个资源为Zxing生成和扫描二维码的核心代码,可以用在安卓二维码的开发中

2015-11-16

安卓handler的使用

handler的使用演示,主线程给子线程发消息,子线程给主线程发消息

2015-11-13

WebView的demo

简单的演示了一下WebView的使用,具体的使用请看我的博客

2015-11-12

广播接受者demo

一个广播接受者的demo,简单演示了广播接受者的使用

2015-11-11

Android动画演示

对Android动画的知识做了一个演示,包括补间动画,属性动画,帧动画

2015-11-11

Service查询天气

通过Service去网络查询天气信息然后返回给Activity显示TextView上面

2015-11-10

ActivityDemo

Activity的生命周期,启动方式等.

2015-11-10

PictureDemo

一个使用Kotlin编写的演示下载图片的demo,主要讲解的是属性这块的知识

2017-11-08

百分比布局演示

一个演示google百分比布局的示例,详情可以查看我的博客

2017-06-02

android通过Messenger实现IPC

一个演示通过Messenger来实现跨app通信的demo

2016-09-18

android 接口回调

一个演示android中接口回调的demo

2016-05-31

中介者模式

一个演示中介者模式的例子,我们用的生活中的定外卖的现象做示例

2015-12-30

建造者模式

设计模式中的建造者模式使用demo,用生产手机做例子

2015-12-28

apk静态分析器

一个演示分析apk文件信息的demo,欢迎看相关博客

2015-12-25

Fragmentdemo

一个演示Fragment的demo,里面有图片福利哦!

2015-12-23

ViewPager完整功能

一个演示了ViewPager自动轮播,无限循环,切换动画,小圆点的所有功能的集合体,你一定要下载下来看看!!!

2015-12-22

ipc远程通信

一个演示Service实现远程通信的demo

2015-12-10

slidingmenu

一个演示使用slidingmenu来创建侧滑的实例

2015-12-09

drawerlayout

一个演示drawerlayout抽屉布局的demo

2015-12-09

Observerdemo

设计模式中的观察者模式在Android中的应用

2015-12-07

GestureOverlayViewDemo

一个演示如何保存手势和使用保存的手势的示例

2015-12-06

GestureDemo

一个演示手势的demo,具体可以看我的博客相关文章

2015-12-04

style使用demo

一个演示style和theme的使用的demo

2015-12-01

Xutils3使用demo

最新的Xutils3的使用demo,较之前的Xutils有所改变

2015-11-30

Xutils3类库

一个最新的Xutils支持库,已经更名为Xutils3

2015-11-30

CustomView

一个自定义View的使用,里面使用了自定义属性

2015-11-27

toolbar的使用

一个演示toolbar的使用的小demo

2015-11-26

空空如也

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

TA关注的人

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