工作第十三周:身体掏空,精神饱满

   2016-10-17 0
核心提示:一连 7 天班,晨兴理荒秽,带月荷键归,身体累的像条狗,脑子却转得飞快。心态转变以后,即使工作生活里有些不顺的事,也没那么发愁了,毕竟它们只是过客。新单词from scratch 从0开始braces 括弧吊带,背带;托架( brace的名词复数 );箍子;括弧;(儿童)牙箍s

一连 7 天班,晨兴理荒秽,带月荷键归,身体累的像条狗,脑子却转得飞快。

心态转变以后,即使工作生活里有些不顺的事,也没那么发愁了,毕竟它们只是过客。

新单词

  • from scratch 从0开始
  • braces 括弧
    吊带,背带;托架( brace的名词复数 );箍子;括弧;(儿童)牙箍
  • sophisticated 复杂的;精致的;富有经验的;深奥微妙的
    • Simplicity is the ultimate sophistication 至繁归于至简
  • occupy 占领;使用,住在…;使从事,使忙碌;任职
  • identical 同一的; 完全同样的,相同的; 恒等的; 同卵的
  • capitalization of the first character 大写首字母
  • redundantly 多余地
  • nested 嵌套地
  • modifier 修饰语
  • mutations 突变 very rare mutations
    • this class provides methods to manipulate the size of the array
  • capacity 容量;性能;才能;生产能力
    • Constructs a new instance of {@code ArrayList} with the specified initial capacity.
  • backed by 依靠,基于 ArrayList is backed by an array

这一周

1.向郭霖大神公众号投稿得了 11 元打赏,第一笔稿费哈哈。

2.在 廖雪峰 前辈博客上看到一篇文章,摘一段:

《软技能:代码之外的生存指南》:

  • 不要做宅男;
  • 和面试官成为好朋友后再去面试(结果你懂的);
    • (是的没错,熟人好办事,不过还是要有里子别人才给你面子)
  • 如何成为自由职业者;
  • 假装自己能成功;
    • (的确,首先要有成功者的姿态,自信)
  • 打造自身品牌:坚持写博客;
    • (劝劝自己:还是先把基础知识学好吧 )
  • 有效管理时间以提升效率;
  • 学会理财:要善于炒股炒房(炒股在中国可能不算理财算赌博);
    • (炒房 - -)
  • 不要刷爆信用卡(这个问题可能美国人比较严重);
    • (买房贷款一样有影响)
  • 少看电视多运动,争取练成肌肉男。
    • (不花钱办健身卡没动力啊 )

3.阅读如果没有真正找出作者想要传递的思想,那么和没读有什么区别。

技术上的收获

1.多种服务器接口地址环境配置思路

  • assets下写个json,把不同环境不同业务的域名写进去
  • 自定义一个环境选择View DebugEnvView
  • 读取 assets 中的文件并解析
  • 用户选择后进行相应配置

2.加载 base64 图片

了解到,图片加载库帮我们做了哪些工作呢?

  • 下载
  • 解压
  • 加载

http://stackoverflow.com/questions/37426711/converting-base64-into-bitmap-and-loading-into-recycler-view http://stackoverflow.com/questions/17506428/convert-base64-string-to-image-in-java http://stackoverflow.com/questions/30167205/base64-decode-for-image-jpegbase64-in-android

3. uri 类 :

对一个 url 进行操作,获取 scheme,host,authority, path, queryParameter 等

4.加快 gradle build 时间

https://medium.com/@cesarmcferreira/speeding-up-gradle-builds-619c442113cb#.q6b7onhsu

5.微信第三方接入时回调要求在包名路径下的.wxapi.WXCallBackxxx 固定写死这个文件才能回调。就是说如果你修改了ApplicationId没有修改PackageName是无法收到微信回调的。

6. Building Android Apps — 30 things that experience made me learn the hard way

7.module 不如打成 jar 包或者 aar 包,那样可以减少 build 时间

Don’t use more modules than you actually need. If that modules are not constantly modified, it’s important to have into consideration that the time needed to compile them from scratch (CI builds are a good example), or even to check if the previous individual module build is up-to-date, can be up to almost 4x greater than to simply load that dependency as a binary .jar/.aar.

8.vim 修改文件,解决冲突

  • 打开文件
vim app/src/main/res/values/strings.xml
  • 按 I 键进入 Intert 模式
  • 删掉冲突内容
  • 按 esc 退出编辑
  • shift + : 进入命令行模式
  • 输入 wq,保存并退出

若要继续 rebase

git rebase --continue

退出 rebase

git rebase --abort

9.onNewIntent

