自定义博客皮肤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.

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

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

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

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

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

2015-05-16 09:23:07 15896 23

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

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

2020-02-10 18:08:20 70 0

原创 Java打印树的所有路径

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

2020-02-10 16:46:57 58 0

原创 Java 排序字符串

public static void main(String[] args) { // write your code here String test = "jjjkkkffffggg"; List<Character&...

2020-01-30 15:42:57 40 0

原创 Android线性布局重要属性

上一节的实例中用到了两个属性gravity和layout_weight,这两个属性在Android开发中会经常用到,用法也比较复杂,下面我们来讲解一下这两个属性的用法。3.4.1 gravity属性:Android中的gravity属性有两种形式:layout_gravity和gravity,这两...

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

原创 Android布局之线性布局

第一节介绍了新建Android项目时默认生成的布局文件,默认的布局文件采用的相对布局RelativeLayout,在这个布局中也默认添加了一个TextView控件。本节讲的这个LinearLayout线性布局和RelativeLayout相对布局类似,同属于布局容器,也可以包裹普通UI控件(Tex...

2017-09-06 22:06:10 1596 0

原创 Android 布局属性值

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

2017-09-06 22:04:00 1394 0

原创 Android项目文件结构

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

2017-09-06 21:59:47 2498 0

原创 Android Studio 调试

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

2017-09-06 21:57:24 8943 0

原创 Android Studio 常用快捷键

快捷键又称为“热键”,多个按键的组合可以实现某些快速操作,例如Window中最常用的Ctrl+C和Ctrl+V,熟练使用快捷键可以大大提高开发效率并可以减少某些错误的发生。Android Studio也默认提供了众多快捷键方式供开发者调用,推荐使用Android Studio默认风格的快捷键。2....

2017-09-04 22:23:34 52464 10

原创 Android Studio - 基本配置

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

2017-08-27 16:47:54 7119 0

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

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

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

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

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

2017-08-27 10:22:34 661 0

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

Android是谷歌推出的基于Linux的手机平台,作为开源的移动操作系统,不存在任何阻碍移动产业创新和发展的专利权障碍,因此Android一经面世就获得了空前的发展,在移动操作系统市场份额一度达到80%多,处于绝对的垄断地位。现如今Android已经不局限于手机系统,越来越多的车载、穿戴、电视设...

2017-08-27 09:54:14 1096 0

原创 Android - 蜗牛进度条

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

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

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

自定义View代码如下:public class CircleProgress extends View { private Paint mPaint; private int mWidth; private int mHeight; private static...

2017-06-11 10:11:48 535 0

原创 Android自定义View 属性添加

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

2017-06-04 12:46:44 536 0

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

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

2017-06-04 10:51:44 2083 0

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

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

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

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

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

2017-03-18 19:06:19 3334 0

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

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

2017-03-18 11:21:13 3948 3

原创 Android-Theme 主题

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

2016-09-30 20:01:58 753 0

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

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

2016-09-30 19:53:34 2817 0

原创 Android-Style样式表

Android中的Style是一些属性的集合,包括height,padding,font color,background等等,基本上布局文件中的属性,这里都可以找到。Style单独定义在xml文件中,类似与web页面中css的角色,将设计和内容分开,便于修改和重复使用,一方面可以提高代码的复用性...

2016-09-30 19:49:27 856 0

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

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

2016-09-30 19:43:30 487 0

原创 Android -Toast源码解析

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

2016-09-30 19:40:17 515 0

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

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

2016-09-30 19:30:51 3421 0

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

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

2016-09-17 22:51:42 1179 0

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

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

2016-09-17 22:45:03 680 0

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

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

2016-09-08 23:17:36 1724 0

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

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

2016-09-08 23:13:11 4439 0

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

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

2016-08-21 21:01:05 1125 0

原创 Android 错误之broadcast receiver not register

出现这个错误的问题有可能是在某些地方已经调用了unregisterReceiver反注册过了,又一次调用unregisterReceiver就会出现这个错误,       有两个手段:        一、try catch包裹,这种虽然可以避免crash,但不是好的处理方式;        二、在...

2016-08-21 20:54:11 1721 0

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

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

2016-08-19 23:09:17 5282 5

原创 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....

2016-08-14 23:26:36 4075 0

原创 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 1207 0

原创 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.examp...

2016-08-14 21:48:29 24843 8

原创 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 ...

2016-08-13 21:39:43 7392 0

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

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

2016-08-13 20:56:41 3629 0

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