Android书籍以及资料阅读

Android开发从入门到精通:

这本书完全按照android1.5官方指南编写,优点截图清晰、翻译比较准确、仅此而已吧,对一些基础知识并咩有详细讲解,只是堆砌了一些简单的例子,初学者看起来会很困惑,稍微有点基础的人看了又没任何意义,我觉得是一本很失败的书,不值得一看。


Android AsyncTask 完全解析,带你从源码的角度彻底理解:

这个讲的非常好,从原理以及源码上来讲解AsuncTask,让人获益匪浅。

多个AsyncTask共用同一个TreadPool,也公用同一个static的Handler,一个AsyncTask相当于一个Thread

SerialExecutor是使用ArrayDeque这个队列来管理Runnable对象的,如果同时启动多个AsyncTask,则添加进队列,只有一个执行完毕后才执行下一个,其它都在等待状态,如果第一个一直执行的话,后面的则永远不会执行。

如果不想用默认的线程池3.0以后提供更加灵活的方式:

Executor exec = new ThreadPoolExecutor(15, 200, 10,  
        TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());  
new DownloadTask().executeOnExecutor(exec); 

这样就可以使用我们自定义的一个Executor来执行任务,而不是使用SerialExecutor。上述代码的效果允许在同一时刻有15个任务正在执行,并且最多能够存储200个任务。

总体来说AsuncTask是非常好用,高效且灵活的一种异步线程用法,能胜任大部分情况,如果对并发要求比较高的话建议最好使用Handler+Thread来实现。

Android Fragment完全解析

Fragment依附在Activity上,使用Fragment可以让我们更加充分地利用手持设备的屏幕空间。

静态添加Fragment就像封装View一样继承Fragment就行,然后在Activity的.xml文件里面添加即可。

动态添加Fragment使用代码:

Fragment1 fragment1 = new Fragment1();
getFragmentManager().beginTransaction().replace(R.id.main_layout, fragment1).commit();

Fragment的生命周期:

运行程序:


点击HOME键:


HOME键退出后再重新进入程序:

 onAttach 方法:Fragment 和Activity 建立关联的时候调用。
 onCreateView 方法:为Fragment 加载布局时调用。
 onActivityCreated 方法:当Activity 中的onCreate 方法执行完后调用。
 onDestroyView 方法:Fragment 中的布局被移除时调用。
 onDetach 方法:Fragment 和Activity 解除关联的时候调用。

Fragment 之间进行通信:

TextView textView = (TextView) getActivity().findViewById(R.id.fragment1_text);
Toast.makeText(getActivity(), textView.getText(), Toast.LENGTH_LONG).show();

getActivity 方法可以让Fragment 获取到关联的Activity,然后再
调用Activity 的findViewById 方法,就可以获取到和这个Activity 关联的其它Fragment 的视图


Android 4高级编程

优化布局:

1、尽量减少嵌套的层级,不要超过10层

2、使用merge:当包含有merge标签的布局被添加到领一个布局的时,该布局的merge节点会被删除,而该布局的子view会被直接添加到新的布局当中去。

3、使用include:merge标签结合include标签一起使用时尤其有效,include标签是用来把一个布局的内容插入到领一个布局当中去。

4、HierarchyViewer:Android自带工具,帮助我们观察层次结构图,优化布局,以及每个view渲染加载所耗费的时间。

5、避免使用过多的view:布局包含的的view个数不应该超过80个。

6、使用View Stub:类似于一个延迟填充的include标签,一个stub代表了再父布局中指定的(多个)子view,但只有显式的调用inflate()方法或被置为可见的时候,这个stub才会被填充。

7、使用Lint工具来分析布局:检查缺少的翻译,未使用的资源,不一致的数组大小,可访问性和国际化问题,都是活重复的图像资源,可用性问题和manifest错误

APP设计考虑事项:

1、快速的运行和响应

2、考虑有限的内存,存储以及运算能力。

3、为不同的屏幕进行设计

4、考虑低速率,高延迟

5、合理的更新以及交互

6、开发安全的应用程序

7、保证流畅的用户体验

SharedPreference:

保存信息有两个方法apply 和commit两个方法:

区别:apply:异步保存,这个是android 2.3引入的,调用它会安全的异步写入SharedPreference Editor,因为她是异步的,所以是保存Shared Preference的首选方法

  commit;同步保存,如果想确认操作成功,或者想支持早期的android版本,则可以用commit方法,它会阻止调用线程,并在写入成功后返回true,在写入失败的时候返回false。

PreferenceActivity:设置手机属性或app的属性设置用起来特别方便

java文件管理工具:deleteFile 使用户能够给删除由当前应用程序所创建的文件。

创建私有的应用程序文件:Android提供了openFileInput和openFileOutput方法,默认情况下,使用openFileInput创建的文件对于调用应用程序是私有的。其它应用程序会被拒绝访问。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值