文档章节

自己DIY osc android 客户端

打杂程序猿
 打杂程序猿
发布于 2012/11/28 05:29
字数 1754
阅读 5104
收藏 87

##由来## 今天半夜的时候,也许是喝了几杯咖啡的缘故怎么也睡不着,同时打开了osc ios 客户端,android客户端,wp7 客户端,并且顺手还打开了某屌丝android双核平板,盯着看了一会,ios 的tab风格,wp7的飘逸的风格,android 的tab风格,android 平板的tab风格,???!!!有木有发现,android的应用竟然没有android的风格!,而且,android 平板怎么看,就怎么挫!作为,一名在职android开发码农,这样岂可修!黑我大android,阻碍我大android 风格的普及(小声的说一声工作的时候还是得没风格...)

##什么是android的风格##

android 发展到了现在4.2版本,正式确定android 风格的是在发布android 4.0 的时候

###安卓设计指南### http://developer.android.com/design/index.html

有非中文简体版本和6寸e-ink 版本,链接在最后...(为啥不直接贴链接...顺便宣传一下latex吧,想当初我花了一个星期排这个版...) http://www.cnblogs.com/youxilua/archive/2012/02/25/2368011.html

估计大家一时半会看完并且理解各异,我就说一下我对android设计风格的看法.

##我的android设计观## 现在android的吐槽点非常之多,不过大家经常吐槽得最多的莫过于各种android设备的分辨率,以及android设备的各种奇葩配置,吐槽点跟做web浏览器一样的槽点一样,就是兼容性问题

###关于兼容性### 不知道大家有没有静下心来认真思考过这个问题,很多人对这个的看法更对PC上的浏览器的兼容问题同样来看,不过在我看来,两者虽有共同之处,但是,实际上android的兼容性问题,并没有PC上浏览器那么严重.

  • android的核心基本上是一个厂商,而浏览器的内核常见的就有4家,火狐,IE,CHROME,欧朋,浏览器导致的兼容问题各个厂商对于标准的实现方式,这种兼容性问题基本无解,只能自己苦逼相对应方法.而android的兼容性问题,很多时候自己对android环境的开发不熟悉导致,例如,早期的计量单位的使用,依赖px,导致不同分辨率下显示的分裂,而,如果你用的是官方推荐的dip基本不会(注意是基本不会),而且,美工一般都不会有对android特殊环境进行相应的操作,往往就给你一套图,接着,大家喜闻乐见的各种分辨率问题就出现了.

  • android硬件与版本的设配问题,我见过IE6跑在I7 的电脑上,但是,我没见过android 4.0能装在一台 199的android手机上.这里,说一个之前的一个工作上的事情,有次项目主管跟我说,这个程序在android 2.1上跑起来有bug,让我看看,我一听,立刻打开android设备分布图,一看android 2.1 那么点份额还要兼容啊,那主管说,我的就是2.1! 好吧,经过各种折腾以后终于修复,顺便分享一下吧,那是一个java http访问的bug,2.3以前都有这个问题http://android-developers.blogspot.com/2011/09/androids-http-clients.html 看不到的自己想办法吧(也是因为这个bug,从此知道了android 官方blog...哎...) 这个版本设配问题就是一个 取舍问题,自己权衡吧.

  • 我的看法是大家没必要这个问题,因为这个问题在android 4.0得到了很好的解决...散花...然后,各种鸡蛋...好吧,我承认android 4.x 那么点可怜的分辨率不值得大家为了使用android4.x api 而放弃 2.x,不过,这个的确还真不是问题,android 4.x 的各种api 都有自android 1.6 以上的兼容包...说到底各种吐槽android的其实也就是些外行人...然后,行内人有些也跟着起哄,让不明真相的人听到想,虽然不知道是什么,那么android的风格,就是没风格...

###android的设计风格### 终于到正题了...android的设计风格,这会不讲故事了,直接进入主题...(本来还想继续吹吹,不过估计大家不喜欢看...)

  • 手机与平板的统一

