第一行代码--android学习笔记1-----活动的基本用法
来源:互联网 发布:python celery 教程 编辑:程序博客网 时间:2024/05/21 09:42
1、手动创建活动
(1)public表示公开的类,所有的类都可引入使用。
(2)class FirstActivity extends Activity表示FirstActivity类继承自Activity 类。
(3)@Override表示下边的方法是继承父类的方法,对其覆盖
(4)protected表示此方法能被同一包中的类或不同包的子类所调用
(5)onCreate方法的参数是一个Bundle类型的参数。Bundle类型的数据与Map类型的数据相似,都是以key-value的形式存储数据的。从字面上savedInstanceState,是保存实例状态的。实际上,savedInstanceState也就是保存Activity的状态的。那么,savedInstanceState中的状态数据是从何处而来的呢?下面我们介绍Activity的另一个方法saveInstanceState。
public class FirstActivity extends Activity {
@Overrideprotected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
2、创建和加载布局
android:id="@+id/button_1"这里的@+id 就是给控件添加一个id 这个新的id会自动生成在 R.java文件里面,就能在你的Activity里面通过这个id来引用对象了 。如果你写成是@id/aaa则是代表引用id列表里面的aaa的值。
(4)wrap_content match_parent
wrap_content表示让当前控件的大小能够刚好包含住里面的内容。
match_parent表示当前控件大小和父布局的大小一样
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1"
/>
</LinearLayout>
3、在活动中加载布局
(1)下面只解析setContentView(R.layout.first_layout);setContentView()方法来给当前的活动加载一个布局,而在setContentView()方法中,我们一般都会传入一个布局文件的id。在第一章介绍gen目录的时候我有提到过,项目中添加的任何资源都会在R文件中生成一个相应的资源id,因此我们刚才创建的first_layout.xml布局的id现在应该是已经添加到R文件中了。在代码中去引用布局文件的方法你也已经学过了,只需要调用R.layout.first_layout就可以得到first_layout.xml布局的id,然后将这个值传入setContentView()方法即可。注意这里我们使用的R,是com.example.activitytest包下的R文件,Android SDK还会自动提供一个 android 包下的 R 文件,千万别使用错。
public class FirstActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
}
}
SDK:(software development kit)软件开发工具包,
- 应用程序可以运行的API
label表示标签,@表示引用,@string/app_name就是从string这个文件中引用叫app_name的这个键值对的值,作用是为你当前的ViewGroup设置一个标签
android.intent.action.MAIN决定应用程序最先启动的Activity
android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
如果存在多个activity都声明了android.intent.action.MAIN与android.intent.category.LAUNCHER会出现什么情况呢?------------------将会有多个图标显示在桌面上。
<category android:name="android.intent.category.LAUNCHER" />
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.activitytest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".FirstActivity"
android:label="This is FirstActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
5、隐藏标题栏
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.first_layout);
}
(1)是Android系统提供的一种非常好的提醒方式, 在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间
)
(2)Button button1 = (Button) findViewById(R.id.button_1);
这句话代表你将要给一个Button类型的变量赋值,赋的值为通过findViewById函数返回的值。这里的R.id.button_1表示你在Android界面菜单内拖出来的一个新的按钮,编译器会自动给这个按钮一个编号。findViewById函数就是通过这个编号准确定位这个按钮,执行你想要对它进行的操作。
至于button1.setOnClickListener(this);,代表我们要给这个按钮设置一个监听器。什么是监听器呢?监听器就是负责监控按钮运行的工具。这个OnClickListener就是负责监听用户是否按下这个按钮的。
(3)makeText()方法得到的对象调用show()方法,show()方法调用对像的属性
Toast.makeText(FirstActivity.this, "You clicked Button 1",
Toast.LENGTH_SHORT).show();
代码如下所示:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.first_layout);
Button button1 = (Button) findViewById(R.id.button_1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(FirstActivity.this, "You clicked Button 1",
Toast.LENGTH_SHORT).show();
}
});
}
7、在活动中使用menu
(1)新建菜单,<item>标签用来创建具体的某一个菜单项,
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/add_item"
android:title="Add"/>
<item
android:id="@+id/remove_item"
android:title="Remove"/>
</menu>
8、销毁一个活动
(1)在监听方法中调用finish()方法
修改按钮监听器中的代码,如下所示:
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
- 第一行代码--android学习笔记1-----活动的基本用法
- 第一行代码学习笔记-第二章 探究活动-1.活动的基本用法
- 《第一行代码》自学笔记-活动的基本用法
- RecyclerView的基本用法(第一行代码android学习笔记)
- 《第一行代码》学习笔记之通知的基本用法
- android启动活动(第一行代码android学习笔记)
- Android第一行代码学习笔记二----活动
- ListView的用法 - 第一行代码—android学习笔记
- Android--第一行代码笔记 活动生命周期
- 活动(Activity)---《第一行代码Android》笔记
- 第一行代码笔记 service基本用法
- 第一行代码笔记9(通知的基本用法)
- 《第一行代码》自学笔记-ListView的基本用法
- 《第一行代码 Android》学习笔记1
- 第一行代码学习笔记-第二章 探究活动-3.活动的生命周期
- 第一行代码学习笔记-第二章 探究活动-4.活动的启动模式
- 第一行代码学习笔记-第二章 探究活动-5. 活动的最佳实现
- 第一行代码总结:9.3服务的基本用法——活动和服务进行通信
- 15
- 堆实际应用
- Codeforces-678C-Joty and Chocolate
- The Flat Dictionary
- Oracle安装
- 第一行代码--android学习笔记1-----活动的基本用法
- 剑指offer:链表中倒数第k个结点
- 机器学习开放性问题考点
- 16
- maven 亲测可用国内镜像 阿里云
- Gson在java对象和json字符串之间转换
- 再次认识mysql(七)存储过程
- java jdbc 链接mysql
- 记录