自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张亚运的专栏

Technology changes life,Code writes everything.

  • 博客(523)
  • 资源 (59)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android实战--英文词典(API+GSON+Volley)

转载请注明出处,喜欢我的可以关注我!上一节我们介绍了GSON和Volley,用GSON对返回的数据进行了初步解析,这一节我们更进一步,讨论一下如何实现英文词典。首先把JSON数据的样式再看一下: 下面创建bean,这些都和上一节一样: 第一个bean:[java] view plaincopypackage org.lxh.d

2015-05-19 14:03:10 6896 7

原创 Android实战--天气预报(API+JSON解析)

学习安卓有一段时间了,应该提高自己的实战能力,做一些简单的Demo。下面我们介绍一下如何利用网络API实现天气预报功能,主要涉及到如何利用API获得网络数据,网络数据返回一般是JSON格式,这里又涉及到JSON的解析问题,这些都是比较基础的问题,应该予以掌握。首先在http://apistore.baidu.com/?qq-pf-to=pcqq.c2c找到你想要的API,这里我们选择http:

2015-05-16 09:23:07 20774 25

原创 输出所有到叶子节点的路径 回溯写法

List<List<Integer>> results = new ArrayList<>(); public List<List<Integer>> pathSum(TreeNode root, int sum) { List<Integer> list = new ArrayList&...

2020-02-10 18:08:20 618

原创 Java打印树的所有路径

public boolean hasPathSum(TreeNode root, int sum) { List<Integer> list = new ArrayList<>(); dfs(root, list); List<String> strings = new A...

2020-02-10 16:46:57 1078

原创 Java 排序字符串

public static void main(String[] args) { // write your code here String test = "jjjkkkffffggg"; List<Character> list = new ArrayList<>(); for (int i =...

2020-01-30 15:42:57 449

原创 Android线性布局重要属性

上一节的实例中用到了两个属性gravity和layout_weight,这两个属性在Android开发中会经常用到,用法也比较复杂,下面我们来讲解一下这两个属性的用法。3.4.1 gravity属性:Android中的gravity属性有两种形式:layout_gravity和gravity,这两种有什么区别呢?从字面意思上就可以大概理解,第一个layout_gravity控制控件在父布局中的位置

2017-09-07 22:13:43 5474 6

原创 Android布局之线性布局

第一节介绍了新建Android项目时默认生成的布局文件,默认的布局文件采用的相对布局RelativeLayout,在这个布局中也默认添加了一个TextView控件。本节讲的这个LinearLayout线性布局和RelativeLayout相对布局类似,同属于布局容器,也可以包裹普通UI控件(TextView、Button等)。线性布局是按照水平或垂直的方式将布局元素(控件或布局)按照顺序依次排列,

2017-09-06 22:06:10 2507

原创 Android 布局属性值

padding和margin属性在开发中十分常用,padding意为“填充”,一般用来在控件内部填充布局,而margin意为“边缘”,一般指的是控件外部距父控件的距离,可以结合下面的图片来理解,如图3.9所示。图3.9 Android 布局示意图图中序号如表3.1所示。表3.1 Android布局示意图含义表3.2.1 Android padding属性用法下面通过一个实例来看一下这些属性的用法,

2017-09-06 22:04:00 1699

原创 Android项目文件结构

大致可以认为,Android APP由两部分组成,布局、属性部分和逻辑代码部分。属性和布局负责Android APP的UI,即用户看到的部分,由XML语言编写,逻辑代码部分则由Java语言编写,负责APP的逻辑控制工作。新建一个Android项目,查看左侧的Android项目文件结构如图3.1所示。图3.1 Android项目文件结构最外层的根目录为app,app目录中有三个子文件夹:manife

2017-09-06 21:59:47 4221

原创 Android Studio 调试

编写代码很多时候都会“差强人意”,很难一次获得想要的结果,出现错误的时候需要查找错误的原因,这种查找的过程可以称为“程序调试”。一般来讲程序员百分之十的时间写代码,百分之九十的时间都在调试,因此要认识到调试的重要性。调试的方式有多种,这里介绍最常用的两种:Logcat调试方式和断点调试方式。2.3.1 Logcat调试Logcat调试方式很简单,在可能出现错误的地方将变量的值打印出来,方便分析总结

2017-09-06 21:57:24 10236

原创 Android Studio 常用快捷键

快捷键又称为“热键”,多个按键的组合可以实现某些快速操作,例如Window中最常用的Ctrl+C和Ctrl+V,熟练使用快捷键可以大大提高开发效率并可以减少某些错误的发生。Android Studio也默认提供了众多快捷键方式供开发者调用,推荐使用Android Studio默认风格的快捷键。2.2.1 Ctrl组合快捷键这里将快捷键进行分类,方便学习和记忆,Ctrl组合常用快捷键,如表2.1所示

2017-09-04 22:23:34 67077 13

原创 Android Studio - 基本配置

正所谓“磨刀不误砍柴工”,Android开发中最重要的利器就是Android Studio。上一章介绍了如何安装Android Studio和如何配置Android模拟器。本章主要讲解Android Studio的常用操作和技巧,熟悉这些常见操作和技巧将有利于提高开发效率,减少开发时的低级错误。2.1.1 改变主题安装成功时,Android Sutdio默认的主题名为IntelliJ,其效果如图2

2017-08-27 16:47:54 7546

原创 万事开头难 - 第一个Android应用

万事开头难,凡事都有套路,勇敢迈出第一步就成功一大半了。本节将带领初学者们迈出属于自己的一小步。本书的开发工具采用Android Studio,因此,首先通过图文讲解如何使用Android Studio新建我们的第一个Android项目。1.3.1 创建一个新项目安装成功Android Studio会默认生成一个Android项目,这里新建一个属于我们自己的项目。Step01 点击File菜单,选

2017-08-27 11:14:32 5813 1

原创 开发利器 - Android Studio的安装

俗话说,欲善其事必先利其器,要想获得快速的开发效率和学习速度,选择一样趁手的的开发工具是首先要做的事情。很长一段时间,开发者都习惯了使用Eclipse并结合ADT插件来开发Android应用,但这一习惯将随着Android Studio的不断强大而必须改变了。自从2013年5月16日,在I/O大会上推出的Android Studio雏形,到现在更新到了最新的2.2.2.0版本,Android Stu

2017-08-27 10:22:34 810

原创 和Android的第一次美丽邂逅

Android是谷歌推出的基于Linux的手机平台,作为开源的移动操作系统,不存在任何阻碍移动产业创新和发展的专利权障碍,因此Android一经面世就获得了空前的发展,在移动操作系统市场份额一度达到80%多,处于绝对的垄断地位。现如今Android已经不局限于手机系统,越来越多的车载、穿戴、电视设备也集成了Android系统。我们相信随着物联网的不断深入和发展,Android系统将会以更多样的形式融

2017-08-27 09:54:14 1325

原创 Android - 蜗牛进度条

友好的界面可以给用户留下深刻印象,为APP加分,今天实现的这个进度条,以蜗牛爬动的方式告诉用户当前进度,体验比较棒,这里分享一下。这里创建一组帧动画作为进度条的标志,如下:xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android"    android:oneshot=

2017-06-16 22:42:54 1564 7

原创 Anroid自定义View-绘制圆环

自定义View代码如下:public class CircleProgress extends View { private Paint mPaint; private int mWidth; private int mHeight; private static final int RING_WIDTH =80; public CircleProgre

2017-06-11 10:11:48 652

原创 Android自定义View 属性添加

昨天写的自定义View,所有的属性都是写死的,拓展性基本为零。今天讲解自定义View属性的设置,首先在res的values文件夹下创建一个attrs.xml文件。代码如下:xml version="1.0" encoding="utf-8"?>    name="ScrollTextView">        name="textSize" format="dimension">        n

2017-06-04 12:46:44 770

原创 Android自定义View实现文本轮播效果

文本轮播可以有效吸引用户眼球,并且适用于一行文本显示不下的场景,一些广告都会采用这种方式。TextView自带轮播属性,除了使用这个属性之外,本文采用了比较有意思的小算法,通过自定义View的方式实现文本轮播效果。自定义View代码如下:package ad.scrolltextview;import android.content.Context;import android.graphics.

2017-06-04 10:51:44 2563

原创 自定义View实现自动数字增长的TextView

用过理财工具的对软件里会自动增长的TextView都不会陌生,这种动效会让你有一种money无限多的赶脚,这种特效可不可以模仿呢?今天通过一个自定义的TextView来模仿一下。首先定义一个接口,制定一下规则:public interface IRaiseNumber { void start();    void setFloat(float fromNum, float toNum);

2017-05-14 17:03:33 3294 1

原创 并行处理提高工作效率

我们都知道,如今的CPU可以如此强大,和其复杂而科学的调度系统是分不开的。CPU不会傻傻的等待一件事情做完才去做另外一件事情,而是把所有的工作细化,轮询执行,这样才可以保证资源利用效率最大化。同样,工作中也经常会遇到A事情暂时做不下去而要暂时挂起的情况,这时我们要傻傻的无限等待吗?若这样效率就大打折扣了,我们可以在此设定一个回调,马上开启另外一个线程开始另外一件B事情的运行,当B事情遇到阻塞又暂时

2017-03-18 19:06:19 4727

原创 Android传感器 - 光强度传感器

Android手机内部添加了光照强度传感器,可以实时监测手机周边环境的亮度,根据周边环境的亮度可以自动调节屏幕的亮度。下面通过一个实例看一下如何监测周边环境的亮度值。主布局文件代码如下:    android:layout_width="match_parent"    android:layout_height="match_parent">            android:id="@+i

2017-03-18 11:21:13 6011 4

原创 Android-Theme 主题

Android上Style和Theme不同: Theme是针对窗体级别的,改变窗体样式; Style是针对窗体元素级别的,改变指定控件或者Layout的样式。 风格是一个包含一种或者多种格式化属性的集合,你可以将其用为一个单位用在布局XML单个元素当中。比如,你可以定义一种风格来定义文本的字号大小和颜色,然后将其用在View元素的一个特定的实例。主题是一个包含一种或者多种格式化属性的集合,你可以将

2016-09-30 20:01:58 886

原创 Android-自定义输入法的功能按钮

在android发开过程中,有时候需要对EditText的软键盘进行监听。          当点击软键盘回车位置按键的时候,需要实现 完成、前进、下一项、搜索、发送或其他功能,这就需要开发者对软键盘回车的点击事件进行捕捉。         比如在登录界面,需要用户在输入密码之后点击软键盘回车直接登录,不必再去点击屏幕上的登录按钮。我们就可以在密码使用的EditText设置 android:ime

2016-09-30 19:53:34 3526

原创 Android-Style样式表

Android中的Style是一些属性的集合,包括height,padding,font color,background等等,基本上布局文件中的属性,这里都可以找到。Style单独定义在xml文件中,类似与web页面中css的角色,将设计和内容分开,便于修改和重复使用,一方面可以提高代码的复用性,另一方面也能保证UI视图的一致性,同时可以增强代码的可维护性。 下面通过一个实例学习一下Style的

2016-09-30 19:49:27 1168

原创 Android-Snackbar用法及源码分析

Snackbar提供了一个介于Toast和AlertDialog之间轻量级控件,它可以很方便的提供消息的提示和动作反馈。有时我们想这样一种控件,我们想他可以想Toast一样显示完成便可以消失,又想在这个信息提示上进行用户反馈。写Toast没有反馈效果,写Dialog只能点击去dismiss它,Snackbar完全可以达到这样的需求。在谷歌提出 material design 之后,终于推出了 an

2016-09-30 19:43:30 661

原创 Android -Toast源码解析

Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。系统的Toast使用很简单,只需要一行代码就可以搞定,不过样式相对单一,下面就来研究一下花样的Toast。说到Toast,最常用的方法应该就是makeText方法,看一下源码中的makeText方法:public static Toast

2016-09-30 19:40:17 691

原创 ButterKnife依赖注入框架的引入和使用

俗话说:“不会偷懒的程序员不是好的程序员!”。作为一名Android开发,是不是经常厌烦了大量的findViewById以及setOnClickListener代码,而ButterKnife是一个专注于Android系统的View注入框架,让你从此从这些臃肿的代码中解脱出来。首先看一下在Android Studio中引入ButterKnife步骤如下:在项目上右键,选择Open Module Se

2016-09-30 19:30:51 4361

原创 Android - 实现各种形状的ImageView

实现各种形状的ImageView要用到BitmapShader类,这个类的介绍如下: BitmapShader是Shader的子类,可以通过Paint.setShader(Shader shader)进行设置、这里我们只关注BitmapShader,构造方法:mBitmapShader = new BitmapShader(bitmap, TileMode.CLAMP, TileMode.CLAM

2016-09-17 22:51:42 1536

原创 android-Intent电话、短信、联系人跳转

首先看一下布局文件:xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orien

2016-09-17 22:45:03 991

原创 Android - 使用SpannableString设置复合文本

TextView通常用来显示普通文本,但是有时候需要对其中某些文本进行样式、事件方面的设置。Android系统通过SpannableString类来对指定文本进行相关处理,具体有以下功能:1、BackgroundColorSpan 背景色 2、ClickableSpan 文本可点击,有点击事件3、ForegroundColorSpan 文本颜色(前景色)4、MaskFilterSpan 修饰效果,

2016-09-08 23:17:36 2431

原创 Android - 实现各种形状的ImageView

实现各种形状的ImageView要用到BitmapShader类,这个类的介绍如下:BitmapShader是Shader的子类,可以通过Paint.setShader(Shader shader)进行设置、这里我们只关注BitmapShader,构造方法:mBitmapShader = new BitmapShader(bitmap, TileMode.CLAMP, TileMode.CLAMP

2016-09-08 23:13:11 5940

原创 Android-判断某个网络是否在网络列表中

此功能主要用的知识点有下:WifiManager类,获取对象的方法如下:mWifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);通过调用这个对象的getScanResults方法,可以获取当前扫描到的网络列表List,即:List。CountDownTimer类(这个类在倒计时的Button中也曾用到),此类

2016-08-21 21:01:05 1273

原创 Android 错误之broadcast receiver not register

出现这个错误的问题有可能是在某些地方已经调用了unregisterReceiver反注册过了,又一次调用unregisterReceiver就会出现这个错误,       有两个手段:        一、try catch包裹,这种虽然可以避免crash,但不是好的处理方式;        二、在反注册的地方将实现的BroadcastReceiver(广播对象)置null,然后每一次反注册之前先判

2016-08-21 20:54:11 2881

原创 Android-满屏幕拖动的控件

今天做个有意思的效果吧,控件的拖拽,先看一下模拟器运行:也就是,用户可以随心所欲的拖动控件,布局文件很简单就是一个Button控件:xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/root"    android:la

2016-08-19 23:09:17 6248 6

原创 Android错误之 java.lang.IllegalStateException: System services not available to Activities before onC

全错误日志如下:08-14 14:28:04.911 8587-8587/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.administrator.followview, PID: 8587

2016-08-14 23:26:36 5383

原创 android错误之 Caused by: android.content.res.Resources$NotFoundException: File res/anim/snailanim.xml f

错误日志信息如下:解决办法:1、clean工程clean无效的情况下,看一下导入的R包是不是错误:真是导入了错误的包,将其删除,然后clean后,再次导入:

2016-08-14 23:25:38 1501

原创 Android错误之(Android 6.0)Unable to add window android.view.ViewRootImpl$W@d4521e8 -- permission denied

错误全log信息如下:08-14 12:54:17.073 6411-6411/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.administrator.myapplication, PID: 6411

2016-08-14 21:48:29 30983 9

原创 android错误之failed to find Build Tools revision 23.0.0

导入项目或library项目编译时可能会出现如下错误提示:           这时可以查看一下导入项目或library的gradle版本:           版本是23.0.0,看一下本地的gradle版本是:23.0.3。所以我们只要修改引入项目的gradle版本为23.0.3。点击Try Again再次编译就好了。           最后,宣传一下我的书籍:(亚马逊和百度阅读有售) 《a

2016-08-13 21:39:43 7985

原创 android错误之Suggestion: use tools:overrideLibrary="com.xys.libzxing" to force usage

导入Zxing包时编译时会出现如此提示:                  解决办法:                            AndroidManifest.xml添加: xmlns:tools=http://schemas.android.com/tools                            添加后的代码如下:<manifest xmlns:android=

2016-08-13 20:56:41 3980

Android美团加载提示动画效果

Android美团加载提示动画效果,欢迎关注我的博客:http://blog.csdn.net/yayun0516

2015-09-08

android上拉加载,下拉刷新listview

android上拉加载,下拉刷新listview,可以关注我的博客,上面有介绍使用的文章。http://blog.csdn.net/yayun0516/article/details/48212987

2015-09-05

Android App引导页面效果实现

Android App引导页面效果实现 欢迎访问我的博客:http://blog.csdn.net/yayun0516

2015-08-29

ListView多选-点餐系统

ListView多选-点餐系统 欢迎关注我的博客,上面有博文介绍http://blog.csdn.net/yayun0516

2015-08-29

slidebutton -滑动开关

slidebutton -滑动开关-关注我的博客:http://blog.csdn.net/yayun0516

2015-08-24

ripple-effect android eclipse 为控件增加涟漪效果

ripple-effect android eclipse 为控件增加涟漪效果 可以关注我的博客: http://blog.csdn.net/yayun0516 上面有文章介绍使用方法。谢谢

2015-08-23

android-短信验证码截取自动填入源码

android-短信验证码截取自动填入源码 关注我的博客:http://blog.csdn.net/yayun0516 上面有文字介绍方法。

2015-08-16

android 截取短信验证码自动输入Demo

android 截取短信验证码自动输入Demo 关注我的微博:http://blog.csdn.net/yayun0516 上面有文章介绍哦!

2015-08-16

Android二维码扫描识别-二维码生成实例demo

Android二维码扫描识别-二维码生成实例demo 我的博客有文字介绍:http://blog.csdn.net/yayun0516

2015-08-14

android源码-ViewPager实现微信页面切换效果

android源码-ViewPager实现微信页面切换效果 博客地址: 欢迎关注我!

2015-07-24

Android源码--基于Baas上拉加载、下拉刷新

Android源码--基于Baas上拉加载、下拉刷新 文章地址:http://blog.csdn.net/yayun0516/article/details/47017535 喜欢的朋友关注我

2015-07-23

GridView长按删除

GridView长按删除,博客地址:http://blog.csdn.net/yayun0516/,欢迎关注!

2015-06-23

android--滑动删除的ListView

android--滑动删除的ListView

2015-06-18

安卓云词典源码

安卓云词典源码,文章在http://blog.csdn.net/yayun0516

2015-06-02

Android--仿微信聊天界面

Android--仿微信聊天界面

2015-05-25

android实战DeMo--英文词典

android实战DeMo--英文词典

2015-05-19

Gson实例解析Json

Gson实例解析Json。

2015-05-18

安卓TTS语音合成

安卓TTS语音合成

2015-05-17

汉字转拼音jar包

汉字转拼音jar包

2015-05-16

安卓天气预报DEMO(API+JSON解析

安卓天气预报小DEMO 欢迎下载

2015-05-16

Android WIFI直连源码

参考博文: http://blog.csdn.net/yayun0516/article/details/51530672

2016-05-29

Android 百战经典-Android补间动画(Tween)大观园

Android 百战经典-Android补间动画(Tween)大观园,博客:http://blog.csdn.net/yayun0516

2016-03-20

Android异步请求网络图片demo

Android异步请求网络图片demo,博客地址:http://blog.csdn.net/yayun0516

2016-03-19

java模式--模板模式实例代码

java模式--模板模式实例代码,请参考我的博客:http://blog.csdn.net/yayun0516

2016-03-12

Android服务器端交互Android端代码

Android服务器端交互Android端代码,可以参考我的博客:http://blog.csdn.net/yayun0516

2016-03-12

Android服务器端交互服务器端源码

Android服务器端交互服务器端源码,可以参考我的博客:http://blog.csdn.net/yayun0516

2016-03-12

android 仿iOS弹出框效果demo

android 仿iOS弹出框效果demo 参考文章: http://blog.csdn.net/yayun0516 欢迎关注我的博客。

2015-10-29

android自定义控件-验证邮箱输入demo

android自定义控件-验证邮箱输入demo http://blog.csdn.net/yayun0516 欢迎关注我的博客。

2015-10-29

android 邮箱验证EditText DEMO源码

android 邮箱验证EditText DEMO源码 参考文章:http://blog.csdn.net/yayun0516 欢迎关注我的博客。

2015-10-29

android动画-雪花飘落demo

android动画-雪花飘落demo 参考文章:http://blog.csdn.net/yayun0516 欢迎关注我的博客。

2015-10-29

android小工具实例demo

android小工具实例demo,参考文章:http://blog.csdn.net/yayun0516 欢迎关注我的博客。

2015-10-29

android实例--窗口抖动demo

android实例--窗口抖动demo,文章参考地址:http://blog.csdn.net/yayun0516 欢迎关注我的博客。

2015-10-29

android源码--自动登录demo

android源码--自动登录demo,参考文章地址:http://blog.csdn.net/yayun0516

2015-10-28

Android源码数字液晶时钟Demo

Android源码数字液晶时钟Demo,博客地址:http://blog.csdn.net/yayun0516

2015-10-14

Android引导页Demo(第一次进入应用时加载)

Android引导页Demo(第一次进入应用时加载),文章地址:http://blog.csdn.net/yayun0516

2015-10-10

Android动画之音乐播放器效果

Android动画之音乐播放器效果,欢迎访问我的博客,有文章介绍:http://blog.csdn.net/yayun0516

2015-10-08

Android 圆形ImageView 源码Demo

Android 圆形ImageView 源码Demo,欢迎访问我的博客,上面有文章介绍: http://blog.csdn.net/yayun0516

2015-09-21

android源码 城市选择

android源码 城市选择 关注我的博客http://blog.csdn.net/yayun0516

2015-09-18

eventbus 实例android

eventbus android 欢迎关注我的博客:http://blog.csdn.net/yayun0516 有文章介绍

2015-09-14

android手电筒源码

android手电筒源码 文章地址:http://blog.csdn.net/yayun0516/article/details/48395359

2015-09-12

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

TA关注的人

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