https://www.gravatar.com/avatar/7a0c24f697ea1587001c36d00039b60f?s=240&d=mp

谷歌欲将Chrome和Android合二为一

http://img1.gtimg.com/tech/pics/hv1/242/146/1954/127096322.jpg

腾讯科技讯 10月30日消息,据外电报道,消息人士周四透露,Alphabet旗下子公司谷歌(微博)正筹划把PC操作系统Chrome与移动操作系统Android进行合并。此举表明移动计算已越来越占据主导地位。

消息人士称,为把这两款操作系统合并到一起,谷歌的技术人员已付出了近两年的辛劳工作。这项工作在日前取得了进展。据悉,谷歌计划在2017年正式推出合并版操作系统,而且该公司会在明年对外展示早期版的新款操作系统。

Android目前是全球应用最广泛的操作系统,支持了超过10亿部智能手机,以及由众多厂商开发的其它设备。作为一款PC操作系统,Chrome主要被Chromebook等笔记本电脑和台式机所采用。市场调研公司IDC的统计数据显示,Chrome仍只是PC操作系统市场的小众产品,份额尚不足3%。

消息人士称,谷歌将推出的新版Android操作系统同样也将支持PC,让用户能够进入目前提供了超100万款应用的应用商店Google Play。谷歌希望让搜索、YouTube等盈利服务进入更多的设备。该公司同样还希望迎合独立开发者的胃口,让他们的应用在微幅调整后就能够适用于更多的设备。

消息人士称,在谷歌的两款操作系统合并之后,Chromebook将会进行更名,但目前尚未确定名称。不过谷歌打算继续保留移动和PC浏览器Chrome的名称。

2009年曾负责Chrome操作系统开发工作的谷歌首席执行官桑达尔·皮查伊(Sundar Pichai),上周在财报电话会议中向分析师表示,“作为一种计算模式,移动计算最终将会同如今我们所认为的台式计算交融在一起。”

作为谷歌在操作系统市场的主要竞争对手之一,微软此前已采取了类似的做法。微软Windows 10操作系统能够同时支持PC和智能手机,并准许一些应用在两种设备中都可以运行。不过与微软的做法完全不同,苹果在操作系统的问题上仍坚持分而治之的立场:iOS面向智能手机和平板电脑,OS X面向Mac。苹果首席执行官蒂姆·库克(Tim Cook)上月曾表示,把两款操作系统进行合并“只会削弱它们的功能,用户无法得到最佳的体验。”

就谷歌而言,Android地位的提升与Chrome的消亡,代表着这家公司的重大转变。谷歌创办于网络时代,这家公司最初的服务依旧还在。谷歌之所以推出Chrome,目的是为了给搜索引擎服务带来更多的流量。谷歌白手起家开发了移动操作系统Android。在经历了一番内部争论之后,谷歌决定同时兼顾两款操作系统。不过随着移动设备和应用的逐渐流行,Android取得了巨大的成功。

市场此前曾一直预计谷歌的两款操作系统将会进行合并。在2013年Android联合创始人安迪·鲁宾(Andy Rubin)转任机器人项目负责人之后,皮查伊曾同时负责Chrome和Android业务。去年,皮查伊任命Android技术副总裁洛克海默(Hiroshi Lockheimer)兼任Chrome业务负责人。

今年9月,谷歌推出一款搭载Android操作系统的办公笔记本电脑Pixel C。这也是谷歌Pixel产品线中首款放弃使用Chrome操作系统的产品。去年,谷歌还让一些Android应用能够在Chromebook上运行。

Chrome和Android均基于Linux开源代码。不过消息人士称,由于两款操作系统有着重大区别,因此把两款操作系统合并到一起的工作并不轻松。

笔记本电脑拥有键盘,且拥有比移动设备更大的显示屏,因此用户经常同时使用多个应用程序,并在这些应用程序中相互传输内容。虽然Android智能手机和平板电脑也能够运行多个应用,但却无法同时展示在显示屏中。这也让用户在应用间进行切换变得十分困难。 Chromebook用户目前并没有太多可选择的应用,因为Chromebook的用户数量太少,应用开发者一直不太愿意为Chromebook开发应用。

Airbnb技术经理亚历克斯·戴维斯(Alex Davis)表示,“目前我们对为Chrome OS开发应用的兴趣不大,因为Chrome OS的市场规模相对较小。”戴维斯认为,对谷歌而言,把两款操作系统进行合并可能是正确的选择,因为Android已经无处不在。 把Chrome融入到Android当中,能够让谷歌为自己的生产力应用Docs和Sheets等赢得更多的企业用户。因为同时兼顾着两款操作系统,目前这对谷歌而言还是一项挑战。(明轩)

[copy]Android开发必知Tip

原文地址:http://www.androiddesign.tips (推荐阅读原文)

单位转换工具(Unit calculator)

Device display guidelines

图标调整(Icon sizing)

Iconography design guidelines

导航栏调整(Action / navigation bar sizing)

Action bar design guidelines

导航栏样式(Navigation styles)

Google I/O 2013 talk on navigation patterns

九宫格图片制作工具(9-patch images)

Android quick 9-patch creator tool

设备尺寸查询(Device Dimensions)

ViewportSizes.com

资源的命名(Asset naming conventions)

For your and your teams’s sanity, stick to a naming convention when naming your assets, based on what they represent. Petr Nohejl suggests the following:

[转]别学东学西了,先建立自己的知识体系吧

我们每天都在接受微信公众号的文章轰炸,我们点赞、转发,甚至保存。然后呢,我们为了什么学习?

