到今天,这本书的第二版,我也是都读完了,收获很多,虽然都是很基础的东西
(第12-15章)
1.百度地图(http://lbsyun.baidu.com/)
2.MaterialDesign(google优化UI,推出的一门设计语言)
3.讲了一些高级技巧:
+----全局获取Context的技巧----+
Context在Android实际开发中使用非常广泛,有时候脱离了activity,service,我们还需要context,我们就觉得不太容易了,我们可以定制一个application,让其继承Application,具体代码如下:
public class MyApplication extends Application{
private static Context context;
@Override
public void onCreat(){
context=getApplicationContext();
}
public static Context getContext(){
return context;
}
}
记得在配置文件指定application
+----使用Intent传递对象----+
*Serializable
*Parcelable
利用Intent携带参数的方式,传递对象,在“接收方”
getIntent().getSerialiableExtra("xxx");
getIntent().getParcelableExtra("xxx");
其中“xxx”,为Intent携带对象时给的标志信息。方便取值时的判定等。
+----调试Android程序,创建定时任务,多窗口编程,Lambda表达式----+
说到这个调试,androidstudio明显比eclipse简便和快捷。
创建定时任务,Java人家有Timer,而我们Android有Alarm机制。
Timer的短板是,它并不适合于那些长期在后台运行的定时任务。因为Android的休眠策略,
会让手机的cpu进休眠状态,这可能导致Timer无法正常执行,而Alarm则具有唤醒cpu的功能。
(Doze模式有必要了解一下,如果你需要做一个定时任务的话,反正Google都有应对之道)
多窗口模式,我感觉就是为给那些需要多窗口任务的用户打造的,提高效率。你的应用程序可以
选择支持这个特性,也可以选择不支持,全看实际需求或者您自己了。
Lambda表达式是Java8推出的新特性,我感觉就是追求代码简洁性而生的,你可选可不选。使用
的话需要加一些配置,具体百度把。具体代码示例:
new Thread(new Runnable(){
@Override
public void run(){
//具体业务逻辑
}
}).start();
使用Lambda表达式:
new Thread(() ->{
//具体业务逻辑
}).start();
就是说只有一个待实现方法的接口,都可以使用Lambda表达式的写法。
最后讲了app签名打包发布。
启蒙生涯至此完结,以后的文章那个会偏向FrameWork层,应用层将会很少涉及,但肯定会很少。