显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

等待机遇

这个世界上没有人知道自己到底想要什么,就等着别人来告诉他们。

 
 
 
 
 
 

谷歌出品:Android Wear性能优化

2015-5-9 11:04:27 阅读264 评论0 92015/05 May9

Google前几天刚发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化、网络优化、Android Wear上如何做优化、使用对象池来提高效率、LRU Cache、Bitmap的缩放、缓存、重用、PNG压缩、自定义View的性能、提升设置alpha之后View的渲染性能,以及Lint、StictMode等工具的使用技巧。

Wear & Sensors

在Android Wear上会大量的使用Sensors来实现某些特殊功能,如何在尽量节约电量的前提下利用好Sensor会是我们需要特别注意的问题。下面会介绍一些在Android Wear上的最佳实践典范。

尽量减少刷新请求,例如我们可以在不需要某些数据的时候尽快注销监听,减小刷新频率,对Sensor的数据做批量处理等等。那么如何做到这些优化呢?

首先我们需要尽量使用Android平台提供的既有运动数据,而不是自己去实现监听采集数据,因为大多数Android Watch自身记录Sensor数据的行为是有经过做电量优化的。

其次在Activity不需要监听某些Sensor数据的时候需要尽快释放监听注册。

作者  | 2015-5-9 11:04:27 | 阅读(264) |评论(0) | 阅读全文>>

Android Wear开发之数据通信开源库Teleport

2015-5-8 16:07:44 阅读246 评论0 82015/05 May8

DataApi同步和MessageApi消息通信的开源库Teleport,通过解包百度手表App可以知道,也是用的这个库。

TeleportClient 和 TeleportService 提供两个AsyncTask用于同步DataItems和接受Messages:

OnSyncDataItemTask 提供一个DataMap来同步数据

OnGetMessageTask 提供所接收的message path

可以重写sync<ItemType>(String key, <ItemType> item)和sendMessage(String path, byte[] payload) 方法

示例

在MobileActivity中:

public class MobileActivity extends Activity {

TeleportClient mTeleportClient;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_mobile);

mTeleportClient = new TeleportClient(this);

}

作者  | 2015-5-8 16:07:44 | 阅读(246) |评论(0) | 阅读全文>>

Android Wear开发之数据通信框架OkWear

2015-5-8 15:49:51 阅读196 评论0 82015/05 May8

OkWear是Android Wear上的一个设备间数据通信的框架。

示例

发送MessageApi

static final String PATH = "/path"

static final String MESSAGE = "hello"

OkWear ok = new OkWear(context);

// unuse callback listener

ok.sendMessageAll(MESSAGE, PATH);

// use callback listener

ok.sendMessageAll(MESSAGE, PATH, new SendResultListener<MessageApi.SendMessageResult>() {

@Override

public void onResult(MessageApi.SendMessageResult result) {

Log.v(TAG, "Status: " + result.getStatus());

}

});

发送DataApi

kWear ok = new OkWear(context);

Payload payload =

作者  | 2015-5-8 15:49:51 | 阅读(196) |评论(0) | 阅读全文>>

Android Wear开发之BusWear

2015-5-8 15:44:08 阅读188 评论0 82015/05 May8

做过Android开发的同学,多少都用过EventBus这个库,即消息总线。现在在Android Wear也有EventBus了。

示例:

发送

EventBus.getDefault().post(parcelableObject, this);     //Custom parcelable object

EventBus.getDefault().postRemote("text", this);         //String

//... similar with Integer, Long etc.

EventBus.getDefault().postLocal('c', this);            //Character - to local function you can pass any object that you like

接收

protected void onCreate(Bundle savedInstanceState) {

EventBus.getDefault().register(this);

}

//Called every

作者  | 2015-5-8 15:44:08 | 阅读(188) |评论(0) | 阅读全文>>

Android Wear开发之ExceptionWear

2015-5-8 15:40:17 阅读204 评论0 82015/05 May8

ExceptionWear 是可以将Android Wear手表端未捕捉的异常,发送给手机端来处理。手机端接收了异常后,可以比如保存错误日志,或者发送错误日志的邮件。

实现ExceptionWearHandler 接口,并使用ExceptionDataListenerService.setHandler()方法来接收异常。

示例:

手表app上

public class WearableApplication extends Application {

public void onCreate() {

//...

ExceptionWear.initialize(this);

}

}

手机app上

public class PhoneApplication extends Application {

public void onCreate() {

//...

ExceptionDataListenerService.setHandler(new CustomExceptionHandler());//need to implements ExceptionWearHandler

}

}

项目地址:

作者  | 2015-5-8 15:40:17 | 阅读(204) |评论(0) | 阅读全文>>

Android Wear开发之仿系统动画效果的菜单WearMenu

2015-5-8 15:32:57 阅读323 评论0 82015/05 May8

WearMenu是一个仿系统动画效果的菜单

示例:

<?xml version="1.0" encoding="utf-8"?>

<com.github.florent37.WearMenu

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:id="@+id/wear_menu"

app:wearMenuPosition="bottomLeft"

>

<android.support.wearable.view.GridViewPager

android:id="@+id/pager"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:keepScreenOn="true"/>

<android.support.wearable.view.DotsPageIndicator

作者  | 2015-5-8 15:32:57 | 阅读(323) |评论(0) | 阅读全文>>

Android Wear开发之数据通信Wear Emmet

2015-5-6 15:03:10 阅读131 评论0 62015/05 May6

Emmet是Android Wear一个用于手机和手表间通信的框架,自定义数据实体,然后通过gson序列化和反序列化成json数据,来进行设备间通信。

在每个activity都创建一个emmet实例,并调用对应的生命周期方法,可以创建一个父类Activity,写在父类Activity中

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

public class MainActivity extends Activity {

private Emmet emmet = new Emmet();

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

作者  | 2015-5-6 15:03:10 | 阅读(131) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

 异次元

 发消息  写留言

 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 

日志分类

 
 
日志分类列表加载中...
 
 
 
 
 

热门日志

 
 
数据列表加载中...
 
 
 
 
 

最新日志

 
 
数据列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017

注册 登录  
 加关注