安卓学习心得
android学习心得
-----093380117
计算机应用(1)
张峰
1.关于activity
1.在一个activity中使用多个view
如果把activity看作mvc中的control。它负责管理ui和接受事件(包括用户的输入),虽然说一个activity通常对应一个屏幕,但事实上,我们是可以只用一个activity管理多个不同的view来实现简单的逻辑。首先,我们增加一个新的资源描述layout/second.xml。
除了一个“hello中国”以外,增加一个按钮可以返回前一个界面。然后,在代码中我们要为hellotwo增加两个方法,setviewonecommand和setviewtwocommand,分别处理一下在不同界面时,从资源里加载组件并为组件绑定一个事件处理器最后,我们需要在oncreate的时候,也就是启动后的main界面上设置一下按钮事件处理器。
2.还是回到正道上,多个activity之间的跳转
android中提供一个叫intent的类来实现屏幕之间的跳转,按文档的说法,似乎他们也建议采用这种方法,intent的用法比较复杂,现在我先看看它最简单的用法。
这里的跳转功能用intent来操作,它的最简单用法就是用函数setclass设置跳转前后两个activity类的实例,然后调用activity自己的startactivity(intent)即可。最后一句finish表示将当前activity关掉(如果不关掉会如何。你可以自己试一下看效果,事实上有时我们是不需要关掉当前activity的)。
然后,我们同样弄一个activity类hellothreeb,代码与前面的差不多,只是将setclass的两个参数反一下,这样就可以简单地实现在两个activity界面中来回切换的功能了。
2.关于intent的使用
intent分为两大类,显性的(explicit)和隐性的(implicit)。一般来说,intent要定位事件的目的地,无外乎需要以下几个信息:
1.种类(category),比如我们常见的launcher_category就是表示这是一类应用程序。
2.类型(type),在前面的例子中没用过,表示数据的类型,这是隐性intent定位目标的重要依据。
3.组件(component),前面的例子中用的是setclass,不过也可以用setcomponent来设置intent跳转的前后两个类实例。
4.附加数据(extras),在contenturi之外还可以附加一些信息,它是bundle类型的对象。
其实,如果是在一个应用内部,这种隐性的intent实在有点别扭,个人觉得,这种松藕合的实现方法,只适用于那些较大的系统或者多个不同的应用之间的调用,可手机上又有什么“较大”的系统呢。无非是可以与不同来源的多个应用之间方便地互操作而已,那么会是什么样的场景呢。比如,给好友发送gmail邮件,用googlemap查找好友所在的位置。看上去挺不错的。
关于这个contentprovider,其实还有话说,它主要是的那些看似数据库操作的方法我们都没真正去实现呢。不过今天就到这里了,等下回再去研究吧。
3.关于listactivity
(未完,全文共11237字,当前显示1340字)
(请认真阅读下面的提示信息)