Android知识汇总(2)

前言:完成了GeoQuiz应用的开发之后,我们对Andriod的开发也有了一个初步的了解,其中对我帮助最大的莫过于MVC设计模板的应用,此设计模板的应用大大的简化了应用的复杂、难懂。接下来我们将会在以有的基础上加大难度,设计一个更加高大上的应用。

正言:我们这次设计的是一个名为CriminalIntent的应用,此应用可以用来详细记录各种办公室的陋习。CriminalIntent应用记载的陋习记录包括标题、日期和照片等,支持在联系人中查找当事人。可以说这个应用真的是十分的实用。

这个应用想要完成比较的麻烦,所以我今天先说说这第七章到第十三章,我所学到的知识,以及这些知识的一个总概。

首先我先给大家看一看这CriminalIntent应用完成的应用界面吧!

想要完成这个应用首先我们要引用两个从来都没听过的东西,它们就是UI fragment与fragment。下面我就来详细的介绍一下这两个管理器。(这两个  东西还是挺重要的,所以我在这里详细介绍,便于大家理解,也是让自己加深一下印象o(* ̄▽ ̄*)ブ)

·fragment是一种控制器对象, activity可委派它完成一些任务。这些任务通常就是管理用户界面。受管的用户界面可以是一整屏或是整屏的一部分。

·UI fragment指的是管理界面的fragment。它自己也有产生于布局文件的视图。

·fragment视图包含了用户可以交互的可视化UI元素。activity视图可预留供fragment视图插入的位置。如果有多个fragment要插入, activity视图也可提供多个  位置。根据应用和用户的需求,可联合使用fragment及activity来组装或重新组装用户界面。

·fragment 的设计不需要你来亲自管理view hierarchy 的复杂变化,通过将Activity 的布局分散到frament 中,可以在运行时修改activity 的外观,并且activity 管  理 的back stack 中保存些变化。当一个片段指定了自身的布局时,它能和其他片段配置成不同的组合,在活动中为不同的屏幕尺寸修改布局配置(小屏幕可能  每次 显示一个片段,而大屏幕则可以显示两个或更多)。

·fragment必须被写成可重用的模块。因为fragment有自己的layout,自己进行事件响应,拥有自己的生命周期和行为,所以你可以在多个activity中包含同一个  fragment的不同实例。这对于让你的界面在不同的屏幕尺寸下都能给用户完美的体验尤其重要。    

·activity在其视图层级里提供一处位置用来放置fragment的视图,如下图所示。 fragment本身不具有在屏幕上显示视图的能力。因此,只有将它的视图放置在  activity的视图层级结构中, fragment视图才能显示在屏幕上。

  Fragment的生命周期

 1.当一个fragment被创建的时候,它会经历以下状态.。
    onAttach()
    onCreate()
    onCreateView()
    onActivityCreated()
2.当这个fragment对用户可见的时候,它会经历以下状态。
    onStart()
    onResume()
3.当这个fragment进入“后台模式”的时候,它会经历以下状态。
   onPause()
   onStop()
4.当这个fragment被销毁了(或者持有它的activity被销毁了),它会经历以下状态。
   onPause()
   onStop()
   onDestroyView()
   onDetach()
5.就像activitie一样,在以下的状态中,可以使用Bundle对象保存一个fragment的对象。
   onCreate()
   onCreateView()
   onActivityCreated()
6.fragments的大部分状态都和activitie很相似,但fragment有一些新的状态。
   onAttached() —— 当fragment和activity关联之后,调用这个方法。
   onCreateView() —— 创建fragment中的视图的时候,调用这个方法。
   onActivityCreated() —— 当activity的onCreate()方法被返回之后,调用这个方法。
   onDestroyView() —— 当fragment中的视图被移除的时候,调用这个方法。
   onDetach() —— 当fragment和activity分离的时候,调用这个方法。

  Fragment生命周期的实例测试方法

ViewPager的一些知识

1.ViewPager的简介和作用
ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view
(1)ViewPager类直接继承了ViewGroup类,所有它是一个容器类,可以在其中添加其他的view类。
(2)ViewPager类需要一个PagerAdapter适配器类给它提供数据。
(3)ViewPager经常和Fragment一起使用,并且提供了专门的FragmentPagerAdapter和FragmentStatePagerAdapter类供Fragment中的ViewPager使用。

