自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

石佛永不老

专注移动开发

  • 博客(48)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android Wear 在可穿戴设备中使用语音进行交互

在通知中接收语音输入 如果你手机中创建了一个包括某个行为的通知,如需要回复邮件之类的操作,通常会出现一个activity让用户进行输入,但是再可穿戴设备中,没有任何键盘让用户使用,因此用户进行交互时使用的输入方式可以使用RemoteInput。当用户使用语音回复或者可支持的其他输入方式是,系统会将文本的答复绑定在你指定的通知行为的Intent中,然后将该Intent传入手机的app。

2014-07-30 08:44:20 1930

原创 Android Wear 开发入门——如何创建一个手机与可穿戴设备关联的通知(Notification)

创建通知为了创建在手机与可穿戴设备中都能展现的通知,可以使用 NotificationCompat.Builder。通过该类创建的通知,系统会处理该通知是否展现在手机或者穿戴设备中。 导入必要的类库在开发之前首先需要导入以下类库importandroid.support.v4.app.NotificationCompat;importandroid.support.v4.a

2014-07-29 09:10:36 3681

原创 Android 开发新方向 Android Wear ——概述

2014 谷歌 I/O大会正式发布的Android Wear 开发理念,从而可以更系统的提供开发者使用Android接口开发便携式可穿戴设备,以智能手表为例,通过Android提供的接口,可以方便的将只能手机与只能手表进行关联,并且同步操作。后面的文章将依次介绍几种相关的开发方式,如通知的方式、app的方式以及数据同步的方式。开发Android Wear相关应用受到开发设备的约束:首先

2014-07-29 09:05:39 1262

翻译 Swift编程语言学习14——Swift中如何使用继承(Inheritance)

一个类可以继承(inherit)另一个类的方法(methods),属性(property)和其它特性。当一个类继承其它类时,继承类叫子类(subclass),被继承类叫超类(或父类,superclass)。在 Swift 中,继承是区分「类」与其它类型的一个基本特征。 在 Swift 中,类可以调用和访问超类的方法,属性和附属脚本(subscripts),并且可以重写(override)这

2014-07-28 08:56:31 1080

翻译 Swift编程语言学习13——附属脚本(Subscripts)

附属脚本可以定义在类(Class)、结构体(structure)和枚举(enumeration)这些目标中,可以认为是访问对象、集合或序列的快捷方式,不需要再调用实例的特定的赋值和访问方法。举例来说,用附属脚本访问一个数组(Array)实例中的元素可以这样写 someArray[index] ,访问字典(Dictionary)实例中的元素可以这样写 someDictionary[key]。

2014-07-28 08:52:44 1362

转载 Android 深入理解View

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/16330267在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧。那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么样的。如果你还没有看过我的上一篇文章,可以先去阅读 Andro

2014-07-25 17:44:03 811

原创 Android 计算当前使用内存百分比的方法

