
android
文章平均质量分 51
Java上下求索
这个作者很懒,什么都没留下…
展开
-
Android-Fragment的使用
关于Fragment的使用,网上有很多关于它的文章。一般的使用过程和生命周期之类的,就不在这讲述了,下附的demo也会对这些方面有所展示。这里主要讲讲我在开发使用Fragment的过程中遇到的一些问题和使用时注意的要点。首先要说的是,Fragment中有一个getActivity()的方法。这个方法会返回当前Fragment所附加的Activity。当fragment生命周期结束并销毁时,ge原创 2013-04-22 21:28:27 · 14774 阅读 · 10 评论 -
Android的sdk23及以上版本中的权限处理
我们知道,从sdk23的系统开始,需要处理一些权限的问题,可以参考这个博客http://www.eoeandroid.com/thread-917535-1-2.html?_dsign=97073b34,重复的话我就不说了,这里主要概括一下一些重要的知识点。首先,权限分为普通权限和运行时权限。运行时权限在sdk23版里面是需要做特殊处理的,并可以在系统设置中禁用。普通权限一般不会在系统原创 2016-06-03 21:17:48 · 3686 阅读 · 0 评论 -
(学习笔记)事务的三种问题
事务在并发执行时有可能产生脏读、不可重复读、幻读三种问题。这三种问题产生的原因归根到底都是事务没有按顺序执行导致的数据错乱。分别称为3种问题只是情形不一样,各自侧重的问题现象不一样而已。对于这3个概念这个文章总结得比较容易明白http://my.oschina.net/sansom/blog/121712脏读:侧重于读到的数据是旧的。不可重复读:侧重于在同一个事务里面重复读时数据不原创 2016-06-10 14:52:38 · 771 阅读 · 0 评论 -
关于计时器和时钟
正如很多博客所说,我做了个试验,确实是这样,以下几种计时方法的缺点:1.循环的Thread+sleep方法,这种方式最容易被回收,而且待机时很容易被停止。而且2.Timer,这种方式稍好,但是后台运行待机时,如果拔掉usb线,计时过一会也会被暂停。3.AlarmManager,这种方式可靠,计时不会被暂停。只是代码写起来更麻烦。然后就是时钟问题了,我们用来计时的方法经常是S原创 2016-07-02 18:46:30 · 796 阅读 · 0 评论 -
Android测试之本地单元测试(Local Unit Test)
本地单元测试其实就只是一个ide所支持的junit单个类的单元测试。另外,只能在这个test目录下做本地单元测试,直接在main目录下的类里加这个测试是不可以的。原创 2016-09-24 15:26:00 · 1312 阅读 · 0 评论 -
Android测试之设备化测试(Instrumented Tests)
当我们需要使用到安卓框架的时候,也就是android.jar里面的api的时候,使用本地单元测试的方式就难以做到了。这时就要使用设备化的测试。设备化测试分为——设备化单元测试(Instrumented Unit Test)——组件集成测试——app集成测试。以下是官网对这几种测试的特点简述和详细说明:Building Instrumented Unit Te原创 2016-09-24 15:54:54 · 6039 阅读 · 0 评论 -
Android之存储目录
我们一般说的存储有几个词汇:内存,内部存储,外部存储。这几个概念分别梳理如下:内存:在我们技术人员理解上,指的就是运行时内存,包括new的对象所占用的空间位置等。至于普通用户说的指的是什么,只有他们自己知道了,哈哈。内部存储:根目录下的data目录。该目录没有root权限外部无法访问,里面包含各个包的data/data目录及安装的apk文件等子目录。外部存储:在android里,特指用原创 2016-09-29 18:24:20 · 656 阅读 · 0 评论 -
自定义lint
本文主要针对Android Studio对java api的支持部分做说明,当然,这部分的特性也完全是java 8的一些特性,是其一个子集而没有其它差异之处。 本来这篇东西涉及到了java8的好几个特性,包括函数式接口,一些标准的函数式接口,集合的聚合操作和lambda表达式,但是一通了解准备下来,发现它们都是围绕着函数式接口这一个东西在呈现的,并且内容并不复杂,所以我打原创 2017-08-26 15:43:44 · 1240 阅读 · 0 评论 -
Android消息推送之GCM方式(二)
转载请保留本来源地址:http://blog.youkuaiyun.com/wzg_1987/article/details/9148023上一节讲了GCM方式实现前的一些必要准备工作,和消息接收的实现。这一节我们来讲一下发送消息的实现。上一节也已经讲了,GCM方式其实并不区分严格的客户端和服务端,对于开发者来说,任何一方都可以是客户端或者服务端,只要搭建的环境满足两个端的要求。也就是原创 2013-06-29 11:24:31 · 6180 阅读 · 7 评论 -
Android消息推送之GCM方式(一)
转载请保留本来源地址:http://blog.youkuaiyun.com/wzg_1987/article/details/9140371首先,你需要使用一个谷歌账号登录谷歌Api控制台页面:https://code.google.com/apis/console,如果你没有在这里创建过任何项目,进入到页面后会显示成以下图片样子:点击“Create project”按键后,将引导原创 2013-06-27 23:53:15 · 11765 阅读 · 5 评论 -
Android-Animation动画之Tween Animation补间动画
Animation分为:1.Tween Animation 补间动画2.Frame Animation 帧动画不管补间动画还是帧动画,都可以通过java代码或者xml文件来描述,然后自然是使用java代码来使用动画(赋给控件、开始、停止等)。一般使用xml文件描述方式,便于维护。动画的描述最终都是通过实例化为Animation或者AnimationDrawable这原创 2013-05-29 14:16:45 · 1283 阅读 · 0 评论 -
Android-自定义View之重写控件(自定义Dialog)
自定义控件实现的方式主要有:重写控件,组装控件,继承View,opengL等。这里说的控件是指安卓自有的控件,TextView、Button等。本篇先讲第一种方式:重写控件。重写控件,也就是继承控件类,主要是重写原有的方法,增加自定义方法,修改原有部分属性。更多的应用场景是为父控件设置一个特定的布局,或者是设置特定的点击响应。以便在app里达到重用或者是简化代码的目的。是自定义控件的一个常原创 2013-06-11 13:20:17 · 5759 阅读 · 0 评论 -
Android-自定义控件之继承View
本文讲一下自定义控件的另一种方法:继承View,或者叫重写View,是属于自定义绘制的方式。继承View类在理解起来比较高级,但是实际编写起来是非常简单的。只需要提供一个构造器并调用View构造器,并重写onDraw方法。即可完成一个基本的自定义View。public class CustomView extends View { private Paint paint = new原创 2013-06-11 15:17:58 · 4423 阅读 · 1 评论 -
Android-自定义控件之组装控件(自定义导航)
这节讲一下自定义控件的第二种方式:组装控件。组装控件也可以叫做拼装控件。顾名思义,就是把若干个控件组装在一起,作为一个控件的意思。其实在上一篇就已经有一点组装控件的意思。只不过组装的部分只体现在Dialog内部的一个视图里。而拼装控件也是基于继承控件的,不过拼装控件更多地会使用到LinearLayout等较基本的视图作为父容器,更多地体现拼接的特点。这一节我将做一个导航栏的控件,控件样式固定,原创 2013-06-11 15:13:36 · 1959 阅读 · 0 评论 -
Android-自定义控件之重写控件(自定义TextView)
由于另外一篇《Android-自定义控件之重写控件(自定义对话框)》过于偏向拼装控件的方式,就再写一篇来说明重写控件吧!相信这篇的例子会更加直观的帮助大家理解重写控件。也帮助我记忆这一方式。哈哈。先上代码:public class CustomTextView extends TextView { /** * @param context */ public CustomTe原创 2013-06-21 21:31:29 · 6146 阅读 · 2 评论 -
Android-Animation动画之Frame Animation帧动画
这节讲讲Animation的另外一种形式——Frame Animation帧动画帧动画就是逐帧显示一张图片,来实现动画的效果。使用帧动画,就要用到AnimationDrawable这个类了。在本示例,将实现一个转圈加载的动画。首先,需要有几张图片。安卓并不直接支持gif格式的文件。我们需要把gif图片的每一帧作为一个单独的图片取出来,放到资源文件里去。我这里一共有8张图片:lo原创 2013-06-23 16:07:42 · 2213 阅读 · 0 评论 -
Android动画之Interpolator插补器
在使用动画Animation或者AnimationSet的时候,有一个interpolator插补器的属性。可以使用这个属性来修饰动画运动的速率。比如加速、先加速再加速等。安卓api提供几个已经实现好的插补器:AccelerateDecelerateInterpolator (效果)加速减速插补器(先慢后快再慢)AccelerateInterpolator 加速插补器(先慢后快)Ant原创 2013-06-24 23:16:36 · 9027 阅读 · 0 评论 -
使用Memory Analyzer tool(MAT)分析内存泄漏
jmat是java自带的一个内存分析工具,我们可以使用命令将内存分析文件导出,然后使用分析查看类工具进行分析。但我们这里主要讲解使用eclipse插件的方式,对该文件进行分析。一、首先下载一个基于eclipse的MAT插件。下载地址:http://www.eclipse.org/mat/downloads.php你可以选择复制Update Site地址,到Eclipse的Help-In原创 2013-05-22 16:42:02 · 5548 阅读 · 5 评论 -
Android消息推送之各种方案的对比
C2DM/GCM:优点:免费,搭建方便缺点:依赖谷歌服务器;免费服务有上限;依赖谷歌服务包;需要2.2+版本的安卓系统才支持;对网络状况有一定要求,接收不可靠。(也是基于XMPP协议)XMPP(androidpn):优点:开源、免费,功能完整,可扩展强,有较多的实现代码可找到,开发相对方便。缺点:传输载体为xml,是一个重协议,耗流量;需要搭建服务器端和数据库。MQTT:原创 2013-06-27 22:47:17 · 3152 阅读 · 0 评论 -
详解之android动画interpolator插补器
转载请保留本来源地址:http://blog.youkuaiyun.com/wzg_1987/article/details/8989686在使用动画Animation或者AnimationSet的时候,有一个interpolator插补器的属性。可以用来设置动画运动时的速率。那么,插补器是怎么实现一个动画的速率改变的呢?在讲这些之前,我想先补充说点,动画插补器目前都只是对动画执行过程原创 2013-06-26 00:59:59 · 14690 阅读 · 6 评论 -
学点Groovy之常用语法
Groovy支持几乎所有java语法,它从java提取而来,并对其进行一些语法的增加和改动。本文主要在官网指引文档作一些总结和针对常用语法与java的差异性做一个归档。一 基本语法 正如开头所说,大部分跟java没多大差别,有几个常用的地方可以注意下: 1. 单引号和双引号都可以用来表示字符串,但是双引号的可以包含替换块,替换块用${}来标记。 2. 可以[item1, item2, item原创 2017-08-26 15:58:39 · 602 阅读 · 0 评论