安卓
文章平均质量分 65
一只特立独行在风口上的猫
这个作者很懒,什么都没留下…
展开
-
unbuntu终端中下载获取安卓(Android-4.0.1_r1)源代码
unbuntu终端中安卓源代码的下载原创 2014-12-22 10:36:57 · 1908 阅读 · 0 评论 -
Android RecyclerView 使用完全解析 体验艺术般的控件
文章转载自http://blog.csdn.net/lmj623565791/article/details/45059587; 本文出自:【张鸿洋的博客】概述RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生,例如:转载 2016-04-01 10:04:01 · 601 阅读 · 0 评论 -
设计模式之访问者模式
访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。它包括以下角色:1.访问者角色(Visitor):为该对象结构中ConcreteElement的每一个类声明一个Visit方法。2.具体访问者角色(ConcreteVisitor):实现每个由Visitor声明的操作。每个操作实现算法的一部分。3.元素原创 2016-03-04 15:04:31 · 532 阅读 · 0 评论 -
详解Android中AsyncTask的使用
在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。为了简化操作,Android1.5提供了工具类android.o转载 2016-03-15 16:25:00 · 725 阅读 · 0 评论 -
【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
文字转载自:http://blog.csdn.net/feng88724/article/details/6333809在进行UI布局的时候,可能经常会用到 android:gravity 和 android:layout_Gravity 这两个属性。 关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一下。 (资料来自网络)转载 2016-03-28 09:52:10 · 856 阅读 · 0 评论 -
Android Handler中的handleMessage方法和post方法之源码剖析
我们都知道,在子线程中进行UI操作(更新UI控件)包括以下四种方法:1.Handler的handlerMessage()方法。2.Handler的post()方法。3.View的post()方法。4.Activity的runOnUiThread()方法。本文重点分析前两种方法,后面两种稍微说一下。在说第一个方法之前,让我们先来看张图片(图片来源于http://my.oschin原创 2016-04-16 01:38:43 · 8839 阅读 · 5 评论 -
设计模式之单例模式
单例模式:用来创建独一无二的,只能有一个实例的对象的入场券。包括的角色如下:单例角色(Singleton):定义一个GetInstance方法,允许客户访问它的唯一实例。GetInstance是一个静态方法,主要负责创建自己的唯一实例。UML图如下:代码如下:public static class Singleton{ private static Si原创 2016-03-04 15:46:25 · 438 阅读 · 0 评论 -
OKHttp源码解析
转载自http://frodoking.github.io/2015/03/12/android-okhttp/Android为我们提供了两种HTTP交互的方式:HttpURLConnection 和 Apache HTTP Client,虽然两者都支持HTTPS,流的上传和下载,配置超时,IPv6和连接池,已足够满足我们各种HTTP请求的需求。但更高效的使用HTTP可以让您的应用运行更快转载 2016-05-30 11:28:34 · 2155 阅读 · 0 评论 -
Android源码分析之SharedPreferences
文章转载自:http://www.it165.net/pro/html/201406/15827.html在Android的日常开发中,相信大家都用过SharedPreferences来保存用户的某些settings值。Shared Preferences以键值对的形式存储私有的原生类型数据,这里的私有的是指只对你自己的app可见的,也就是说别的app是无法访问到的。客户端代码为了使用转载 2016-06-01 19:10:54 · 1507 阅读 · 0 评论 -
栈+哈希表(或者稀疏数组)解决安卓购物车新添加货物置顶的问题
最近在做仿淘宝购物的APP(目前已经完成,有时间就把这个项目写出来),在做购物车这一块的时候,我是把数据先转化为json数据,然后通过sharedpreferences来把数据保存到本地内存中(至少用户没有登录的情况下可以这么做),我们知道sharedpreferences是通过键值对来存储数据的(不清楚的同学请移步Android源代码分析之sharedpreferences),key值可以随便给原创 2016-06-01 22:06:21 · 1595 阅读 · 0 评论 -
设计模式之策略模式理解
不想打字了,就把以前做的笔记直接上传了,字丑勿怪!但是,针对接口/超类型编程做法会如下:Animal animal = new Dog();animal.makeSound();最后得到的结果会是狗的叫声。原创 2016-02-22 00:00:47 · 467 阅读 · 0 评论 -
ServerSocket用法详解
在客户/服务器通信模式中,服务器端需要创建监听特定端口的ServerSocket,ServerSocket负责接收客户连接请求。本章首先介绍ServerSocket类的各个构造方法,以及成员方法的用法,接着介绍服务器如何用多线程来处理与多个客户的通信任务。本章提供线程池的一种实现方式。线程池包括一个工作队列和若干工作线程。服务器程序向工作队列中加入与客户通信的任务,工作线程不断从工作队列中取出转载 2016-03-18 12:55:01 · 83932 阅读 · 10 评论 -
activity生命周期深入理解
举个例子:有两个ActivityA以及ActivityB,在ActivityA 上有一个按钮,点击这个按钮就会跳转至ActivityB。ActivityB上同样有一个按钮,点击这个按钮就会跳转至ActivityA。好,下面点击ActivityA上的按钮,我们会得到以下内容:A onPauseB onCreateB onStartB onRes原创 2015-10-24 22:52:48 · 598 阅读 · 0 评论 -
Android中Parcelable接口用法(转)
1. Parcelable接口Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelable interface must also have a static field called CREATOR, which转载 2016-01-24 16:33:57 · 639 阅读 · 0 评论 -
设计模式之适配器模式
适配器分为两种,一种是对象适配器,另一种是类适配器,由于对象适配器使用的是组合,而类适配器使用的是继承的方式来实现两个类之间的转换的。所以根据设计模式的代码设计原则,这里只说下对象适配器,需要的元素如下:1.目标(Target):客户所期待的接口,目标可以使具体的或者抽象的类,也可以是接口。2.适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。3.被适配者(原创 2016-03-02 15:59:56 · 503 阅读 · 0 评论 -
设计模式之命令模式
命令模式:先看个栗子,假如你老板命令你完成一个OA项目是一个命令,接着看看其特点:1、在上面的命令中,命令的执行者肯定是聪明的你了。具体的执行方法,可能是通过vs实现,或者是通过eclipse实现,由此看来:命令要有个命令的执行者(Invoker),执行者有个执行的动作(execute),还要有个命令的执行方法(Receiver)。2、命令的发出者很明显是老板,老板还有个发出方法,原创 2016-03-02 11:57:53 · 481 阅读 · 0 评论 -
设计模式之组合模式
组合模式原理:将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。组合模式包括的成员角色有:树干(Component):组合中的对象声明接口,在适当情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component的子部件。树枝(Composite):定义有枝节点行为,用来存储子部件,在Component接口中实现与子部原创 2016-03-03 11:29:14 · 904 阅读 · 0 评论 -
设计模式之代理模式
代理模式(Proxy):为其他对象提供一种代理以控制这个对象的访问。它包括下面这些角色:1.抽象对象角色(Subject):定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy。2.目标对象角色(RealSubject):定义Proxy所代表的真实实体。3.代理对象角色(Proxy):保存一个引用使得代理可以访问实体,并提原创 2016-03-03 16:49:54 · 542 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式理论:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。blabla......说了这么多,然而并不知道怎么实现。好!我们来想想报驾校的情形吧。很多人去报驾校,这么多人,每个人都不一样,但他们有一点是相同的,都是为了拿驾照才去报的名,也就是说他们目标一致。而作为驾校需要做的事情就是准备一张报名表格,记录报名者的信息和联系方式,然后通知他原创 2016-02-27 10:56:48 · 576 阅读 · 0 评论 -
关于httpurlconnection getcontentlength返回值为-1的问题
在做AsyncTask异步任务读取网络数据的时候,发现了httpUrlConnection的获取数据内容长度(connection.getContentLength())总是为-1。导致进度条一直为灰色状态。预期结果应如图所示:而现在的效果是这样的:MainActivity代码如下:import android.os.AsyncTask;import android.原创 2016-03-17 12:19:24 · 5854 阅读 · 3 评论 -
android inflater 用法
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。 具体作用: 1、对于一个没有被载入或者想要动态载入的界面,都需要使用Layou转载 2016-03-05 14:42:15 · 596 阅读 · 0 评论 -
HashMap的两种遍历方式
在项目中涉及到HashMap遍历的问题,项目是用于商品订单支付。支付方式有百度支付,微信支付以及支付宝支付,如图所示:现在把这三种支付方式的标识以及RadioButton存放到HashMap中(HashMapchannels= newHashMap3)),实现的功能是:如果选择一种支付方式,那么其他的支付方式就要设置为非选中状态,并且当前的支付方式状态是之前状态原创 2016-05-16 18:20:05 · 738 阅读 · 0 评论