---------------------- android培训、java培训、期待与您交流! ----------------------
今天是看视频学习Android的第二天,感觉学的东西蛮有意义,就在今天写我的第一篇日记吧!
今天简述一下Activity的作用与创建方式:
1:Activity的主要作用
从理论上我们可以把Activity看作是用户和应用程序交互的一个接口,但实际上就是控件的容器,我们需要做的就要把相应的一些控件摆放在相应的Activity中
2:创建一个Activity的要点
(1):每一个Activity就是一个类 并且这个类要继承Activity(这个类在android.jar中)
(2):重写onCreate方法(当一个Activity显示在手机或手机模拟器上时 会首先调用 onCreate方法)
(3):在AndroidManifest.xml文件当中进行配置
配置name:android:name=".HelloworldActivity; 就是Activity的文件名,前面需要加"." 这样和包名正好组成一个完整路径
配置标签 : android:label="@string/app_name" 可以在string.xml中设置标签中的字符串
特殊:<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
一个应用程序中 在哪个Activity中配置了上面的代码 这个Activity在应用程序运行时就是默认首先启动运行的Activity
(4):为Activity添加必要的控件(在layout中的对应xml布局文件中配置)
并且要为添加的控件用 android:id="@+id/控件名" 添加id, 才会在 R.java文件中生成对应的id,我们在Activity才可以得到这个控件 ,并为它设置值
(5):Activity中获取控件 并设置控件内容
获取控件:
findViewById(R.包含控件的方法名.控件id名);
我们在Activity中获取对应的控件时 获取到的是view类型的(所有控件的父控件) 所以需要用我们需要的控件类型进行强制类型转换
例:Button myButton=(Button)findViewById(R.id.myButton);
设置控件内容:
用引用获取的控件的变量名.setText();设置
例: myButton.setText("Button");
3:多个Activity之间的关系
多个Activity之间可以相互跳转,如果想从第一个Activity跳转到第二个,就用第一个的startActivity()方法跳转,在方法中传入Intent对象,至于跳转到哪个Activity 跳转后要做什么事 , 都是由 Intent决定
4:Intent的基本作用
我们可以把Intent理解成一个请求
一个Intent对象包含了一组信息:
*(1):Componentname
一个组件启动另一个组件 就是根据Intent中的Componentname来决定启动哪个组件
*(2):Action
决定启动的组件该做哪些动作
*(3):Data
组件向另外一个组件中传递的数据
(4):Category
*(5):Extras
额外传递的一些信息 是一些键值对
(6):Flags
Intent可以在组件之间传递数据(Intent在两个组件间传递数据,不要求两个组件在同一个应用程序下)
5:使用Intent在Activity之间传递数据的基本方法
需要写一个监听器 监听第一个Activity中的某个控件 然后建立Intent对象
在Intent的setClass()方法中传入两个Activity的对象 然后在第一个Activity对象startActivity()方法中传入Intent对象;
例:
Intent intent = new Intent();
intent.setClass(Activity.this,Activity.class);
Activity.this.startActivity(intent);
6:用Intent传入键值对 与获取值
用Intent对象的putExtra()方法可以传入键值对
例:
intent.putExtra("text","123");
在被启动的Activity中可以用getIntent()方法获取传入的Intent
在向获取到的Intent的getStringExtra();方法中传入要获取值的键 就可以获取到相应的值了
例:
Intent intent = getIntent();
String value = intent.getStringExtra("text");
---------------------- android培训、java培训、期待与您交流! ----------------------