栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android实现页面跳转

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android实现页面跳转

文章目录
      • 1、启动新Activty
        • 1.1、功能分析
        • 1.2、开发视图布局
        • 1.3、按钮事件响应
        • 1.4、测试结果
      • 2、启动其他App
        • 2.1、功能分析
        • 2.2、开发视图布局
        • 2.3、按钮事件响应
        • 2.4、测试结果

1、启动新Activty 1.1、功能分析
  • App功能

    • 在第一个Activity输入消息
    • 点击第一个Activity的发送按钮
    • 发送消息到第二个Activity
    • 第二个Activity显示收到的消息
  • App结构(2个Activity+2个Layout) :

    • 打开App时,启动CreateMessageActivty

      加载activity_create_message.xml作为布局

    • 用户点击按钮启动ReceiveMessageActivty

      加载activity _receive_message.xml作为布局

1.2、开发视图布局
  • activity_create_message.xml

    
    
    
        
    
            
    
            
  • activity _receive_message.xml

    
    
    
        
     
  • string.xml

    
        Messager
        Send Message
        Enter a message
        Send Message via ...
    
    
1.3、按钮事件响应
  • CreateMessageActivty类:发送消息

    public class CreateMessageActivity extends AppCompatActivity {
    
        //定义常量,作为消息的key
        public static final String MESSAGE_KEY="szst.it.ping.messager";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_create_message);
        }
    
        public void onSendMessage(View Button){
            //获得编辑框引用
            EditText editText = findViewById(R.id.input);
            //取出编辑框文字
            String message = editText.getText().toString();
    
            //Intent是Android中的信使,新建Intent打开,设置收件Activity为ReceiveMessageActivity
            Intent intent = new Intent(this,ReceiveMessageActivity.class) ;
            //在intent中附加消息
            intent.putExtra(MESSAGE_KEY,message);
            //向Android发出请求
            startActivity(intent);
    
        }
    }
    
  • ReceiveMessageActivty类:接收消息

    public class ReceiveMessageActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_receive_message);
    
            //获得intent的引用
            Intent intent = getIntent();
    
            //根据key取出value
            String message = intent.getStringExtra(CreateMessageActivity.MESSAGE_KEY);
    
            //获得文本框内容,设置文字
            TextView textView = findViewById(R.id.output);
            textView.setText(message);
        }
    }
    
1.4、测试结果
  • 启动界面

  • 输入消息“123”并点击按钮发送,接收界面如下

2、启动其他App 2.1、功能分析
  • App功能

    • 在第一个Activity输入消息
    • 点击第一个Activity的发送按钮
    • 发送消息到其他App
    • 其他App显示收到的消息
  • App结构(1个Activity+1个Layout) :

    • 打开App时,启动CreateMessageActivty

      加载activity_create_message.xml作为布局

    • 用户点击按钮启动选择启动满足条件的App

2.2、开发视图布局
  • activity_create_message.xml
    • 同1.2中的activity_create_message.xml
2.3、按钮事件响应
  • CreateMessageActivty类:发送消息

    public class CreateMessageActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_create_message);
        }
    
        public void onSendMessage(View Button){
            //获得编辑框引用
            EditText editText = findViewById(R.id.input);
            //取出编辑框文字
            String message = editText.getText().toString();
    
            //使用new Intent(Intent.ACTION_SEND)替换new Intent(this, ReceiveMessageActivity.class),不知道其它App中的类名
            Intent intent = new Intent(Intent.ACTION_SEND);
            //设置消息类型为纯文本,系统不会对消息进行处理
            intent.setType("text/plain");
            //向Intent添加附加信息
            intent.putExtra(Intent.EXTRA_TEXT,message);
    
            //自定义选择对话框
            String chooserTitle = getString(R.string.choser);
            Intent chosenIntent = Intent.createChooser(intent, chooserTitle);
    
            startActivity(chosenIntent) ;
        }
    }
    
2.4、测试结果
  • 启动界面同1.4

  • 输入消息“123”并点击按钮发送,选择要发送的app(Messaging)

  • 发送附加消息到111

  • 发送成功

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/327463.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号