This is called for activities that set launchMode to “singleTop” in their package, or if a client used the {@link Intent#FLAG_ACTIVITY_SINGLE_TOP} flag when calling {@link #startActivity}. In either case, when the activity is re-launched while at the top of the activity stack instead of a new instance of the activity being started, onNewIntent() will be called on the existing instance with the Intent that was used to re-launch it.

An activity will always be paused before receiving a new intent, so you can count on {@link #onResume} being called after this method.

Note that {@link #getIntent} still returns the original Intent. You can use {@link #setIntent} to update it to this new Intent.

下面摘自

http://baurine.github.io/2015/12/26/android_onnewintent.html 有图

当 activity (假设为 A) 的 launchMode 为 singleTop 且 A 的实例已经在 task 栈顶,或者 launchMode 为 singleTask 且 A 的实例已在 task 栈里 (无论是栈顶还是栈中),再次启动 activity A 时,便不会调用 onCreate() 去产生新的实例,而是调用 onNewIntent() 并重用 task 栈里的 A 实例。

如果 A 在栈顶,那么调用顺序依次是 A.onPause() –> A.onNewIntent() –> A.onResume()。A 的 launchMode 可以是 singleTop 或者是 singlTask。android 开发者官网 上描述的是这种情况。

如果 A 不在栈顶,此时它处于 A.on Stop() 状态,当再次启动时,调用顺序依次是 [A.on Stop()] –> A.onNewIntent() –> A.onRestart() –> A.on Start() –> A.onResume()。A 的 launchMode 只能是 singleTask。

10.使用 EventBus 注册后,退出一定要记得 unRegister,否则一个消息会有多个订阅者接受,导致回调多次!!

@Override
protected void onDestroy() {
    super.onDestroy();
    if (EventBus.getDefault().isRegistered(this)) {
        EventBus.getDefault().unregister(this);
    }
}

11.Activity A 可能需要由 Activity B 根据情况关闭,有两种方式:

  • 维护一个 activity stack / list,A 添加进去,需要删除时遍历,删掉
  • 用 EventBus (好像是观察者模式) 在 A 中写一个 onEvent,B 中调用 EventBus.getDefault().post(new XXEvent());
  • 类似上面,写个回调

12.客户端明文保存密码有问题,存在密码泄露隐患

图片压缩网站 https://tinypng.com/

总结

来不及了!继续努力!

 
标签: Java EventBus
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • SDK热更之如何在SDK代码中自动插桩及如何生成补
    写在前面本文是SDKHotfix相关的SDK热更系列文章中的一篇,以下为项目及系列文章相关链接:SDKHotfix整体介绍:http://blog.bihe0832.com/sdk_hotfix_project.htmlSDKHotfix对应github地址:https://github.com/bihe0832/SDKHoxFix这篇文章主要介绍一下SDK热更
  • ASimpleCache
    ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。1、它可以缓存什么东西?普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 byte数据。2、它有什么特色?特色主要是
    02-05 Java开源
  • 原生App与javascript交互之JSBridge接口原理、
    前期调研调研对象:支付宝,微信,云之家调研文档:Android中JS与Java的极简交互库 SimpleJavaJsBridge设计需求阅读类型的业务功能页面需要由前端H5实现,需要做到服务端可控;页面界面更改减少重新发布新版本的频率;功能页面部分原型需求无法实现,需要原生
  • RxJava系列番外篇:一个RxJava解决复杂业务逻辑
    之前写过一系列RxJava1的文章,也承诺过会尽快有RxJava2的介绍。无奈实际项目中还未真正的使用RxJava2,不敢妄动笔墨。所以这次还是给大家分享一个使用RxJava1解决问题的案例,希望对大家在使用RxJava的时候有一点点启发。对RxJava还不了解的同学可以先去看看
  • 框架Robust原理解析(下)
    框架Robust原理解析(下)
    一、回顾框架原理本篇继续来看热修复框架Robust原理,在之前的一篇文章中已经详细讲解了:Robust框架原理,因为这个框架不是开源的,所以通过官方给出的原理介绍,咋们自己模拟了案例和框架逻辑的简单实践。最后在通过反编译美团app进行验证咋们的逻辑实现是
  • 使用Smalidea对无源码APK调试简介
    阅读:8最近正好也用了Smalidea,就ZZ的原贴做一些补充。可调试APP如果Android的系统属性ro.debuggable等于1(用getprop ro.debuggable验证),则所有APP都可调试。如果ro.debuggable等于0,某APP的AndroidManifest.xml中有android:debuggable=”true”,该APP
    01-06 JavaLinux
  • 年度盘点(四) | 2016 年十大 Java / Android 开发者必读好文
    年度盘点(四) | 2016 年十大 Java / Android
    2016 年已经过去,感谢大家支持开发者头条。 年度盘点第四篇: 2016 年十大 Java / Android 开发者必读好文 。 长按识别文章摘要下方二维码,即可进入文章评论页。0. 推荐几个自己写的 Java 后端相关的范例项目这里推荐几个自己写的范例项目,主要采用 SSM(S
  • 8个华丽而实用的Java图表类库
    8个华丽而实用的Java图表类库
    学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码: 589809992 我们一起学Java! 前段时间我们为大家分享过一些最常用的Java图表应用和Android图表应用,无论是在PC平台上还是移动平台上,图表和报
  • 第151期:一个RxJava解决复杂业务逻辑的案例
    第151期:一个RxJava解决复杂业务逻辑的案例
    第151期:一个RxJava解决复杂业务逻辑的案例深度讨论 基本特效:饿了么丝滑无缝过度搜索栏的实现 diycode 帖子优先,就给上个头条吧。Android开发 一个RxJava解决复杂业务逻辑的案例 本文给大家分享一个使用RxJava解决问题的案例,希望对大家在使用RxJava的时
  • Eclipse 集成ijkplayer demo
    Eclipse 集成ijkplayer demo
    接着上一篇在Mac上编译ijkplayer的.so,现在将这些文件夹拷贝到windows上。(在mac和winds上集成到eclipse上是一样的,只是我这mac上没有安装eclipse)。现在开始说集成到Eclipse的步骤:1 更改目录结构 以 ijkplayer-armv7a 文件夹为例,删除选中的这四个文件
    12-23 EclipseJava
点击排行