第一个app

目录

1:MainActivity

2:DisplayMessageActivity

摘要

两个Activity临时对象传值

内容

1:MainActivity

 

 1 package com.dream.myapplication;
 2 
 3 import android.content.Intent;
 4 import android.os.Bundle;
 5 import android.support.design.widget.FloatingActionButton;
 6 import android.support.design.widget.Snackbar;
 7 import android.support.v7.app.AppCompatActivity;
 8 import android.support.v7.widget.Toolbar;
 9 import android.view.View;
10 import android.view.Menu;
11 import android.view.MenuItem;
12 import android.widget.EditText;
13 
14 public class MainActivity extends AppCompatActivity {
15 
16     //创建临时对象
17     public static final String EXTRA_MESSAGE ="com.dream.My Application.MESSAGE" ;
18 
19     @Override
20     protected void onCreate(Bundle savedInstanceState) {
21         super.onCreate(savedInstanceState);
22         setContentView(R.layout.activity_main);
23         Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
24         setSupportActionBar(toolbar);
25 
26         FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
27         fab.setOnClickListener(new View.OnClickListener() {
28             @Override
29             public void onClick(View view) {
30                 Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
31                         .setAction("Action", null).show();
32             }
33         });
34     }
35 
36     @Override
37     public boolean onCreateOptionsMenu(Menu menu) {
38         // Inflate the menu; this adds items to the action bar if it is present.
39         getMenuInflater().inflate(R.menu.menu_main, menu);
40         return true;
41     }
42 
43     @Override
44     public boolean onOptionsItemSelected(MenuItem item) {
45         // Handle action bar item clicks here. The action bar will
46         // automatically handle clicks on the Home/Up button, so long
47         // as you specify a parent activity in AndroidManifest.xml.
48         int id = item.getItemId();
49 
50         //noinspection SimplifiableIfStatement
51         if (id == R.id.action_settings) {
52             return true;
53         }
54 
55         return super.onOptionsItemSelected(item);
56     }
57 
58 
59 
60     /** Called when the user clicks the Send button */
61 
62     //在MainActivity中写入一个方法,通过content.xml中的button.onclick事件触发
63     public void sendMessage(View view) {
64         // Do something in response to button
65         //调用了一个intent
66         Intent intent = new Intent(this, DisplayMessageActivity.class);
67         //引用editText对象
68         EditText editText = (EditText) findViewById(R.id.edit_message);
69         //获取editText属性
70         String message = editText.getText().toString();
71         //传值存入
72         intent.putExtra(EXTRA_MESSAGE, message);
73         //开始intent
74         startActivity(intent);
75     }
76 
77 }
MainActivity

 

2:DisplayMessageActivity

package com.dream.myapplication;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;

public class DisplayMessageActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display_message);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
        //创建intent,用getItent方法获取上一个Intent的属性
        Intent intent = getIntent();
        //创建message对象,intent.getStringExtra方法获取MainActivity.extra_message属性
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
        //创建 textView,并设置属性
        TextView textView = new TextView(this);
        textView.setTextSize(40);
        textView.setText(message);
        //调用relativelayout的addView方法在视图中呈现textView
        RelativeLayout layout = (RelativeLayout) findViewById(R.id.content);
        layout.addView(textView);
    }

}
DisplayMessageActivity

 

 

花絮

 

Intent intent = new Intent(this, DisplayMessageActivity.class); EditText editText = (EditText) findViewById(R.id.edit_message); String message = editText.getText().toString(); intent.putExtra(EXTRA_MESSAGE, message);

解释如下:

转载地址:http://my.eoe.cn/xiangliang/archive/382.html

在Intent的构造函数中有两个参数:第一个参数是Context(上下文)一个是系统所需要传递的class对象。
而一个intent不仅允许你启动到另一个Activity,同时也可以传递数据包到另一个Activity里。
Sending an intent to other apps-发送intent(意图)到其他app(应用)
Intent(意图)可以传递各种各样的以键值对形式出现的集合,可以称它为extras,putExtra()方法用字符窜作为它的key,第二个参数作为它的值。为了在下一个Activity中获取extra(附加的)数据,你应该定义一个公共常量作为key(键),ok,在MyFirstActivity类的顶部定义一个名为EXTRA_MESSAGE的常量:

public class MyFirstActivity
extends Activity {
public final static String EXTRA_MESSAGE = "com.example.myapp.MESSAGE";
...
}

将intent的extra用应用的包名作为前缀是一个很好的做法,可以保证在与其他APP交流时,这个extra是独一无二的。

 

转载于:https://www.cnblogs.com/sansansan/p/5133639.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值