`
铁扇子
  • 浏览: 6780 次
文章分类
社区版块
存档分类
最新评论

安卓开发之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文件中的<Activity/>标签,添加android:theme属性。

例:<activity
            android:theme="@android:style/Theme.Dialog"
            android:name="com.example.helloandroid.MainActivity"
            android:label="@string/app_name" ></ activity >

Ø隐藏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文件中:
<activity  android:name=".Activity"
       android:theme="@android:style/Theme.NoTitleBar"
  ></activity>

相信大家对activity有初步的了解了吧!!!我比较常用的APP在线自动化测试工具:http://www.ineice.com
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics