郭霖〈第一行代码 郭霖 pdf〉中第三章的百分比布局问题

郭霖《第一行代码 Android 第2版》PDF下载
郭霖《第一行代码 Android 第2版》PDF下载
一、书籍简介
《第一行代码 Android 第2版》系统全面、循序渐进地介绍了Android软件开发的知识、经验和技巧。
《第一行代码 Android 第2版》基于Android 7.0对第1版进行了全面更新,将所有知识点都在新的Android系统上进行重新适配,使用全新的Android Studio开发工具代替之前的Eclipse,并添加了对Material Design、运行时权限、Gradle、RecyclerView、百分比布局、OkHttp、Lambda表达式等全新知识点的详细讲解。
《第一行代码 Android 第2版》内容通俗易懂,由浅入深,既适合Android初学者的入门,也适合Android开发者的进阶。
二、书籍信息
作者:郭霖
出版社: 人民邮电出版社
出版时间:
字数:856000
三、书籍目录
第1章 开始启程——你的第一行Android代码 1
1.1 了解全貌——Android王国简介 2
1.1.1 Android系统架构 2
1.1.2 Android已发布的版本 3
1.1.3 Android应用开发特色 4
1.2 手把手带你搭建开发环境 5
1.2.1 准备所需要的工具 5
1.2.2 搭建开发环境 5
1.3 创建你的第一个Android项目 9
1.3.1 创建HelloWorld项目 9
1.3.2 启动模拟器 12
1.3.3 运行HelloWorld 15
1.3.4 分析你的第一个Android程序 16
1.3.5 详解项目中的资源 22
1.3.6 详解build.gradle文件 23
1.4 前行必备——掌握日志工具的使用 26
1.4.1 使用Android的日志工具Log 26
1.4.2 为什么使用Log而不使用System.out 27
1.5 小结与点评 29
第2章 先从看得到的入手——探究活动 30
2.1 活动是什么 30
2.2 活动的基本用法 30
2.2.1 手动创建活动 31
2.2.2 创建和加载布局 32
2.2.3 在AndroidManifest文件中注册 35
2.2.4 在活动中使用Toast 37
2.2.5 在活动中使用Menu 38
2.2.6 销毁一个活动 40
2.3 使用Intent在活动之间穿梭 41
2.3.1 使用显式Intent 41
2.3.2 使用隐式Intent 44
2.3.3 更多隐式Intent的用法 46
2.3.4 向下一个活动传递数据 50
2.3.5 返回数据给上一个活动 51
2.4 活动的生命周期 53
2.4.1 返回栈 53
2.4.2 活动状态 54
2.4.3 活动的生存期 55
2.4.4 体验活动的生命周期 56
2.4.5 活动被回收了怎么办 62
2.5 活动的启动模式 63
2.5.1 standard 64
2.5.2 singleTop 65
2.5.3 singleTask 67
2.5.4 singleInstance 68
2.6 活动的最佳实践 71
2.6.1 知晓当前是在哪一个活动 71
2.6.2 随时随地退出程序 72
2.6.3 启动活动的最佳写法 74
2.7 小结与点评 75
第3章 软件也要拼脸蛋——UI开发的点点滴滴 76
3.1 如何编写程序界面 76
3.2 常用控件的使用方法 77
3.2.1 TextView 77
3.2.2 Button 80
3.2.3 EditText 82
3.2.4 ImageView 86
3.2.5 ProgressBar 88
3.2.6 AlertDialog 91
3.2.7 ProgressDialog 93
3.3 详解4种基本布局 94
3.3.1 线性布局 94
3.3.2 相对布局 100
3.3.3 帧布局 103
3.3.4 百分比布局 105
3.4 系统控件不够用?创建自定义控件 108
3.4.1 引入布局 109
3.4.2 创建自定义控件 111
3.5 最常用和最难用的控件——ListView 113
3.5.1 ListView的简单用法 114
3.5.2 定制ListView的界面 115
3.5.3 提升ListView的运行效率 119
3.5.4 ListView的点击事件 120
3.6 更强大的滚动控件——RecyclerView 122
3.6.1 RecyclerView的基本用法 122
3.6.2 实现横向滚动和瀑布流布局 125
3.6.3 RecyclerView的点击事件 130
3.7 编写界面的最佳实践 132
3.7.1 制作Nine-Patch图片 132
3.7.2 编写精美的聊天界面 135
3.8 小结与点评 141
第4章 手机平板要兼顾——探究碎片 142
4.1 碎片是什么 142
4.2 碎片的使用方式 144
4.2.1 碎片的简单用法 144
4.2.2 动态添加碎片 147
4.2.3 在碎片中模拟返回栈 150
4.2.4 碎片和活动之间进行通信 151
4.3 碎片的生命周期 151
4.3.1 碎片的状态和回调 151
4.3.2 体验碎片的生命周期 153
4.4 动态加载布局的技巧 156
4.4.1 使用限定符 156
4.4.2 使用最小宽度限定符 159
4.5 碎片的最佳实践——一个简易版的新闻应用 160
4.6 小结与点评 169
第5章 全局大喇叭——详解广播机制 170
5.1 广播机制简介 170
5.2 接收系统广播 171
5.2.1 动态注册监听网络变化 171
5.2.2 静态注册实现开机启动 174
5.3 发送自定义广播 177
5.3.1 发送标准广播 177
5.3.2 发送有序广播 179
5.4 使用本地广播 183
5.5 广播的最佳实践——实现强制下线功能 185
5.6 Git时间——初识版本控制工具 192
5.6.1 安装Git 192
5.6.2 创建代码仓库 193
5.6.3 提交本地代码 195
5.7 小结与点评 195
第6章 数据存储全方案——详解持久化技术 196
6.1 持久化技术简介 196
6.2 文件存储 197
6.2.1 将数据存储到文件中 197
6.2.2 从文件中读取数据 201
6.3 SharedPreferences存储 203
6.3.1 将数据存储到SharedPreferences中 203
6.3.2 从SharedPreferences中读取数据 206
6.3.3 实现记住密码功能 208
6.4 SQLite数据库存储 211
6.4.1 创建数据库 211
6.4.2 升级数据库 216
6.4.3 添加数据 219
6.4.4 更新数据 222
6.4.5 删除数据 224
6.4.6 查询数据 225
6.4.7 使用SQL操作数据库 228
6.5 使用LitePal操作数据库 229
6.5.1 LitePal简介 229
6.5.2 配置LitePal 230
6.5.3 创建和升级数据库 231
6.5.4 使用LitePal添加数据 236
6.5.5 使用LitePal更新数据 237
6.5.6 使用LitePal删除数据 240
6.5.7 使用LitePal查询数据 241
6.6 小结与点评 243
第7章 跨程序共享数据——探究内容提供器 244
7.1 内容提供器简介 244
7.2 运行时权限 245
7.2.1 Android权限机制详解 245
7.2.2 在程序运行时申请权限 249
7.3 访问其他程序中的数据 254
7.3.1 ContentResolver的基本用法 254
7.3.2 读取系统联系人 256
7.4 创建自己的内容提供器 260
7.4.1 创建内容提供器的步骤 261
7.4.2 实现跨程序数据共享 265
7.5 Git时间——版本控制工具进阶 275
7.5.1 忽略文件 275
7.5.2 查看修改内容 276
7.5.3 撤销未提交的修改 278
7.5.4 查看提交记录 279
7.6 小结与点评 280
第8章 丰富你的程序——运用手机多媒体 281
8.1 将程序运行到手机上 281
8.2 使用通知 283
8.2.1 通知的基本用法 283
8.2.2 通知的进阶技巧 289
8.2.3 通知的高级功能 291
8.3 调用摄像头和相册 293
8.3.1 调用摄像头拍照 294
8.3.2 从相册中选择照片 298
8.4 播放多媒体文件 303
8.4.1 播放音频 303
8.4.2 播放视频 307
8.5 小结与点评 311
第9章 看看精彩的世界——使用网络技术 312
9.1 WebView的用法 312
9.2 使用HTTP协议访问网络 314
9.2.1 使用HttpURLConnection 315
9.2.2 使用OkHttp 319
9.3 解析XML格式数据 321
9.3.1 Pull解析方式 324
9.3.2 SAX解析方式 326
9.4 解析JSON格式数据 329
9.4.1 使用JSONObject 330
9.4.2 使用GSON 331
9.5 网络编程的最佳实践 334
9.6 小结与点评 338
第10章 后台默默的劳动者——探究服务 339
10.1 服务是什么 339
10.2 Android多线程编程 340
10.2.1 线程的基本用法 340
10.2.2 在子线程中更新UI 341
10.2.3 解析异步消息处理机制 345
10.2.4 使用AsyncTask 347
10.3 服务的基本用法 349
10.3.1 定义一个服务 349
10.3.2 启动和停止服务 352
10.3.3 活动和服务进行通信 355
10.4 服务的生命周期 359
10.5 服务的更多技巧 359
10.5.1 使用前台服务 359
10.5.2 使用IntentService 361
10.6 服务的最佳实践——完整版的下载示例 365
10.7 小结与点评 378
第11章 Android特色开发——基于位置的服务 379
11.1 基于位置的服务简介 379
11.2 申请API Key 380
11.3 使用百度定位 384
11.3.1 准备LBS SDK 384
11.3.2 确定自己位置的经纬度 386
11.3.3 选择定位模式 391
11.3.4 看得懂的位置信息 393
11.4 使用百度地图 395
11.4.1 让地图显示出来 395
11.4.2 移动到我的位置 397
11.4.3 让“我”显示在地图上 400
11.5 Git时间——版本控制工具的高级用法 402
11.5.1 分支的用法 403
11.5.2 与远程版本库协作 404
11.6 小结与点评 406
第12章 最佳的UI体验——MaterialDesign实战 407
12.1 什么是Material Design 407
12.2 Toolbar 408
12.3 滑动菜单 415
12.3.1 DrawerLayout 415
12.3.2 NavigationView 418
12.4 悬浮按钮和可交互提示 423
12.4.1 FloatingActionButton 424
12.4.2 Snackbar 427
12.4.3 CoordinatorLayout 428
12.5 卡片式布局 430
12.5.1 CardView 431
12.5.2 AppBarLayout 437
12.6 下拉刷新 440
12.7 可折叠式标题栏 443
12.7.1 CollapsingToolbarLayout 443
12.7.2 充分利用系统状态栏空间 453
12.8 小结与点评 456
第13章 继续进阶——你还应该掌握的高级技巧 457
13.1 全局获取Context的技巧 457
13.2 使用Intent传递对象 461
13.2.1 Serializable方式 461
13.2.2 Parcelable方式 463
13.3 定制自己的日志工具 464
13.4 调试Android程序 466
13.5 创建定时任务 469
13.5.1 Alarm机制 469
13.5.2 Doze模式 471
13.6 多窗口模式编程 472
13.6.1 进入多窗口模式 473
13.6.2 多窗口模式下的生命周期 475
13.6.3 禁用多窗口模式 479
13.7 Lambda表达式 481
13.8 总结 485
第14章 进入实战——开发酷欧天气 486
14.1 功能需求及技术可行性分析 486
14.2 Git时间——将代码托管到GitHub上 489
14.3 创建数据库和表 494
14.4 遍历全国省市县数据 499
14.5 显示天气信息 509
14.5.1 定义GSON实体类 509
14.5.2 编写天气界面 514
14.5.3 将天气显示到界面上 520
14.5.4 获取必应每日一图 526
14.6 手动更新天气和切换城市 532
14.6.1 手动更新天气 532
14.6.2 切换城市 535
14.7 后台自动更新天气 540
14.8 修改图标和名称 542
14.9 你还可以做的事情 543
第15章 最后一步——将应用发布到360应用商店 545
15.1 生成正式签名的APK文件 545
15.1.1 使用Android Studio生成 546
15.1.2 使用Gradle生成 548
15.1.3 生成多渠道APK文件 551
15.2 申请360开发者账号 554
15.3 发布应用程序 556
15.4 嵌入广告进行盈利 560
15.4.1 注册腾讯广告联盟账号 560
15.4.2 新建媒体和广告位 562
15.4.3 接入广告SDK 564
15.4.4 重新发布应用程序 569
15.5 结束语 570
下载地址:资源名称:第一行代码 Android 第2版资源大小:53MB目录书签:有更新日期:作者信息:郭霖
&您阅读这篇文章共花了:&
资源分享:欢迎在本文下方留言您需要的资料,我们酌情更新。 &&&&
本文地址:
版权声明:若无注明,本文皆为“IT工程师”原创,转载请保留文章出处。安卓小白求助,使用PercentFrameLayout卡死。我是跟着《第一行代码》敲的,可是这个百分比布局每次写都卡死【androidstudio吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:9,802贴子:
安卓小白求助,使用PercentFrameLayout卡死。收藏
安卓小白求助,使用PercentFrameLayout卡死。我是跟着《第一行代码》敲的,可是这个百分比布局每次写都卡死,按照上面所说降到256也不行,该咋整?
安卓开发技术新,市场占有率大!慕课网专业讲师全力打造Android入门到精通课程!系统化学习,精心服务,结合真实开发案例,提升学习效果,带你快速入行!直达名企!
登录百度帐号推荐应用主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
CSDN &《程序员》研发主编,投稿&纠错等事宜请致邮
你只管努力,剩下的交给时光!
如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。个人网站:www.xttblog.com。个人QQ群:、
个人大数据技术博客:http://www.iteblog.com
知言是CSDN知识库特邀编辑的一类采访栏目,主要是听听特邀编辑讲讲技术那些事。
在最近几年得到了快速发展,2015年Google推出了Android 6.0系统,2016年又推出了Android 7.0系统。紧跟技术更新步伐,郭霖推出了他的《第一行代码——Android 第2版》,该版本里面加入了很多很新的知识。新增内容包括有Android Studio、Gradle、Material Design、运行时权限、多窗口模式、RecyclerView、百分比布局、Lambda表达式、OkHttp、Doze模式等等,几乎囊括了Google近几年推出的所有热点技术。除此之外,还加入了几个比较完整的项目,不仅单个知识点的内容更加丰富,还加上了对各个知识点的综合运用。与此同时,为了帮助大家更加系统全面地学习Android知识,CSDN特创建,集中挑选优质内容(文章、图书、视频)呈现给大家。郭霖,Android开发工程师,同时也是CSDN上的知名博主,《第一行代码》以及LitePal开源框架的作者。目前就职于蜗牛游戏,一直从事着Android开发工作。博客地址:[http://blog.csdn.net/sinyu890807/](http://blog.csdn.net/sinyu890807/)
CSDN知识库:可以跟大家分享一下你的技术成长之路吗?郭霖:无论是谁,技术的成长都是靠不断学习慢慢积累来的,但不断学习是一个长期过程。人都是有惰性的,很多人白天在公司里累了一整天,晚上回到家就想好好休息休息,这也是人之常情。因此,如果你想比别人付出更多的努力,可能就需要一些额外的压力来推你一把,而我当时选择的这个额外的压力就是写博客。我在2013年刚开始写博客的时候,更新的频率还是很高,那个时候每周都要写一篇博客,每天晚上回到家之后就感觉还有很多忙碌的工作要做。而坚持写博客对我的技术成长起到了极大的正面作用,因为很多时候我并不是已经会了这个技术,然后写博客分享出来,而是我为了写博客分享出来,而专门去学习研究这个技术,这样每写一篇博客我自己也能成长很多,坚持了几年下来,技术也就有了很大的提升吧。CSDN知识库:作为一名资深的Android开发者,能否分享一下Android程序员入门到精通可能遇到的瓶颈及挑战。郭霖:精通这个我不敢说,因为我自己也没能达到精通Android的水平。不过Android和任何其他的技术一样,由浅入深都是越来越难的。而且刚入门的时候一般都有套路可寻,因为知识体系架构就是那些东西,但是当入了门之后想继续进阶,这就相当于打开了一扇新大门,很多人直接就迷茫了,不知道该如何进一步提升。其实不管是Android也好,其他技术也好,好的技术都是博大精深的,我觉得从来没有一个严格的标准能够定义什么样的知识属于进阶。很多人觉得会自定义View就是进阶,确实,自定义View是属于进阶知识,但这也只是进阶当中的一个UI方向而已。不同的项目侧重的知识点也不一样,比如IM软件就需要即时通讯技术、视频软件就需要视频编解码技术、游戏就需要引擎技术。即使是同一个项目,每个人负责的工作方向也会不一样,有些人负责架构搭建,有些人负责网络通信,有些人负责UI实现。因此,对于一些处于迷茫中的朋友,我给你们的建议就是,不必盲目去寻求到底该如何去进阶,其实只要你学会了之前所不会的东西,只要今天的你强过了昨天的你,那你就一直是在进阶的路上了。CSDN知识库:已经有了《第一行代码——Android》,为什么还要写《第一行代码——Android 第2版》呢?两本书有什么区别?郭霖:其实《第一行代码》对于我来说一直有些小小的遗憾,因为我在开始写这本书的时候,Android最新的系统还是4.3,主流的开发工具还是Eclipse,结果等这本书写完的时候,Android最新的系统已经是5.0了,主流的开发工具也变成了Android Studio。《第一行代码》在刚出版的时候内容就已经稍稍过时了,因此我一直计划着想在合适的时候推出《第一行代码 第2版》。恰巧这两年Android的发展极为迅速,去年推出了6.0系统,今年又推出了7.0系统,我认为现在可以说是非常恰当的时机来推出第2版,于是在今年年初的时候开始动笔更新,终于赶在年底之前成功出版了。两本书之间最大的区别其实也就是Android 7.0和Android 4.x之间的区别,第2版中将这Android这些年引入的各种新技术进行了非常详尽的讲解,包括Android 5.0中引入的Material Design、Android 6.0中引入的运行时权限、Android 7.0中引入的多窗口模式等。另外,开发工具上的改变也是新书中的一大特色,第2版使用了最新的Android Studio 2.2来作为开发工具,相信会对很多不知该如何从Eclipse转向Android Studio的开发者们起到很大的帮助作用。CSDN知识库:第2版能为开发者解决哪些问题?阅读本书的程序员是否需要有一定的基础技能要求?郭霖:其实Android每升级一次系统,改动点都非常繁多,很多开发者可能并不知道新系统中到底增加或修改了哪些东西,因此在项目的适配方面也做得马马虎虎。而新版《第一行代码》中的所有例子都是兼容到Android 7.0系统的,并且新书也是非常详尽地介绍了5.0、6.0、7.0系统中的各种新特性,相信还是可以帮助开发者们解决不少项目在新系统适配方面的问题。另外,《第一行代码 第2版》的主要知识体系仍然是基于《第一行代码》的。因此,这是一本对于初学者非常友好的书,阅读本书并不需要有任何的Android基础,但是必须要有一定的Java基础才行。CSDN知识库:本书是基于Android 7.0编写的,分享一下你对7.0版本使用感受?在写作过程中遇到过哪些困难。郭霖:本书虽然声称是基于Android 7.0编写的,但其中的内容并不仅仅是只有Android 7.0而已,而是集合了5.0、6.0、7.0中的综合知识。Android 5.0系统的改变非常巨大,除了底层虚拟机的完全替换之外,还衍生出了手表、汽车、电视等子系统。不过在我看来,5.0系统最大的改变就是Material Design了,因此新书中也是花了非常大的篇幅来详细讲解Material Design。Android 6.0系统对于用户隐私的保护越来越重视,最主要的一个变化就是加入了运行时权限功能,那么新书中对于这种重点功能的讲解当然也是绝对不会放过的。Android 7.0系统中引入了多窗口模式功能,可以允许用户同时打开两个应用程序来分屏进行操作,新书中对于这项炫酷功能也是进行了详细的讲解。其实我用Android手机已经从1.5系统用到7.0系统了,我确实是感觉Android系统一直都在越来越好,尤其是5.0系统的时候有了一次突飞猛进。现在最新的7.0系统变得更加人性化,我也希望未来的Android系统可以更加出色吧。其实我在写《第一行代码 第2版》的时候,确实是遇到了不少困难。这本书目标是要兼容到7.0系统,但我开始写这本书的时候,7.0系统还没发布。可是我也不能等到7.0系统正式发布了以后再开始动笔,那就太迟了。因此,这本书一开始完全都是基于6.0系统来写的,然后等7.0系统发布了之后我又对全书进行了一次大规模的修订,将很多知识点进行增加和替换等等,返工量还是挺大的。不过这也是为了成为国内第一本基于Android 7.0的技术书所要付出的代价吧。CSDN知识库:在实际Android的应用开发中,你是如何提高应用程序性能的?郭霖:提高应用性能的手段实在是太多了,我觉得并没有一个什么固定的模式来提升。其实几乎所有的应用都有不少的性能提升空间,少执行一次循环可能都是一次不小的提升。另外优化程序的各种算法也可以为应用带来不错的性能提升,就拿一个最简单的排序算法举例,快速排序和冒泡排序的效率绝对不是在一个档次上的。我之前在博客上写过一个Android最佳性能实践系列的文章,感兴趣的朋友可以去读一读这个系列,了解更多提升应用性能的技巧。文章地址是:CSDN知识库:分享一下你最近使用的开源框架,它们都解决了哪些方面的问题。郭霖:其实我个人使用得开源框架非常少,不是因为我不信任开源框架的代码,或者是我能写出比开源框架更优秀的代码,而是因为我喜欢对代码有更强的把控力。使用框架虽然使开发变得更加简单,但是我觉得可能并不利于程序员真正理解底层的技术以及提升自身的能力,框架中出现了什么问题也不知道该怎么解决。就拿Glide举例,使用它来加载图片实在是太简单了,只需要一行代码就能搞定,但是Glide在背后帮我们执行了上千行代码的逻辑。开发是变得简单了,可是同时也变得傻瓜化了,这到底是一件好事还是坏事我也不知道,但我自己在选择使用框架的时候都会尽量尝试将它的源码也读懂,这样我觉得对自身能力的提升帮助更大。目前我使用得最多的开源框架大概就是OkHttp、Glide、以及我自己写的LitePal了,分别覆盖了网络、图片、数据库等领域,已经满足我平时开发工作的大多数场景了。当然我也有用过许多小型的开源框架,如CircleImageView、PhotoView等等。CSDN知识库:除了Android开发,你平时还关注哪些技术?郭霖:我平时还会时常关注一些服务器开发的技术。因为我一开始是做Java服务器开发的,当时在学校学习的时候目标就是做全栈开发工程师,因此,前端、、数据库之类的技术当时都有学习。虽说现在是做Android开发,但之前学过的那些知识也并没有都忘掉,偶尔需要开发一些简单的服务器功能的时候我还是可以做的。比如说《第一行代码》的第14章中会带着大家一起开发一个天气预报程序,但由于之前第1版中使用的第三方天气预报接口后期失效了,导致很多人这一章都无法正常学习。而第2版为了避免再次出现这个问题,我就自己开发了一套服务器接口来给读者们使用,以此保证书中的接口都是长期有效的。我觉得任何一门技术都不能指望一辈子就靠它吃饭,每个程序员都可以适当多去了解一些额外的技术,说不定哪天就可以给你带来意外的帮助。CSDN知识库:接下来是否还会有其它写作著书计划?郭霖:暂时还没有,因为写一本书真的实在是太辛苦了。其实当时《第一行代码》出版之后就有不少出版社联系到我,想让我再写一本进阶的书,不过都被我拒绝掉了。因为我感觉一本书的工程实在是太浩大了,每次我翻一翻《第一行代码》那五百多页的内容,我都仍然不敢相信这些竟然是我一字字地敲出来的。之所以这次会写《第一行代码 第2版》,是因为它并不算是一个全新的著作,而是基于第1版的主体知识架构进行的升级,但即使是这样,我也觉得已经非常辛苦了,总共花费了近九个月的时间才完成。因此,短期内我想先休息休息,腾出更多的时间来钻研钻研技术、写写博客。当然,技术这个东西发展得非常迅速,尤其是现在和的呼声越来越高,等这些未来的技术变得越来越普及,逐渐影响到我们生活的时候,我可能会考虑开始写下一部著作吧。CSDN知识库:工作中,你有哪些技术提升方法?郭霖:其实我每天也在不断学习新的知识。我所学的东西涉及的面并不广,但是我一般会尽可能研究得深入一些。通常我都会尽量去阅读英文原文资料,包括Android官方文档、StackOverflow等,这个时候Google就是我最好的帮手。然后我还会在GitHub上挑一些感兴趣的开源项目来进行研究,其实我用过的开源项目真的很少很少,但是一旦我开始研究它,那就不会仅仅停留在使用的层面上,而是会去研究它的源码,了解它具体是如何实现的。其实多看看一些开源项目的代码,对于自己的编程思路以及编程能力都是有挺大提升的,这也是我现在提升自己的其中一种方式吧。更多内容请关注CSDN知识库。该产品汇集了领域专家们精心绘制的各重点技术领域的知识图谱,及由特邀编辑(领域专家)从海量数据中层层筛选出的精华内容和资源(学习视频、实践Demo、图书)。知识图谱可以帮助开发者全局把控该技术领域,而精选内容更能让开发者从技术细节加深了解该领域的每个核心技术点。扫描以下二维码,获取更多CSDN知识库内容。快来领取你的个人知识库=&&

我要回帖

更多关于 第一行代码郭霖博客 的文章

 

随机推荐