android
文章平均质量分 89
Coding-lover
Keep hungry,Keep foolish(可通过微信联系我:unilay_yang)
展开
-
java 接口回调经典案例--网络请求回调
形象比喻:你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。(来自知乎)回调的好处:降低代码的耦合性,使代码更灵活、简洁步骤一转载 2015-10-23 01:54:28 · 1616 阅读 · 0 评论 -
android Activity和Fragment生命周期实践
关于活动和片段的生命周期,看了忘、忘了看。一提生命周期,大概一想,似乎明白,仔细一想,似乎不那么明白。索性,一不做二不休,写了个活动加上两个片段,覆盖所有的生命周期方法,打上Log一顿摆弄,直观的东西就出来了。所有的测试包括:1. 从Launcher启动活动2. 按回退键退出活动3. 按Home键将活动切入后台4. 将后台的活动切回前台5. 片段加载6. 片段2替换片段转载 2014-04-27 22:15:04 · 836 阅读 · 0 评论 -
android 命名规范
xml:layout: layout_模块名(包名的最后一个文件夹名)_组件名view: view_母layout组件名_组件名 color.xml: 模块名(包名的最后一个文件夹名)_组件名_颜色名(颜色的英文) strings.xml: 模块名(包名的最后一个文件夹名)_组件名_字符串名(要反映字符的意思) .原创 2014-04-24 15:15:30 · 962 阅读 · 0 评论 -
android static实现Service与Activity中Handler通信
用于对static的理解,仅仅用于对static的理解,不喜勿喷第一种方式:从Service中获取Activity的static变量,调用该静态变量的getHandler()获取Handler进行发送消息MainActivity:package com.example.test;import android.support.v7.app.ActionBarActivity;imp原创 2014-04-26 23:15:37 · 4412 阅读 · 1 评论 -
android GPS应用程序设计
GPS简介GPS是英文Global Positioning System(全球定位系统)的简称。GPS是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统 。其主要目的是为陆、海、空三大领域提供实时、 全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的,经过20余年的研究实验,耗资300亿美元,到1994年3月,全球覆盖率高达98%的24颗原创 2014-04-24 17:01:47 · 2063 阅读 · 0 评论 -
android Widget
桌面控件是通过BroadCast的形式进行控制的,因此每个桌面控件都对应一个BroadCastReceiver.为了简化桌面控件的开发,Android提供了一个AppWidgetProvider类,它就是BroadcastReceiver的子类.为了开发桌面控件,开发者只要开发一个继承AppWidgetProvider的子类,并重写AppWidgetProvider不同的生命周期方法即可.原创 2014-04-03 15:59:57 · 982 阅读 · 0 评论 -
android Bluetooth程序设计
Bluetooth简介蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对原创 2014-05-09 19:49:50 · 1789 阅读 · 0 评论 -
android Bluetooth(官方翻译)
BluetoothUsing the Bluetooth APIs, an Android application can perform the following:使用蓝牙APIs,一个Android应用可以进行如下操作:Scan for other Bluetooth devices扫描其他蓝牙设备Query the local Bluetooth adapter翻译 2014-05-08 23:20:41 · 1742 阅读 · 0 评论 -
android nfc中MifareClassic格式的读写
Android支持的数据格式数据格式的Intent filter查看标签支持数据格式的方法:MifareClassic标签的外形结构MifareClassic标签的数据结构MifareClassic类的常用方法MifareClassic标签的读写流程原创 2014-05-05 20:40:26 · 12431 阅读 · 2 评论 -
Android Handler
Handler的作用:主要接受子线程发送的数据, 并用此数据配合主线程更新UI. Android主线程 (也就是UI线程) 操作5秒钟还没有完成的话,界面会出现假死现象,会收到Android系统的一个错误提示 "强制关闭". 这个时候我们需要把这些耗时的操作,放在一个子线程中Android不允许子线程更新主线程维护的UI组件,这样对主线程是不安全的,也就是说,更新UI只能在主线程中更新原创 2014-03-21 17:18:33 · 1271 阅读 · 0 评论 -
android DOM解析XML
优点:使用DOM解析XML的代码看起来比较直观,并且在某些方面比基于SAX的实现更加简单。缺点:DOM需要将XML文件的所有内容以文档树的方式存放在内存中,所以内存的消耗比较大。使用场合:如果XML文件的内容比较小,采用DOM也是可行的。DOM解析XML文件的基本思路如下:利用DocumentBuilderFactory创建一个DocumentBuilderFactory实原创 2014-03-30 14:06:01 · 1221 阅读 · 0 评论 -
android PULL解析XML
PULL解析XML的方式与SAX解析XML方式一样,也是基于事件驱动的,使用PULL解析器解析XML应注意如下几点:通过xml.newPullParser()获得解析器通过parser.setInput(in,"UTF-8")设置输入流以及编码通过parser.next()获取下一个元素并触发相应事件xmlPullParser中定义了常量来标识各种解析事件:原创 2014-03-30 16:38:38 · 650 阅读 · 0 评论 -
android SAX解析XML
SAX(Simple API for XML) 是一个解析速度快并且占用内存少的xml解析器,非常适合用于Android等移动设备。 SAX解析XML文件采用的是事件驱动,边加载边解析。也就是说,它并不需要解析完整个文档,在按内容顺序解析文档的过程中,SAX会判断当前读到的字符是否合法XML语法中的某部分,如果符合就会触发事件。所谓事件,其实就是一些回调(callback)方法,这些方法(事件)定原创 2014-03-30 15:44:38 · 812 阅读 · 0 评论 -
android BaseAdapter例子
public class ListTestActivity extends Activity { ListView mListView; Map mMapContent; /** Called when the activity is first created. */ @Override public void onCreate(Bundle原创 2014-03-24 22:31:57 · 886 阅读 · 0 评论 -
android Beam
Beaming NDEF Messages to Other DevicesAndroid Beam allows simple peer-to-peer data exchange between two Android-powered devices. The application that wants to beam data to another device must be in原创 2014-05-06 16:53:14 · 4211 阅读 · 1 评论 -
Android Service AIDL
Service AIDL简述Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。Android应用程序组件中的4个(Activity、Broadcast、 Service和Content Provider)都可以进行跨进程访问,Service就是通过AIDL服务来完成不同进程之间的通信。在AIDL服务中有两种对象: 服原创 2014-03-25 21:51:29 · 1233 阅读 · 0 评论 -
Android Service 解析
Service简述 Service是运行在后台的,没有界面的,用来处理耗时比较长的。Service不是一个单独的进程,不是一个单独的线程。 Service有两种类型: 本地服务(Local Service):用于应用程序内部 远程服务(Remote Sercie):用于android系统内部的应用程序之间 本地服务用于实现应用程序自己的一些耗时任务原创 2014-03-24 20:01:26 · 1068 阅读 · 0 评论 -
android Json数据解析
JSON(JavaScript Object Notation) 定义: 它是基于JavaScript编程语言ECMA-262 3rd Edition-December 1999标准的一种轻量级的数据交换格式,主要用于用于跟服务器进行交换数据。跟XML相类似,它独立于语言,在跨平台数据传输上有很大的优势,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(获得了当原创 2014-04-19 15:01:21 · 1115 阅读 · 0 评论 -
android AsyncTask
AsyncTask叫做异步任务,首先说明异步与同步的区别:同步和异步的区别转载自:http://blog.csdn.net/lmhcn/archive/2006/10/08/1325941.aspx举个例子:普通B/S模式(同步)AJAX技术(异步)同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事异步: 请求通过事件触发->服务器处理(这是浏览原创 2014-04-26 21:14:47 · 1153 阅读 · 0 评论 -
android中Activity,Service和线程之间的通信
Activity、Service和线程应该是Android编程中最常见的几种类了,几乎大多数应用程序都会涉及到这几个类的编程,自然而然的,也就会涉及到三者之间的相互通信,本文就试图简单地介绍一下这三者通信的方式。想写这篇文章的起因是,笔者跟几个同学在做一个Android上的应用,起初代码写得很凌乱,因为我在Activity中直接创建了线程,去执行某些任务。但是我们知道线程可能需要运行的时间转载 2014-04-26 23:20:34 · 1084 阅读 · 0 评论 -
android 应用架构之MVC
我们都知道Android中基本组件是Activity,每个界面都是一个Activity,自从2.3版本开始,又增加了Fragment组件,提供了适应于各种屏幕方法。但是由于Android系统只是提供了各种可用的编程技术,并没有对应用架构进规定。实践中,很多项目将所有功能都添加到了Activity中,使Activity变得十分臃肿,不便于进行后期修改和维护。如果我们要一个人来开发一个系统,那么必须采用转载 2015-08-25 21:08:18 · 734 阅读 · 0 评论 -
手机APP UI设计尺寸基础知识
从原理开始介绍一下移动端设计尺寸规范。初涉移动端设计和开发的同学们,基本都会在尺寸问题上纠结好一阵子才能摸到头绪。我也花了很长时间才弄明白,感觉有必要写一篇足够通俗易懂的教程来帮助大家。从原理说起,理清关于尺寸的所有细节。由于是写给初学者的,所以不要嫌我啰嗦。 现象 首先说现象,大家都知道移动端设备屏幕尺寸非常多,碎片化严重。尤其是Android,你会听到很多种分辨率:480x800,转载 2015-06-29 00:15:18 · 1243 阅读 · 0 评论 -
Android 界面布局
种类:LinearLayout(线性布局)TableLayout(表格布局)FrameLayout(框架布局)RalativeLayout(相对布局)AbsoluteLayout(绝对布局)GridLayout(网格布局)布局文件中常用的属性:LinearLayout(线性布局):在线性布局中,所有的子元素都在垂直或水平方向按照顺序在界面原创 2014-03-15 19:43:17 · 1181 阅读 · 0 评论 -
android LogCat使用详解
Android的Logcat用于显示系统的调试信息,可在分别以下几个地方查看和调用logcat: 1.eclipse的Debug模式或DDMS模式下的会有一个Logcat窗口,用于显示log日志 只需在eclipse中启动Android模拟器,切换到DDMS或debug模式下,就会有Logcat窗口,窗口右上方有一系列图标,其中V、D、I、W、E五个图标为五个调试信息过滤器:转载 2015-01-16 14:30:39 · 859 阅读 · 0 评论 -
android 使用 adb logcat 显示 Android 日志
eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志;1. 解析 adb logcat 的帮助信息在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息;octopus@octopus:~$ adb logcat --helpUsage: logcat [options] [转载 2015-01-16 14:26:24 · 2041 阅读 · 0 评论 -
android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
本篇文章继续为大家介绍Universal-Image-Loader这个开源的图片加载框架,介绍的是图片缓存策略方面的,如果大家对这个开源框架的使用还不了解,大家可以看看我之前写的一篇文章Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用,我们一般去加载大量的图片的时候,都会做缓存策略,缓存又分为内存缓存和硬盘缓存,我之前也写了几篇异步加载大转载 2014-12-18 00:24:06 · 930 阅读 · 0 评论 -
android 从源代码分析Android-Universal-Image-Loader的缓存处理机制
讲到缓存,平时流水线上的码农一定觉得这是一个高大上的东西。看过网上各种讲缓存原理的文章,总感觉那些文章讲的就是玩具,能用吗?这次我将带你一起看过UIL这个国内外大牛都追捧的图片缓存类库的缓存处理机制。看了UIL中的缓存实现,才发现其实这个东西不难,没有太多的进程调度,没有各种内存读取控制机制、没有各种异常处理。反正UIL中不单代码写的简单,连处理都简单。但是这个类库这么好用,又有这么多人用,那么非转载 2014-12-17 20:37:33 · 667 阅读 · 0 评论 -
android Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影。 可是有的人并不知道如何去使用这库如何进行配置,网上查到的信息对于刚接触的人来说可能太少了,下面我就把我使用过程中所知道的写了下来,希望可以帮助自己和别人更深入了解这个库的使用和配置。 GITHUB上的下载路径为:htt转载 2014-12-18 00:09:21 · 1165 阅读 · 2 评论 -
android 开源框架Universal-Image-Loader完全解析(三)---源代码解读
本篇文章主要是带大家从源码的角度上面去解读这个强大的图片加载框架,自己很久没有写文章了,感觉生疏了许多,距离上一篇文章三个月多了,确实是自己平常忙,换了工作很多东西都要去看去理解,然后加上自己也懒了,没有以前那么有激情了,我感觉这节奏不对,我要继续保持以前的激情,正所谓好记性不如烂笔头,有时候自己也会去翻看下之前写的东西,我觉得知识写下来比在脑海中留存的更久,今天就给大家来读一读这个框架的源码,我转载 2014-12-18 00:31:15 · 823 阅读 · 0 评论 -
android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
大家好!差不多两个来月没有写文章了,前段时间也是在忙换工作的事,准备笔试面试什么的事情,现在新工作找好了,新工作自己也比较满意,唯一遗憾的就是自己要去一个新的城市,新的环境新的开始,希望自己能尽快的适应新环境,现在在准备交接的事情,自己也有一些时间了,所以就继续给大家分享Android方面的东西。相信大家平时做Android应用的时候,多少会接触到异步加载图片,或者加载大量图片的问题,而加转载 2014-12-18 00:20:27 · 1163 阅读 · 2 评论 -
android 数据存储五种方式总结
本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据下面详细讲解这五种方式的特点第一种: 使用SharedPrefe转载 2014-11-30 23:22:26 · 984 阅读 · 0 评论 -
android ScrollView原理
视图的滚动过程,其实是在不断修改原点坐标。当手指触摸后,ScrollView会暂时拦截触摸事件,使用一个计时器。假如在计时器到点后没有发生手指移动事件,那么ScrollView发送tracking events到被点击的subView;若是在计时器到点后发生了移动事件,那么ScrollView取消tracking自己促发滚动。其子类可以重载touchesShouldBegin: withE转载 2014-06-22 23:03:36 · 2038 阅读 · 1 评论 -
android ScrollView(scrollbarStyle)
ScrollView,当内容超过了整个屏幕或者容器的时候需要使用ScrollView并且ScrollView的直接子元素只能有一个. ScrollView的用法非常简单,这里主要说的是ScrollView中ScrollBar的用法1 ,普通样式的ScrollBar(默认样式),如下图所示:2 , 下面再转载 2014-06-22 23:06:43 · 1117 阅读 · 0 评论 -
android 调试
遇到错误,不能光看logcat 也必须看console,logcat都是些运行时错误,而编译错误会在console中显示,比如某些包没有导入,某些包重复了,包冲突等等,这些错误虽然不会报错,但会导致程序运行不了。还有就要学会使用断点调试,可以动态帮你分析运行时变量的变化和程序运行的流程。搜索工具:谷歌,百度是不用说的。原创 2014-06-22 11:39:57 · 873 阅读 · 0 评论 -
android 启动过程深入解析
当按下Android设备电源键时究竟发生了什么?Android的启动过程是怎么样的?什么是Linux内核?桌面系统linux内核与Android系统linux内核有什么区别?什么是引导装载程序?什么是Zygote?什么是X86以及ARM linux?什么是init.rc?什么是系统服务?当我们想到Android启动过程时,脑海中总是冒出很多疑问。本文将介绍Android的启动过程,希望能帮转载 2014-06-21 23:35:48 · 785 阅读 · 0 评论 -
android fragment详解
Fragment概述及其设计哲学 实际上就是为了适应不同的屏幕分辨率,有的屏幕在一个Activity中可以包含一个Fragment,有的则可以包含多个,所以需要根据不同的配置调整显示方式,例如在同一个Activity里面显示两个Fragment,或者在一个Activity里面显示其中一个Fragment,另外一个Activity里面显示另外一个Fragment,实际上就是把显原创 2014-04-27 23:49:24 · 1690 阅读 · 0 评论 -
android listview 触摸改变颜色直至下一次触摸恢复(包含层叠颜色显示)
基本的思路是,在实体类中保存颜色的值或者是保存是否选中的状态(boolean),把实体的类的列表传入BaseAdapter然后调用listview实例的notifyDataSetChanged()方法进行动态更新数据。下面是一个实例:ListViewItem:实体类package cn.com.demotest.entity;public class L原创 2014-06-24 21:47:48 · 1784 阅读 · 0 评论 -
android ContentProvider
ContentProvider简介:ContentProvider(数据提供者)是在应用程序间共享数据的一种接口机制ContentProvider提供了更为高级的数据共享方法,应用程序可以指定需要共享的数据,而其他应用程序则可以在不知数据来源、路径的情况下,对共享数据进行查询、添加、删除和更新等操作许多Android系统的内置数据也通过ContentProvider提供给用户使用,例如原创 2014-04-03 14:52:20 · 1449 阅读 · 0 评论 -
Intent 属性的作用
Public ConstructorsIntent()Create an empty intent.Intent(Intent o)Copy constructor.Intent(String action)Create an intent with a given action.Intent(String原创 2014-03-18 16:07:59 · 2246 阅读 · 0 评论 -
Android 启动其他Activity并返回结果
实现从一个Activity跳转到第二个Acitivity,返回结果在第一个Activity中显示。先给出关键代码:class MainActivity extends Activity: @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanc原创 2014-03-18 13:39:30 · 987 阅读 · 0 评论