一、《Android权威指南》读书笔记

layout_weight:属性值进行进行额外的空间分配。

为保证单例模式模式总是有Context可用,可调用getApplicationContext()方法,将不确定是否存在的Context替换为application context。任何时候,只要是应用层面的单例,就应该一直使用application context。

activity和fragment直接的数据传递:

1.通过intent的extra来进行数据的传递。(缺点:牺牲fragment的封装性为代价的,fragment不再是可复用的构建单元,因为fragment总是需要某个具体的activity来托管。)
2.通过fragment的argument来进行数据的绑定传递。(fragment.setArguments(Bundle))

FragmentStatePagerAdapter和FragmentPagerAdapter的区别:

两者的使用方法基本相同,区别在卸载不需要的fragment时,所采用的处理的方法不同。

FragmentStatePagerAdapter会销毁不需要的fragment。事物提交后,可将fragment从activity的FragmentManager中彻底删除。在销毁fragment时,它会将其onSaveInstanceState(Bundle)保存。用户切换回原来的界面后,保存的实例状态可用于恢复生成新的fragment。而FragmentPagerAdapter则会将fragment实例保存在FragmentManager中,因此FragmentPagerAdapter创建的fragment永远不会被销毁。

在fragment、activity、fragment之间传递数据可用通过设置setTargetFragment()来设置目标fragment。同时通过与startActivityForResult()和onActivityResult()类似的方法实现来进行数据的回传。

fragment保存实例调用方法setRetainInstance(boolean)。 当为true时,当设备旋转时以保存的fragment不会随着activity一起被销毁,它会一直保留到需要时原封不动传递给新的activity。(当然如果有大量的数据需要去保存,则采用onSaveInstanceState()方法)

当fragment中建立选项菜单时,需要调用setHasOptionsMenu(boolean),当建立浮动上下菜单时调用registerForContextMenu(View view),为浮动上下文菜单登记一个视图。

启用fragment视图上显示向左的图标,并开启应用图标向上导航按钮的功能。需要调用setDisplayHomeAsUpEnable(boolean)来支持该功能。

Android中的相机是一种独占资源,一次只能有一个activity能够调用相机。(使用相机开发时,在onStart()方法中加载图片,然后在onStop()方法中卸载图片是一种好的习惯。)

更多相关文章

  1. Android(安卓)Listener侦听的N种写法
  2. View的事件体系《Android开发艺术探索》笔记
  3. 关于Android中的四大组件(Activity)
  4. Android(安卓)多线程之HandlerThread 完全详解
  5. WebView Android(安卓)调用js且需要获取返回结果
  6. SurfaceFlinger启动过程分析(一)、(二)、(三)、(四)【转】
  7. 深入理解FragmentManager
  8. Android(安卓)- 小问题 - ViewPager onPageChangeListener
  9. Android(安卓)WebView H5页面 input type =“file”解决方法

随机推荐

  1. 王家林最受欢迎的一站式云计算大数据和移
  2. Style与Theme
  3. Android(安卓)Studio实用配置:让你编码更
  4. 随手记
  5. Android 统计图表引擎AChartEngine(四) -
  6. Android中ListView学习---你可能不知道的
  7. Android基于OkHttp实现文件上传
  8. Android 模拟器中AVD路径的修改(WIN7)
  9. init进程 && 解析Android启动脚本init.rc
  10. android中The connection to adb is down