鹅厂实习| 周记(一)

我胡汉三又回来了!在结束了本科最后一门考试后,如愿来到鹅厂,赶在毕业正式入职前,先来实习感受下工作氛围。现在刚结束了实习的第一周,按照习惯,以下是本周的知识清单:

  • meta-data
  • Gradle文件
  • compile & implementation
  • jar & aar
  • 一点小感悟

1.meta-data(元数据)

a.作用:是一个键值对,用于帮助父组件存储附加数据

meta-data和strings的区别:

  • strings只能在应用内部被读取
  • meta-data是系统注册的信息,系统及外界都可以获取到meta-data配置的数据

b.位置:可包含在AndroidManifest中的<application><activity><activity-alias><provider><receiver><service>标签下,以上组件元素可包含任意数量的<meta-data>子元素

c.属性

<meta-data 
    android:name="string"           
    android:resource="resource specification"           
    android:value="string" />
  • android:name:键名,唯一标识
  • android:resource:资源ID,通过Bundle.getInt()获取其值
  • android:value:键值,类型和获取方法如图:

将资源ID指定为android:resourceandroid:value 的值时区别:

  • 将存储在@string/kangaroo资源中的分配给zoo名称:
<meta-data android:name = "zoo" android:value =  "@string/kangaroo" />   
  • 数字ID分配给zoo名称:
<meta-data android:name = "zoo" android:resource = "@string / kangaroo" />  

d.使用:meta-data中的数据存储于一个Bundle对象中,可通过PackageItemInfo.metaData字段来获取

下面通过一个例子理解下,假设配置清单如下:

<application
        ...
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data
                android:name="meta_act"
                android:resource="@string/app_name" />
        </activity>
        <meta-data
            android:name="meta_app"
            android:value="testValue" />
    </application>

对value、resource值的读取方法如下:

//获取value的方法,这里通过getString获取,结果为testValue
private String getMetaDataFromApp() {
    String value = "";
    try {
        ApplicationInfo appInfo = getPackageManager().getApplicationInfo(getPackageName(),PackageManager.GET_META_DATA);
        Bundle bundle = appInfo.metaData;
        value = bundle.getString("meta_app");
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    return value;
}
//获取resource的方法,通过getInt获取,结果为id值
private int getMetaDataIdFromAct() {
    int resId= 0;
    try {
        ActivityInfo activityInfo = getPackageManager().getActivityInfo(getComponentName(),PackageManager.GET_META_DATA);
        Bundle bundle = activityInfo.metaData;
        resId = bundle.getInt("meta_act");
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    return resId;
}

e.应用

  • 接入第三方库,比如使用百度地图需要进行用户信息配置:
<meta-data 
android:name="com.baidu.lbsapi.API_KEY" 
android:value="USER-KEY" />

2.Gradle文件

一个Android Studio项目中有三个Gradle相关文件:

  • Project的settings.gradle:指定可被Gradle识别的Module,方法是include
//添加:app和:common这两个module参与构建
include ':app',':common'
  • Project的build.gradle:整个Project的共有属性,包括配置版本、插件、依赖库等信息
  • Module的build.gradle:各个module私有的配置文件

更多Gradle知识后续会更新《Android Gradle权威指南》读书笔记


3.compile & implementation

在Android studio版本3.0以后,有关第三方库或module的依赖方式中,compile被弃用,而是由implementation替代。implementation相比于compile的好处有:

  • 隐藏对外不必要的接口:将该依赖隐藏在内部,而不对外部公开

一句话就是:compile可以依赖传递,而implementation不可以。比如当前项目结构如下,在LibraryA中使用implementation依赖LibraryC,那么App Moudle是无法访问到LibraryC提供的接口的,只能由LibraryA访问到。

  • 加快编译速度:比如改动LibraryC接口的相关代码,只需要单独编译LibraryA即可, 如果使用旧的compile,App Moudle部分也需要重新编译。

4.jar & aar

  • jar文件(Java Archive File):只包含class文件和清单文件,不包含资源文件
    • 特点:以zip文件格式为基础,不同的是,jar文件不仅用于压缩和发布,还用于部署和封装库、组件和插件程序,并可被像编译器和JVM直接使用
    • 优势:有zip没有的功能,如安全性、减少下载时间、传输平台扩展、包密封、包版本控制、可移植性
  • aar文件(Android Archive):包含class及res下的所有的资源文件
  • 打包方法

5.一点小感悟

或许是因为和鹅厂有过一些交集,来到这里竟感觉莫名的心安,这种微妙的心境用那句“我知道你会来,只是时间早晚”形容最合适不过了。

作为一只初来乍到的鲜鹅,没啥见识,觉得鹅厂里的一切都太赞了!很幸运在滨海大厦办公,这真的是最最最理想的工作地了,豪华又智能,每个细节都彰显一种美,连空气都是香甜的;还有超好吃的餐厅、超大气的体育馆,转角遇到AI技术,吃喝玩乐应有尽有;工位真的很大,机器设备都是全新的(刚来看到工位上放着好几个大箱子的时候我都惊呆了,万万没想到还要做这种体力活);以及日常福利真的不要太多(尤其赶上年底),摇身一变成壕鹅。

除了无敌的工作环境和资源,一起共事的小伙伴也棒呆,技术强就不说了,保养好到看不出年龄,每日一问:大佬你工作多久了?除了颜值高,性格也好,尤其组长简直是活宝;工作氛围也很好,大家总是学到废寝忘食,到处都是技术讨论的声音,忍不住哀嚎我就是个大菜鸡。

这几日为了快速熟悉业务,组长给我分了个BUG,可能因为项目体量不小了,可读的文档有限,看着大佬们忙前忙后的也不敢多打扰,就自己埋头嚼代码,最后导师都忍不住问我怎么都没问题,也服了自己这股傻劲,其实先问清楚业务逻辑再看代码会快很多。

当然也会有头疼的时候,比如资源太多、分布又杂经常手忙脚乱,比如写文档的编辑器不太好使,比如更加清楚自己的菜,所以为了能在鹅厂搬砖还要更努力才是呀!

最后,再一次吹爆我大滨海,每次都忍不住拿起手机拍,但仅仅拍到其万分之一的美,于是默默收起手机,心中慨叹,这种美大概适合亲自来体验吧!附上官方介绍:Hi,这里是腾讯全球新总部滨海大厦!

白天 和 黑夜

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,689评论 0 3
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,380评论 2 44
  • 请允许我借鉴前辈们的东西~~~~ 感激不尽~~~~~ 以下为Android 框架排行榜 么么哒~ Android...
    嗯_新阅读 1,988评论 3 32
  • 付出,付出。我和我妈一样的性情:爱付出,也爱念叨付出。显然这样最会遭人唾弃,好像向来所有的付出都该是默默的。但是我...
    好久不见aaa阅读 187评论 0 0
  • 对联能传天下意, 连句铺送地上需。 豪言壮语入韵律。 诗风词雨云絮飞。
    云逸1108阅读 114评论 0 1