安卓开发之activity详解(sumzom)
app中,一个activity通常是指的一个单独的屏幕,相当于网站里面的一个网页,它是对用户可见的,它上面可以显示一些控件,并且可以监听处理用户的时间做出响应。
那么activity之间如何进行通信呢?他们是通过intent进行通信以及切换。Intent有两个重要部分(动作传递,数据传递);
Ø神马是Activity?
activity是四大组件,代表者用户可操作界面,可与用户进行交互。比如,拍照,登陆注册等交互界面。一个应用程序通常由多个activity松耦合(低耦合)组成,当用户打开app见到的第一个界面我们称之为MianActivity。一个activity可以启动另外一个activity,当新activity启动时,前一个activity将stop,但系统会将其保存到后台栈(back stack),并且获得用户焦点。Back stack遵循后进先出的原则,当用户按手机back键时,当前activity会从backstack移除,前一个恢复。
Activity回调函数:创建,启动,恢复,暂停,停止,销毁;
绑定视图:SetContentView(view)
Activity之间通过intent通信。
Intent intent = new Intent(MainActivity.this,orther.class);
startActivity(intent);
ØMVC模式:
M(Model模型):Model是应用程序的主体部分,所有的业务逻辑都应该写在这里,在Android中Model层与JavaEE中的变化不大,如:对数据库的操作,对网络等的操作都放在该层(但不是说它们都放在同一个包中,可以分开放,但它们统称为Model层)。
V(View视图):是应用程序中负责生成用户界面的部分,也是在整个MVC架构中用户唯一可以看到的一层,接收用户输入,显示处理结果;在Android应用中一般采用XML文件里德界面的描述,使用的时候可以非常方便的引入,当然也可以使用JavaScript+Html等方式作为View。
C(Controller控制层)android的控制层的重任就要落在众多的activity的肩上了,所以在这里就要建议大家不要在activity中写太多的代码,尽量能过activity交割Model业务逻辑层处理。
Ø如何对activity应用样式和主题进行操作?
默认情况下,一个activity占据整个屏幕。我们也可以定制Activity,以窗口的形式显示,用来提醒永辉将执行某些操作。在这种情况下,以对话框的形式来显示activity以引起用户的注意是个不错的方法。
修改AndroidManifest.xml文件中的标签,添加android:theme属性。
例:
android:theme="@android:style/Theme.Dialog"
android:name="com.example.helloandroid.MainActivity"
android:label="@string/app_name" >
Ø隐藏Activity标题(ActionBar)
方法一:
在代码中在绑定视图之前声明
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题栏,写在绑定///视图之前
setContentView(R.layout.activity_main);
//绑定视图层
initWithView();
Intent intent = new Intent();
startActivity(intent);
}
方法二:
在AndroidManifest文件中:
android:theme="@android:style/Theme.NoTitleBar"
>
相信大家对activity有初步的了解了吧!!!我比较常用的APP在线自动化测试工具:www.ineice.com