一些手机管家软件可以显示当前系统内存使用了百分之多少,这个数字的得到是通过 取得总内存大小,减去可用内存大小,再与总大小做比值的结果,下面代码可以计算内存使用了多少。/** * 计算已使用内存的百分比 * */ public static String getUsedPercentValue(Context context) { String dir = "/proc/mem

2014-07-25 14:38:25 3115

翻译 Swift编程语言学习12 ——实例方法(Instance Methods)和类型方法(Type Methods)

方法是与某些特定类型相关联的函数。类、结构体、枚举都可以定义实例方法;实例方法为给定类型的实例封装了具体的任务与功能。类、结构体、枚举也可以定义类型方法;类型方法与类型本身相关联。类型方法与 Objective-C 中的类方法(class methods)相似。 结构体和枚举能够定义方法是 Swift 与 C/Objective-C 的主要区别之一。在 Objective-C 中,类是唯一

2014-07-25 08:51:58 2223

原创 Android 判断当前的界面是否是桌面的方法

在开发桌面飘浮控件的时候,需要通过service查看当前是不是桌面,从而控制漂浮窗的显现与消失,下面的代码就是判断是否是桌面的方法 /** * 判断当前界面是否是桌面 */ private boolean isHome() { ActivityManager mActivityManager = (ActivityManager) ge

2014-07-24 11:29:12 3612 1

转载 仿360卫视桌面悬浮窗效果

大家好,今天给大家带来一个仿360手机卫士悬浮窗效果的教程,在开始之前请允许我说几句不相干的废话。不知不觉我发现自己接触Android已有近三个年头了,期间各种的成长少不了各位高手的帮助,总是有很多高手喜欢把自己的经验写在网上,供大家来学习,我也是从中受惠了很多,在此我深表感谢。可是我发现我却从来没有将自己平时的一些心得拿出来与大家分享,共同学习,太没有奉献精神了。于是我痛定思痛,决定从今

2014-07-24 11:28:15 1031

转载 仿微信客户端ActionBar设计

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/26365683经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对较为深刻的理解了。唯一欠缺的是,前面我们都只是学习了理论知识而已,虽然知识点已经掌握了,但是真正投入到项目实战当中时会不会掉链子还很难说。那么不用担心,本篇文章我就将带领大家一起进入Action

2014-07-23 14:21:32 1214

原创 Java中正则表达式常用方法汇总

众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。 大 家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配

2014-07-23 09:04:38 1702

原创 如何拷贝电脑里的文件到Android手机的系统目录里

方法很简单,分以下几步首先,需要对手机进行root,获取root权限然后,使用root权限进入adb shell,找到需要更改的目录            有时候需要为其赋予可读可写权限最后,最简单的是通过助手类软件的电脑客户端的文件管理,直接将文件复制进系统文件夹即可

2014-07-22 14:29:55 4335

翻译 Swift编程语言学习11—— 枚举全局变量、局部变量与类型属性

全局变量和局部变量计算属性和属性监视器所描述的模式也可以用于全局变量和局部变量,全局变量是在函数、方法、闭包或任何类型之外定义的变量,局部变量是在函数、方法或闭包内部定义的变量。 前面章节提到的全局或局部变量都属于存储型变量,跟存储属性类似,它提供特定类型的存储空间,并允许读取和写入。 另外,在全局或局部范围都可以定义计算型变量和为存储型变量定义监视器,计算型变量跟计算属性一样

2014-07-22 09:17:04 3609 1

翻译 Swift编程语言学习10—— 枚举属性监视器

属性监视器属性监视器监控和响应属性值的变化,每次属性被设置值的时候都会调用属性监视器,甚至新的值和现在的值相同的时候也不例外。 可以为除了延迟存储属性之外的其他存储属性添加属性监视器,也可以通过重载属性的方式为继承的属性(包括存储属性和计算属性)添加属性监视器。属性重载请参考继承一章的重载。 注意: 不需要为无法重载的计算属性添加属性监视器,因为可以通过 setter

2014-07-22 09:13:34 1069

翻译 Swift编程语言学习9—— 存储属性和计算属性

属性将值跟特定的类、结构或枚举关联。存储属性存储常量或变量作为实例的一部分,计算属性计算(而不是存储)一个值。计算属性可以用于类、结构体和枚举里,存储属性只能用于类和结构体。 存储属性和计算属性通常用于特定类型的实例,但是,属性也可以直接用于类型本身,这种属性称为类型属性。 另外,还可以定义属性监视器来监控属性值的变化,以此来触发一个自定义的操作。属性监视器可以添加到自己写的存储属

2014-07-22 09:09:52 1491

原创 Android 应用程序退出后不在运行列表中显示的方法

使应用信息不在运行列表中显示的方法需要修改配置文件中activity标签的两个值android:noHistory="true"android:excludeFromRecents="true">将这两个值置为trueandroid:noHistory这个属性用于设置在用户离开该Activity,并且它在屏幕上不再可见的时候,它是否应该从Activity的堆栈被删除。

2014-07-21 15:05:50 3110

原创 Android 通过调用系统接口使用如 谷歌语音、百度语音、讯飞语音等语音识别对话框的方法

现在app的开发进程会集成一些语音识别功能,而一般开发者是不具备自己开发一套语音识别引擎的,因此大多数情况是选择一个已经成熟的语音识别引擎SDK集成到自己的app中。通常情况下,这种集成分两种,一种是直接调用SDK为开发者设计好的弹出框,开发者不需要开发识别交互界面;还有一种是开发者只利用SDK提供的语音识别服务,自己开发一个属于自己的交互设计。本文介绍最简单直接调起弹出框的方法。首先

2014-07-21 08:27:46 5673 3

原创 Android中 dp 与 px 单位转换

px   :是屏幕的像素点in    :英寸mm :毫米pt    :磅,1/72 英寸dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip  :等同于dpsp   :同dp相似,但还会根据用户的字体大小偏好来缩放。建议使用sp作为文本的单位,其它用dip针对dip和px 的关系,做以下概述:QVGA屏densi

2014-07-21 07:45:20 2833 1

翻译 Swift编程语言学习8—— 类与结构体

Swift 中类和结构体有很多共同点。共同处在于:•       定义属性用于储存值•       定义方法用于提供功能•       定义下标用于通过下标语法访问值•       定义初始化器用于生成初始化值•       通过扩展以增加默认实现的功能•       符合协议以对某类提供标准功能更多信息请参见属性,方法,下标,初始过程,扩展,和协议。与结构体相比,

2014-07-21 07:26:06 1165

原创 Android(java)同步方法synchronized

synchronized 是java语言关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块。  本文直接以代码的形式来展示 synchronized 关键字的使用:【1】synchronized  Demo1:

2014-07-18 17:18:03 7741

原创 HashMap 的遍历key与value的方法

HashMap最常用的用法是根据key增删改查value,有时候会需要知道一个HashMap有多少个keys以及这些keys都是什么,可以用下面的代码实现。

2014-07-18 08:48:58 2104 1

翻译 Swift编程语言学习7—— 枚举

枚举定义了一个通用类型的一组相关的值,使你可以在你的代码中以一个安全的方式来使用这些值。 如果你熟悉 C 语言,你就会知道,在 C 语言中枚举指定相关名称为一组整型值。Swift 中的枚举更加灵活,不必给每一个枚举成员提供一个值。如果一个值(被认为是“原始”值)被提供给每个枚举成员,则该值可以是一个字符串,一个字符,或是一个整型值或浮点值。 此外,枚举成员可以指定任何类型的实例值存

2014-07-18 08:42:52 1079

原创 在Android(Java)开发中如何实现类似C语言中的中断程序

在Android开发过程中,有时候会遇到这样的情况,在一个线程中,执行A操作,B操作需要等A操作结束后才进行,因此需要wait,在java中可以如下代码实现Handler mBlueHandler = new Handler(Looper.getMainLooper()); Task task = new Task(); mBlueHandler

2014-07-17 20:49:47 1406

原创 Android 判断当前线程是否是主线程的方法

开发过程中有时候会在Thread类中执行某些操作,有些操作会由于Android版本的不同,尤其是低版本而Crash,因此必要的时候会查看某些容易引起crash的操作是否是在主线程,这里举三种方法:方法一:使用Looper类判断 Looper.myLooper() != Looper.getMainLooper()方法二:通过查看Thread类的当前线程Thread.currentT

2014-07-17 20:37:15 25534

原创 Android 使用 DownloadManager 管理系统下载任务的方法

本文详细介绍Android应用管理设备下载状态信息的方法

2014-07-17 09:46:20 3752

翻译 Swift编程语言学习6—— 闭包

闭包是自包含的函数代码块,可以在代码中被传递和使用。 Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks)以及其他一些编程语言中的 lambdas 函数比较相似。 闭包可以捕获和存储其所在上下文中任意常量和变量的引用。这就是所谓的闭合并包裹着这些常量和变量,俗称闭包。Swift 会为您管理在捕获过程中涉及到的所有内存操作。 注意: 如果您不熟悉

2014-07-16 09:40:54 1358

翻译 Swift编程语言学习5—— 函数

函数是用来完成特定任务的独立的代码块。你给一个函数起一个合适的名字,用来标示函数做什么,并且当函数需要执行的时候,这个名字会被“调用”。 Swift 统一的函数语法足够灵活,可以用来表示任何函数,包括从最简单的没有参数名字的 C 风格函数,到复杂的带局部和外部参数名的 Objective-C 风格函数。参数可以提供默认值,以简化函数调用。参数也可以即当做传入参数,也当做传出参数,也

2014-07-15 09:17:12 1728

翻译 Swift编程语言学习4.3—— 控制语句

控制传递语句(Control Transfer Statements)控制转移语句改变你代码的执行顺序,通过它你可以实现代码的跳转。Swift有四种控制转移语句。 continuebreakfallthroughreturn我们将会在下面讨论continue、break和fallthrough语句。return语句将会在函数章节讨论。  Continue

2014-07-14 11:00:47 1164

翻译 Swift编程语言学习4.2—— 条件语句

条件语句根据特定的条件执行特定的代码通常是十分有用的,例如:当错误发生时,你可能想运行额外的代码;或者,当输入的值太大或太小时,向用户显示一条消息等。要实现这些功能,你就需要使用条件语句。 Swift 提供两种类型的条件语句:if语句和switch语句。通常,当条件较为简单且可能的情况很少时,使用if语句。而switch语句更适用于条件较复杂、可能情况较多且需要用到模式匹配(patte

2014-07-14 10:51:32 1526

翻译 Swift编程语言学习4.1——循环

Swift提供了类似 C 语言的流程控制结构,包括可以多次执行任务的for和while循环,基于特定条件选择执行不同代码分支的if和switch语句,还有控制流程跳转到其他代码的break和continue语句。 除了 C 语言里面传统的for条件递增(for-condition-increment)循环,Swift 还增加了for-in循环,用来更简单地遍历数组(array),字典(di

2014-07-13 10:53:56 1943

翻译 Swift编程语言学习3.2——字典

字典字典是一种存储相同类型多重数据的存储器。每个值(value)都关联独特的键(key),键作为字典中的这个值数据的标识符。和数组中的数据项不同,字典中的数据项并没有具体顺序。我们在需要通过标识符(键)访问数据的时候使用字典,这种方法很大程度上和我们在现实世界中使用字典查字义的方法一样。 Swift 的字典使用时需要具体规定可以存储键和值类型。不同于 Objective-C 的NSDi

2014-07-11 20:02:51 1073

翻译 Swift编程语言学习3.1——数组

Swift 语言提供经典的数组和字典两种集合类型来存储集合数据。数组用来按顺序存储相同类型的数据。字典虽然无序存储相同类型数据值但是需要由独有的标识符引用和寻址(就是键值对)。 Swift 语言里的数组和字典中存储的数据值类型必须明确。 这意味着我们不能把不正确的数据类型插入其中。 同时这也说明我们完全可以对获取出的值类型非常自信。 Swift 对显式类型集合的使用确保了我们的代码对工作所

2014-07-11 19:52:19 1483 1

原创 实例介绍 Java(android) 回调函数使用方法

通过两个实例详细介绍在android使用java回调函数的实现方式

2014-07-11 09:52:59 1638

翻译 Swift编程语言学习2.2——基本运算符(下)

本文分上 下两部分介绍swift语言中的运算符使用,汇总了所有的swift开发文档中的基本运算符

2014-07-10 09:43:47 1086

翻译 Swift编程语言学习2.1——基本运算符(上)

本文分上 下两部分介绍swift语言中的运算符使用,汇总了所有的swift开发文档中的基本运算符

2014-07-10 09:33:23 1165

翻译 Swift编程语言学习1.7——断言

断言可选可以让你判断值是否存在,你可以在代码中优雅地处理值缺失的情况。然而,在某些情况下,如果值缺失或者值并不满足特定的条件,你的代码可能并不需要继续执行。这时,你可以在你的代码中触发一个断言(assertion)来结束代码运行并通过调试来找到值缺失的原因。使用断言进行调试断言会在运行时判断一个逻辑条件是否为true。从字面意思来说,断言“断言”一个条件是否为真。你可以使用断言来保证在

2014-07-08 09:35:51 957

翻译 Swift编程语言学习1.6——可选值

可选值使用可选(optionals)来处理值可能缺失的情况。可选表示:有值,等于 x   或者没有值注意:C 和 Objective-C 中并没有可选这个概念。最接近的是 Objective-C 中的一个特性,一个方法要不返回一个对象要不返回nil,nil表示“缺少一个合法的对象”。然而,这只对对象起作用——对于结构体,基本的 C 类型或者枚举类型不起作用。对于这些类型,Objec

2014-07-08 09:32:15 1043

翻译 Swift编程语言学习1.5——类型别名、布尔值、元组

类型别名类型别名(type aliases)就是给现有类型定义另一个名字。你可以使用typealias关键字来定义类型别名。当你想要给现有类型起一个更有意义的名字时,类型别名非常有用。假设你正在处理特定长度的外部资源的数据:typealias AudioSample = UInt16定义了一个类型别名之后,你可以在任何使用原始名的地方使用别名:var maxAmplitudeF

2014-07-08 08:55:58 1146

转载 Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)

添加Action Provider和Action View有点类似,Action Provider也可以将一个Action按钮替换成一个自定义的布局。但不同的是,Action Provider能够完全控制事件的所有行为,并且还可以在点击的时候显示子菜单。为了添加一个Action Provider,我们需要在标签中指定一个actionViewClass属性,在里面填入Action P

2014-07-07 14:36:05 778

Android Wear ——WearableListView Demo

展示WearableListView如何使用

2014-08-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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