2.ViewPager的适配器
简介中提到了PagerAdapter,和ListView等控件使用一样,需要ViewPager设置PagerAdapter来完成页面和数据的绑定,这个PagerAdapter是一个基类适配器,我们经常用它来实现app引导图,它的子类有FragmentPagerAdapter和FragmentStatePagerAdapter,这两个子类适配器用于和Fragment一起使用,在安卓应用中它们就像listview一样出现的频繁。

                                                                                                                                                ———这写就是我这两个星期学到的一些新知识,希望这些对那些对android不太懂的人有所帮助!

时间: 2024-11-05 16:11:55

Android知识汇总(2)的相关文章

android 知识汇总

1.assets:不会在R.java文件下生成相应的标记,assets文件夹可以自己创建文件夹,必须使用AssetsManager类进行访问,存放到这里的资源在运行打包的时候都会打入程序安装包中, 2.res:会在R.java文件下生成标记,这里的资源会在运行打包操作的时候判断哪些被使用到了,没有被使用到的文件资源是不会打包到安装包中的. res/raw和assets文件夹来存放不需要系统编译成二进制的文件,例如字体文件等 在res文件夹下还可以定义一下目录: res/anim:这里存放的是动画

沉淀,再出发:Java基础知识汇总

沉淀,再出发:Java基础知识汇总 一.前言 不管走得多远,基础知识是最重要的,这些知识就是建造一座座高楼大厦的基石和钢筋水泥.对于Java这门包含了编程方方面面的语言,有着太多的基础知识了,从最初的语法,对象的定义,类.接口.继承.静态.动态.重载.覆盖这些基本的概念和使用方法,到稍微高级一点的多线程,文件读写,网络编程,GUI使用,再到之后的反射机制.序列化.与数据库的结合等高级一点的用法,最后将设计模式应用其中,产生了一个个新的概念,比如Spring.Spring MVC.Hibernat

Android Bug 汇总

1 问题: FragmentStatePagerAdapter+viewpager第二次进入该fragment不显示数据 解决方法: 在含有ViewPager的Fragment的onCreateView方法中添加代码: if (view != null) { ViewGroup parent = (ViewGroup) view.getParent(); if (parent != null) { parent.removeView(view); } return view; } Android

Android 系统调用 汇总

intent大全: 1.从google搜索内容 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY,"searchString") startActivity(intent); 2.浏览网页 Uri uri =Uri.parse("http://www.google.com"); Intent it 

Android # 基础汇总

主題彙總: 源碼下載/Android开发 源码下载: [更新4.4]Android 2.2.2到Android 4.2.2源码下载地址 - Android开发资料库 - Android开发论坛 - 安卓开发论坛 - Android开发 - 安卓论坛 - 移动互联网门户http://www.apkbus.com/android-108480-1-1.html Android4.2源码下载过程_Linux教程_Linux公社-Linux系统门户网站http://www.linuxidc.com/Li

【转】ACM博弈知识汇总

博弈知识汇总 转自:http://www.cnblogs.com/kuangbin/archive/2011/08/28/2156426.html 有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可.两个人轮流从堆中取物体若干,规定最后取光物体者取胜.这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理.下面我们来分析一下要如何才能够取胜. (一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.

JavaScript正則表達式知识汇总

Js 正則表達式知识汇总 正則表達式: 1.什么是RegExp?RegExp是正則表達式的缩写.RegExp 对象用于规定在文本中检索的内容. 2.定义RegExp:var +变量名=new RegExp(); 3.RegExp 对象有 3 个方法: 1)test()检索字符串中的指定值,返回值是true或false. var p1=new Reg("e"); document.write(Reg.test("welcome to China!")); 2)exec

Android 开发框架汇总

Android 开发框架汇总 时间过的真快,转眼间就要进入到16年的8月了,现在应该是三伏期间,一个字“热”.前端时间整理了一篇“JS前端框架汇总”,然后紧接着又抽时间学习了一下Android开发,在慕课网上学习了很多视频,感觉收获很大,有些事吧,得坚持,多了解些总不是什么坏事.有时候我也会抽时间去国家图书馆看看,书的种类也没有限制,逮着啥看啥. 今天以Android初学者的身份我也试着整理一下Android开发中常用到的一些框架,就当是学习成果,其实多半也是从网上搜的,然后做了一个汇总.那咱就

Delphi基础知识汇总

☆Delphi基础数据类型 分类 范围 字节 备注 简单类型 序数 整数 Integer -2147483648 .. 2147483647 4 有符号32位 Cardinal 0 .. 4294967295 4 无符号32位 Shortint -128 .. 127 1 有符号8位 Smallint -32768 .. 32767 2 有符号16位 Longint -2147483648 .. 2147483647 4 有符号32位 Int64 -263 .. 263 8 有符号64位 Byt