开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第31天,点击查看活动详情
一、添加一个页面
- 在src上面右键,new一个Other
- 选择Android,Android Activity
- 选择Blank Activity
- 更改Activity Name(类的名字),Layout Name自动更改(布局名字),点击Finish完成
编辑
二、页面跳转
2.1、实现方法
-
在java文件中,Intent类 ,new一个对象,设置要跳转的页面
构造方法,第一个参数当前页面,第二个参数跳转到哪个页面Intent intent = new Intent(this, SecondActivity.class); -
跳转
startActivity(intent); -
使用按键跳转页面
参考博文
三、传递参数方法一
3.1、传递
Intent类的方法putExtra
putExtra,参数1键值队(接收的时候需要这个参数),参数2传递的信息(可以是很多种数据类型)
intent.putExtra("Mydata", "小伟");
3.2、接收
-
把传过来的Intent获取过来
Intent i = this.getIntent(); -
用一个数据类型变量,把键里面的值获取出来
data = i.getStringExtra("Mydata"); -
把获取的数据显示在页面
Toast.makeText(this, "收到数据," + data, 0).show();
四、传递参数方法二
传递参数类型多了,就要用这种方法
-
使用Bundle类,可以传递很多参数
Bundle bundle = new Bundle(); bundle.putString("Mydata", "小伟"); bundle.putInt("ID", 101); intent.putExtras(bundle); -
接收方法和第一种一样
Intent i = this.getIntent(); //获取Intent Bundle b = i.getExtras(); //获取Bundle String data = b.getString("Mydata"); //把Bundle传过来的值获取出来 int data2 = b.getInt("ID"); //在页面显示 Toast.makeText(this, "收到数据," + data + data2, 0).show();
五、页面的自动跳转(线程)
5.1、sleep等待3s
如果在java里面直接加sleep,阻塞的是UI线程
要想实现在某个界面等待3s后自动跳转,必须创建新的线程进行阻塞
-
UI线程
安卓APP启动有一个主要的UI线程
功能是不断的刷新界面
所以阻塞UI线程会出现 不显示的现象(空白界面)
编辑
-
创建新线程
实例化Thread,并且实例化接口(编写新线程需要干的事情)
start,启动线程Thread t = new Thread(new Runnable() { //实例化一个接口run @Override public void run() { //这个函数接口里,编写新线程需要干的事情 // TODO Auto-generated method stub try { Thread.sleep(3000); //睡眠3s } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } //设置跳转页面 Intent intent = new Intent(OneActivity.this, MainActivity.class); //跳转 startActivity(intent); } }); //实例化一个线程 t.start(); //启动线程