很多人看到这个问题,高深莫测的一笑,'呵呵',然后,就没了...我就举这个事例,google io 大会的客户端(有不知道google io 大会的吗?),gmail,google+ ,新鲜汇,pocket(这个不是google的!),google 日历(日历的apk虽然只支持4.0以上,不过你的2.3没阉割过的话肯定能很好的运行!),play市场,好吧,目前为止除了google系的产品是完全按照这种设计风格做的以外,也就只有很少一部分会按照这种风格来做,典型的遗留问题,对于这点我不做评论.不过,对于没有遗留问题的新app开发为什么不这么设计了?

  • 只为90% 的机器设计

这里我用的是机器,而不是手机,我想表达的是,android已经有手机,平板,笔记本,电视盒子,汽车导航等各种设备,当然,大家更多考虑的是手机,至于平板都很少去考虑.很多时候,不要为了兼容老设备而放弃了对新特性设计的使用.不过,android 4 的风格,现在还没到占有90%的时候,大家还有学习的时间!等成熟以后,就是第一批吃螃蟹的人了!

  • 我的看法

现在就开始对android 4 设计风格进行实践吧,后边,我会补充对应的设计的兼容实现,当然,我只会各个link,谁叫我现在刚买不久的 599 android手机也是个android 4.0 的系统呢,我只为我用得爽...

##开始DIY OSC android客户端## 首先"神"手绘个线框图 这个是主页导航大概流程 在此输入图片描述

列表与内容之间的导航 在此输入图片描述

接着代码编写..... 原本打算...发文的同时,发布一下客户端,不过,虽然,吹得好像很厉害的样子,可惜我的水平实在一般,要做两个小时,写一个没有bug,而且还能让人看的东西...真不容易,哎...等几天吧...而且,还要把osc 原来的客户端的数据层分离出来,需要点时间....作为一名挖坑不填党,大家也不要期望啦

##平板运行的效果## 平板运行的效果

##手机运行的效果## 手机运行的效果

##后话## 本来以为两三天就可以搞定...结果发现,这完全不可能,因为要把activity fragment 化需要很大的耐心,和仔细, 后边,我写篇移植方法论吧,等合适的时候发布源码,不过最近是不可能的了...

© 著作权归作者所有

打杂程序猿

打杂程序猿

粉丝 133
博文 41
码字总数 51561
作品 3
广州
程序员
私信 提问
加载中

评论(35)

修福
你们咋加上的呀?
blu10ph
blu10ph
changpaner
changpaner
ActionBar只能在3.0以上使用吧?
老中医
老中医
LZ大神,求源码~~~
小小的夏
小小的夏

引用来自“李海珍”的评论

引用来自“猪星阿呆”的评论

引用来自“李海珍”的评论

哈哈,前几天我也想着写一个OSC的定制的客户端来着。不过我的方向是给女朋友看的。哈哈。

为什么是给女朋友看?女朋友也是做Android的?

呵呵,女朋友不是搞技术的,想要女朋友对自己多些了解,她一打开就可以看到我的动态啊,博客啊,等等。

这个可以有。
打杂程序猿
打杂程序猿 博主

引用来自“tinyms”的评论

iPad吗?

.....表示作为在职android 工程师不知道oc 为何物....你应该找ios 版的作者...
天界王者
天界王者
墙裂建议iPad版
天界王者
天界王者
iPad吗?
HILOLT
HILOLT

引用来自“庄与邻”的评论

引用来自“HILOLT”的评论

首先 , 我没有好好看楼主的文字 ,只是瞄一眼图片。
纵观LZ的手绘 ,应该要用fragment碎片和vieapager或fliper(可参照opera的客户端)来实现, 其实我们一直在做android pad的开发 ,市面上的android pad的性能不是很好 ,一些山寨的android pad就更不用说了 ,其性能比不上一般般的android 手机 。我们的界面实现都是activity嵌套fragment来实现 ,因为涉及到数据的及时保存 ,activity的跳转销毁回收,fragment可以很好的解决 ,同时也是界面看起来整齐 ,一般左边是菜单 ,右边做显示。(手机也许不适用 ,毕竟屏幕太小) 。 我们有的界面会有超过80个控件 ,Google是建议一个layout最好不要超过80个控件 ,考虑到控件的绘制和布局的嵌套 ,我们的界面几乎全部采用相对布局 , 一个layout里面的所有控件都是相对的 ,只有1-2曾的嵌套关系 。
其实说道风格 ,没啥好讨论的 ,经理喜欢啥风格 ,咱就设计啥样的风格呗 ,现在这个是采用的Windowsphone的风格 ,开起来也还行 ,个人没啥喜好 。