我们发现自己有好多东西要学,但是哪些对我们有价值呢?哪些投资回报率不高呢?我们选择的标准是什么?

我们好像懂得了很多东西,但是别人一问,我们却讲不出来··· ···

我们的职场核心竞争力真的有么?我们怎么建立起来?

身处的行业或者公司即使最大,也随时可能倒闭,如果组织靠不住,你是否具备了不依赖的能力?

这篇文章是我对自己这段时期的学习体会做的一个梳理,也试图来解答以上你可能也遇到的问题。

没有时间看文章的,直接看下面这张图,再去看结尾粗体字,然后点赞打赏就可以,么么哒ORZ:

第一步:从为什么开始

建立自己的知识体系,就像从一个四海为家的人到给自己建一栋安居的房子,你应该先问问自己为什么要这样做?构建自己的核心价值么?这句话在职业规划中老生常谈了,你有么?

(1)我为什么要去学习?

作为一个“功利”的成人学习者,我觉得知识能带给我价值,那价值体现又在哪里呢?体现在资源、人脉、金钱还有自信。特别是我这样一个从北漂转到三线小城的孩纸,我不学习,我就只能拿三线城市的平均工资··· ···拿到IPO出任CEO赢取白富美走上人生巅峰难道只能在早九晚五在格子间里靠运气么?

行动从为什么开始的“黄金圈法则” —————————-

(2)我该怎么学习?

**在工作中学习:**工作中积累处理工作任务,与人沟通,也可以学习同事之间的优秀的做事技巧和方式。我对办公室政治的敏感度为零,这样就可以专注于工作的处理,避免人事间的消耗。推荐阅读《曾国藩的正面和侧面》。

**在工作外学习:**利用早上和晚上的时间来学习,这个时间段没有过多干扰,大块的时间可以用来专注做一件事。其他零碎的时间可以用做适合零碎看的内容:英语,新闻等。

(3)我要学什么?

通过下图的金字塔,我会发现我自己现在每天正在学习和坚持的是在哪个区间里面:

RecyclerView 基础教程

RecyclerView是从support-v7库开始引入的,用于取代 ListView 。
相比于 ListView, RecyclerView更加灵活、高效和无限的可扩展性。

环境准备

  • Windows/Mac
  • Android Studio 1.4
  • Android SDK
  • 科学上网(开发人员必备)

首先,我们需要引入依赖库:

compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:recyclerview-v7:22.2.1'

简单的 ListView 列表

我们首先来实现一个简单的 listview 列表效果:

http://ww3.sinaimg.cn/mw690/62b0904dgw1ev6v1syxboj20u01hc78j.jpg

因为此处用到了 design 库的新控件CardView,所以我们还需要加入如下依赖库:

compile 'com.android.support:cardview-v7:22.2.1'

首先创建一个 RecyclerView 的新项目,修改我们的 activity_main.xml 代码如下:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    android:id="@+id/drawer_layout"
    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:fitsSystemWindows="true">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/rc_content"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">
        </android.support.v7.widget.RecyclerView>

</FrameLayout>

RecyclerView.Adapter

RecyclerView 的适配器实现与以往的 ListView 稍有不同,需要继承它自身特有的 RecyclerView.Adapter ,并且RecyclerView 必须通过自带的 RecyclerView.ViewHolder 来构建 Item。

android material design学习(二)

阅读本文前,推荐先阅读

FloatingActionButton

简介

浮动按钮 FloatingActionButton 是材料设计非常重要的一个控件,继承于 ImageView 。它可以显著的提升对行为的强调。目前市面上已经有很多app,web都实现了这个设计。

先看看浮动按钮是什么样的。 http://ww3.sinaimg.cn/mw690/62b0904dgw1ev27e4702yj20qq0fzq3e.jpg

实现

确保已经加入了依赖库:

compile 'com.android.support:design:22.2.1'

FloatingActionButton一般需要结合android.support.design.widget.CoordinatorLayout来使用,主要是为了实现一些动效,比如动态的隐藏显示,新布局显示的时候自动位移等等。

直接看布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:id="@+id/drawer_layout"
    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:fitsSystemWindows="true">

    <android.support.design.widget.CoordinatorLayout
        android:id="@+id/snackbarPosition"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerHorizontal="true">

        <android.support.design.widget.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                android:layout_gravity="center"
                app:layout_collapseMode="parallax"
                app:layout_scrollFlags="scroll|enterAlways"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:layout_gravity="center"
                    android:textColor="@android:color/white"
                    android:textSize="20sp"
                    android:text="标题栏"/>

            </android.support.v7.widget.Toolbar>

        </android.support.design.widget.AppBarLayout>

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end|bottom"
            android:layout_margin="16dp"
            android:elevation="4dp"
            app:fabSize="normal"
            app:backgroundTint="#673AB7"
            android:src="@drawable/ic_add_white_24dp"/>

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end|bottom"
            android:layout_marginRight="80dp"
            android:layout_marginBottom="16dp"
            android:elevation="10dp"
            android:background="@drawable/ic_android_purple_700_18dp"
            app:fabSize="normal"
            app:backgroundTint="#673AB7"
            app:borderWidth="0dp"/>

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end|bottom"
            android:layout_marginBottom="20dp"
            android:layout_marginRight="150dp"
            android:elevation="4dp"
            app:fabSize="mini"
            app:backgroundTint="#673AB7"
            android:src="@drawable/ic_add_white_24dp"/>

    </android.support.design.widget.CoordinatorLayout>

</LinearLayout>

我这里放了三个FloatingActionButton,显示效果就如上图所示。当然你也可以用一个父布局把三个FloatingActionButton包裹起来,实现你需要的布局。