多界面跳转App

难点:

(1)如何打开一个新的页面

(2)如何传递数据到一个新的页面

开发步骤:

1. 新建单Activty和Layout的基础App

2. 添加第二个Activty和Layout

3. 从第一个Activty打开第二个Activty

4. 从第一个Activty传递数据

 

1. 新建单Activty和Layout的基础App

字体美观等问题在考试时不做具体要求

主要关注以下内容:

android:id       控件id号

示例:android:id="@+id/message"

android:text     引用string.xml中的键值对”@string/stringname

示例:android:text="@string/send"

android:hint="@string/hint"

android:onclick  事件响应

示例:android:onClick="onSendMessage"

 

Java的方法:要有权限、返回值和参数

 

TODO功能:程序员最大的谎言,暂时跳过无法实现的功能

 

2. 添加第二个Activty和Layout

新建activity时Launcher Activity选项指定入口activity。

 

AndroidMainifest.xml文件:manifest本意为“清单”,需要在清单中声明该App中添加新activity的存在。代码如下:

<activity android:name=".ReceiveMessageActivity">
</
activity>

主界面(入口界面)<activity>中会有以下代码

<intent-filter>
    <
action android:name="android.intent.action.MAIN" />

    <
category android:name="android.intent.category.LAUNCHER" />
</
intent-filter>

表明该activity存在过滤这两条消息的权限,因此为入口界面。

 

3. 从第一个Activty打开第二个Activty

使用new关键字创建一个intent对象,两个参数,从哪里来,到哪里去

新建Intent打开,设置收件Activity

Intent intent = new Intent(this, Target.class);

向Android发出请求

startActivity(intent);

(注:startActivity方法来自建立该activity类时继承的Activity类:

public class CreateMessageActivity extends Activity)

 

intent的作用:在安卓中传递各种消息,安卓中的信使。

 

截止到现在App启动的完整步骤为:

1. App启动后,进入入口(main)Activity

在AndroidManifest.xml中指定main Activity

2. 用户点击按钮

进入第一个Activity定义的事件响应方法onSendMessage

3. 在onSendMessage中发出Intent

4. 第2个Activty启动,加载自己的Layout

 

4. 从第一个Activty传递数据

传递数据并显示消息:

1. 修改第二个Activity的布局:activity_receive_message.xml 2. 在Intent中附加消息内容:intent.putExtra("message", value)

3. 升级第二个Activty,解析并显示Intent中附加的消息内容

 

在第一个activity的按钮事件响应里put

public void onSendMessage(View view){
   
//TODO start the 2nd Activity
   
EditText messageView = (EditText)findViewById(R.id.message);
    String messageText = messageView.getText().toString();

    Intent intent =
new Intent(this,ReceiveMessageActivity.class);
    intent
.putExtra(ReceiveMessageActivity.EXTRA_MESSAGE,messageText);
    startActivity(intent);
}

在第二个activity加载时get

public class ReceiveMessageActivity extends Activity {
   
public static final String EXTRA_MESSAGE = "message";
   
@Override
   
protected void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
        setContentView(R.layout.
activity_receive_message);

        Intent intent = getIntent();
        String messageText = intent
.getStringExtra(EXTRA_MESSAGE);

        TextView messageView = (TextView)findViewById(R.id.
message);
        messageView.setText(messageText);
    }
}

拓展:把一个编辑框的消息分享到微信中,实现方法在下面的文章中给出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值