你们拿的是上一年的android pad的来开发的吧...现在(近半年)出的pad 都是android 4.1系统,双核 1gb内存的,9.7寸ips屏的,关键是只要998!! 我手头上的就是这样的平板,跑应用的瓶颈全部都在网络io上,性能杠杠的....对于,那些体验差的平板不做考虑,呵呵

998不见得吧 , 联想 ,华为 ,蓝魔 ,万利达,三星tab 等等pad我们都用到 ,一些山寨的牌子也用过 ,有3.0也有4.0的 ,4.0的居多 ,联想的还不错 ,但是价格也跟ipad差不多了 。
MrMign
MrMign
期待。。。
Holo osc android app RoadMap

算是前段时间的开了个坑,一直毫无计划的填着,趁着今天,半夜被蚊子咬醒的劲,就开始定下一个RoadMap 计划吧... 为了osc android app 更容易的开发,我凭着我的理解,开始肢解osc android app 的模...

打杂程序猿
2012/12/17
242
1
DIY osc android 客户端 之 方法论

又是一个不眠夜,今天8.30还要上班,反正睡不着,就开始填下这个大坑吧.... 一开始,把oschina 下载下来一看,就这点包,还以为,是个非常简单的客户端,然后打开某个包,在打开某个类,我错了....作者...

打杂程序猿
2012/12/03
732
2
Git@OSC 安卓客户端招募 3 ~ 5 名开发贡献者

Git@OSC 安卓客户端前期的需求开发已经告一段落,我们决定使用全新的社会化开发模式来让这个客户端项目继续发展。我们希望从社区中招募 3 ~ 5 名开发者来继续开发这个客户端。我们对这个客户...

oschina
2014/09/04
4.8K
94
请务必从官方市场下载 OSC 客户端!!!

今天有两个网友爆料客户端弹广告以及广告推送,包括 Android (详情)和 iPhone 两个客户端(详情)。 OSChina 郑重声明: OSChina 的三个客户端(Android、iPhone 和 WP7 版本)都是开源的,...

oschina
2012/12/18
3.9K
37
【OSC手机App技术解析】- Android完全退出程序

做过Android开发的人都知道,应用程序点击返回键 或者 代码显示调用了Activity.finish()方法都无法完全退出,通过任务管理工具可以看到他们还在进程中。 下面我将分享 OSChina.NET Android版...

迷途d书童
2012/06/27
10.6K
16

没有更多内容

加载失败,请刷新页面

加载更多

高速PCB设计软件allegro中与网络有关的约束规则设置

在allegro pcb的设计过程中,设计约束规则包括时序规则、间距规则、信号完整性规则以及物理规则等,本期主要详细讲解与物理、间距与电气约束中的线宽、线间距物理规则的设置。 一、线宽设置 ...

demyar
14分钟前
1
0
Linux 启动停止SpringBoot jar 程序部署Shell 脚本

#!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 APP_NAME=algorithm.jar #使用说明,用来提示输入参数 usage() { echo "Usage: sh 执行脚本.sh [start|stop|restart|status]...

草庐过客
16分钟前
2
0
mysql-connector-java驱动升级到8.0后数据库保存时间出现时差

1.问题:在一个新项目中用到了新版的mysql jdbc 驱动后,发现保存到数据库的时间出现了时差 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>......

ValSong
17分钟前
3
0
好程序员大数据教程Scala系列之隐式转换和隐式参数

5.1. 概念 隐式转换和隐式参数是Scala中两个非常强大的功能,利用隐式转换和隐式参数,你可以提供优雅的类库,对类库的使用者隐匿掉那些枯燥乏味的细节。 5.2. 作用 隐式的对类的方法进行增强...

好程序员官网
21分钟前
2
0
多线程必备

初次接触线程,可能有很多初学者搞不明白,始终云里雾里,那么本篇文章直接带大家介绍多线程必须知道的几个点 接下来没有多余,直接上干货 1. 进程和线程的区别是什么? 进程是执行着的应用程序,...

理性思考
24分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部