一、概述

在Java、Android相关的开发中,经常会用到Json自动解析框架,其中比较常见的一个就是Google推出的Gson。

阅读全文 »

特点

适用于大多数在线视频播放网站(网易云音乐MV目前也可以),支持Windows/Mac/Linux等操作系统,操作简单。

阅读全文 »

说明

本文主要从实现原理和代码层面介绍Gradle开发相关知识。关于本文中提到的、Gradle中的基本概念等内容,可参考

阅读全文 »

说明

本文主要介绍和Gradle关系密切、相对不容易理解的配置,偏重概念介绍。部分内容是Android特有的(例如ProductFlavor),其他内容则是所有Gradle工程都相同或类似的知识。

阅读全文 »

说明

本文部分技术相关内容主要供Android开发者阅读;大部分内容设计人员也可以学习。

阅读全文 »

Android开发中,内存问题一直让人很受困扰,而内存问题最常见的原因就在于Bitmap。这里总结一些Bitmap处理(包括截屏),减少内存问题的一些思路。

常用思路

阅读全文 »

Glide是谷歌官方推荐的一个Android图片库,既然如此,肯定有一些比较特别的地方。总得来看,Glide是我所了解的Android图片库中,功能最强大的一个了。从代码复杂度来看,估计也就Fresco能与其相比了。

关于Glide的用法,本文只是简单梳理了下。你也可以参考这个系列文章,写的比较全面详细
https://mrfu.me/2016/02/27/Glide_Getting_Started/

阅读全文 »

RatingBar设置max=5,StepSize=1,想输入1-5星的整数评价。在Android 7.0的一些手机中(例如华为P9),会出现评星点击区域不准确的问题。

如图,用户在点击第一个五角星正中间区域的时候,如果在红框区域,就会变成二星而不是一星;而用户想选择1星,则必须点击红框左侧区域,体验太差。

阅读全文 »

工欲善其事,必先利其器

俗话说,“工欲善其事,必先利其器”,对致力于让计算机解决人类问题的程序员来说,更应该如此(打字慢还找什么借口……)

阅读全文 »

本文仅适用于support包中的Fragment,没有对Android新的接口android.app.Fragment做测试。

实际开发时,常需要在Fragment可见时,做重新加载数据等操作,但系统没有提供可以直接使用的方法。这里通过改造BaseFragment实现Fragment可见性变化的监听。

阅读全文 »

这篇文章写的比较早,很多内容理解的不是很好,建议阅读本人最新文章Gradle开发快速入门——DSL语法原理与常用API介绍

环境

阅读全文 »

构造一个异步消息

  1. Message.setAsynchronous(true)
阅读全文 »

登录MySQL

  1. # 所有参数是可选的。参数u为用户名,参数p为密码,参数h为主机,port为端口,dbname为数据库的名字。
  2. # 直接“-p”不加密码,则会先提示输入密码再登录(这样密码是不可见的更安全)。如果密码中有特殊字符,按Shell的语法用单引号括起来即可。
  3. mysql -u root -p mypassword -h myhost --port=3306 dbname
阅读全文 »

现象:Ubuntu系统,新安装的MySQL 5.7.16,在主机本地的SSH中输入任何密码都能登录root,而尝试了网上各种方法改密码包括官网资料,都不能用phpMyAdmin登录。

尝试新建了一个用户,发现新建的用户可以在phpMyAdmin登录。

阅读全文 »

从Tomcat官网下载Binary Distributions-Core下的Tomcat.tar.gz,并解压保存到/Library/Tomcat目录。

传送门:
官网 http://tomcat.apache.org/
Tomcat 8.5.8的地址 http://apache.fayea.com/tomcat/tomcat-8/v8.5.8/bin/apache-tomcat-8.5.8.tar.gz

阅读全文 »

LNMP即Linux,Nginx,MySQL,PHP,是一套常见的PHP环境之一(还有个常见的是LAMP,但Apache比较庞大,而Nginx更加轻量级,对于小站点可能更合适)。

本文默认使用root用户执行,如果执行出错,请尝试加sudo

阅读全文 »

Volley网络框架发送请求后,页面退出时需要取消已经添加但没有完成的请求,否则可能导致内存泄露甚至Crash。

Volley的使用方式

阅读全文 »

等比缩放:即缩放时保持原图片长宽比
拉伸:这里特指可能改变长宽比的缩放操作

以长宽为1:1的ImageView为例说明,图片来自 http://jameszhao84.iteye.com/blog/1397611

阅读全文 »

安卓中的9Patch图片的扩展名为“.9.png”;在PNG图片基础上,四个边各增加了1像素的边框区域,用于控制图片的拉伸。

左边、上边的黑色点(或线),控制拉伸区域;
右边、下边的黑色点(或线),控制内容展示区域。
默认的Padding就是内容区域和整个图片之间的距离,也可以设置View的Padding属性覆盖默认值。

阅读全文 »

由于项目需求,要在Android中实现APP启动播放视频的功能。

想起来前段时间装过的Any.Do Cal就有启动视频。实现这个功能不难,主要是有点担心稳定性和可靠性,于是参考了一下Cal(反编译简单分析了一下其代码),发现实现起来比较简单,用的是比较常规的MediaPlayer+TextureView,播放的是mp4视频文件。

阅读全文 »