第一个安卓程序,传递数据

 1 public class MainActivity extends Activity {
 2     private Button btn1=null;
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_main);//加载布局文件
 7         btn1=(Button)findViewById(R.id.button1);
 8         btn1.setOnClickListener(new View.OnClickListener() {
 9
10             @Override
11             public void onClick(View v) {
12                 User user=new User("zhangsan", "bj", 23);
13                 //将对象转换成字符串
14                 String base64=null;
15                                 //序列化对象
16                 ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream();
17                 try {
18                     ObjectOutputStream objectOutputStream=new ObjectOutputStream(byteArrayOutputStream);
19                     objectOutputStream.writeObject(user);
20                     base64=Base64.encodeToString(byteArrayOutputStream.toByteArray(), Base64.DEFAULT);
21                     objectOutputStream.close();
22
23                 } catch (Exception e) {
24                     // TODO: handle exception
25                 }
26
27                 //数据放入剪切板
28                 android.content.ClipboardManager clipboardManager=(android.content.ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
29                 clipboardManager.setText(base64);
30                 Intent intent=new Intent(MainActivity.this,SecondActivity.class);
31                 startActivity(intent);
32                 }
33
34         });
35     }
36 }        

转下个activity

public class SecondActivity extends Activity {
    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.firstr);
        textView =(TextView)findViewById(R.id.mss);
        //获取剪切板的数据
        ClipboardManager clipboardManager=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
        String message=clipboardManager.getText().toString();
        byte[] buffer=Base64.decode(message, Base64.DEFAULT);
        ByteArrayInputStream byteArrayInputStream=new ByteArrayInputStream(buffer);
        try{
        ObjectInputStream objectInputStream=new ObjectInputStream(byteArrayInputStream);
        User user=(User)objectInputStream.readObject();
        textView.setText(user.toString());
        }catch(Exception e){
            e.printStackTrace();
        }

    }

}

2.通过全局变量传递数据

定义全局变量

 1 public class AllApplication extends Application {
 2     private String username;
 3
 4
 5     public String getUsername() {
 6         return username;
 7     }
 8
 9
10     public void setUsername(String username) {
11         this.username = username;
12     }
13
14
15     @Override
16     public void onCreate() {
17         super.onCreate();
18         setUsername("zhangsanas");
19     }
20 }

在清单表中加入全局类名称

1  <application
2         android:name=".AllApplication"
3         android:allowBackup="true"
4         android:icon="@drawable/ic_launcher"
5         android:label="@string/app_name"
6         android:theme="@style/AppTheme" >

主activity

 1 public class Main extends Activity {
 2     private Button btn1=null;
 3     private AllApplication all;
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6         super.onCreate(savedInstanceState);
 7         setContentView(R.layout.main);
 8         btn1=(Button)findViewById(R.id.btn);
 9         btn1.setOnClickListener(new View.OnClickListener() {
10
11             @Override
12             public void onClick(View v) {
13                 all=(AllApplication)getApplication();
14                 all.setUsername("wangwu");
15                 Intent intent=new Intent(Main.this,Second.class);
16                 startActivity(intent);
17
18             }
19         });
20     }
21 }

转向下个

 1 public class Second extends Activity {
 2     private AllApplication allApplication;
 3     private TextView textView;
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6         // TODO Auto-generated method stub
 7         super.onCreate(savedInstanceState);
 8         setContentView(R.layout.second);
 9
10         textView=(TextView)findViewById(R.id.mess);
11         allApplication=(AllApplication)getApplication();
12         textView.setText(allApplication.getUsername());
13
14     }
15
16 }

带返回参数

 1 public class Main extends Activity {
 2     private Button btn1=null;
 3     //定义一个请求的标志量
 4     private static final int REQUEST_CODE=1;
 5     private EditText one,two,result;
 6     @Override
 7     protected void onCreate(Bundle savedInstanceState) {
 8         super.onCreate(savedInstanceState);
 9         setContentView(R.layout.main);
10         one=(EditText)findViewById(R.id.one);
11         two=(EditText)findViewById(R.id.two);
12         result=(EditText)findViewById(R.id.result);
13
14         btn1=(Button)findViewById(R.id.btn);
15         btn1.setOnClickListener(new View.OnClickListener() {
16
17             @Override
18             public void onClick(View v) {
19                 Intent intent=new Intent();
20                 intent.setClass(Main.this, Second.class);
21                 intent.putExtra("a", one.getText().toString());
22                 intent.putExtra("b", two.getText().toString());
23                 startActivityForResult(intent, REQUEST_CODE);
24
25             }
26         });
27     }
28     @Override
29     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
30         if(resultCode==2){
31             if(requestCode==REQUEST_CODE){
32                 result.setText(data.getStringExtra("three"));
33             }
34         }
35     }
36 }
 1 public class Second extends Activity {
 2     private EditText editText;
 3     private TextView teView;
 4     private Button bt;
 5     @Override
 6     protected void onCreate(Bundle savedInstanceState) {
 7         // TODO Auto-generated method stub
 8         super.onCreate(savedInstanceState);
 9         setContentView(R.layout.second);
10         bt=(Button)findViewById(R.id.rebtn);
11         teView=(TextView)findViewById(R.id.mess);
12         editText=(EditText)findViewById(R.id.three);
13         Intent intent=getIntent();
14         String a=intent.getStringExtra("a");
15         String b=intent.getStringExtra("b");
16         teView.setText(a+" + "+b+" = ?");
17         bt.setOnClickListener(new View.OnClickListener() {
18
19             @Override
20             public void onClick(View v) {
21                 Intent in=new Intent();
22                 in.putExtra("three",editText.getText().toString());
23                 setResult(2, in);
24                 finish();
25
26             }
27         });
28
29
30
31     }
32
33 }
时间: 2024-10-28 14:37:55

第一个安卓程序,传递数据的相关文章

【原创】开发第一个安卓程序(教程系列贴)

[面向人员]:立志于安卓开发的所有人员,做到真正的从零基础起步: [教程说明]:本教程在内容上保证原创.简洁.详细,在附件链接上保证可用.最新.完整: [回帖说明]:教程有不清晰的地方,请及时回帖互动,楼主会第一时间更新帖子,谨以此开源.分享.共进. 1.通过代理在线更新SDK 依次打开安卓001教程建立的开发文件夹,android/develope,找到并双击SDK Manager.exe可执行文件 稍等片刻,自动弹出Android SDK Manager Log窗口,窗口内未配置代理钱会显示

【Qt for Android】第一个安卓程序

1)首先需要去官网上下载 Qt for android 版本的 Qt SDK 2)下载 android 相关的 SDK,下载地址不用找了,在Qt Creator工具选项的Android配置中有相应的下载链接地址. 3)下载完安卓SDK后,在上面的配置界面中指定相应SDK的目录,然后在"Build & Run"中新增Android的Kits 4)编写Qt代码后,点击"Run"即可,在弹出的Android设备列表中,选择程序要安装运行的Android设备.(下图

AndroidStudio学习笔记-第一个安卓程序

要带一个本科生做一部分跟安卓有点关系的项目,于是趁着机会学习一下编写安卓程序. 第一篇材料来自谷歌官方,传送门:https://developer.android.com/training/basics/firstapp/index.html.由于官方例程写的很清楚了,基本上只要按着步骤就好了,所以不打算完全的复制粘贴,主要实践过程中我的一些理解和思考. 1. 创建新工程 一个安卓程序的层次结构为 Application -> many activities (可以理解为很多个界面) -> l

简单记录下安卓环境的搭建和第一个安卓程序的破解

来自<Android软件安全与逆向分析> 一.配置安卓环境 1.安装JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html DwonLoads->下载JDK 我下载的版本是  jdk-8u91-windows-x64.exe 一路安装好了之后,添加用户变量 JAVA_HOME 值为安装目录 I:\Android\jdk 并将I:\Android\jdk\bin添加到PATH中 CMD-> 输入ja

【1】第一个安卓程序

第一个程序从 Hello World 开始?? 也许C语言学习是从这开始的,但是书上不是这么开始的,也许起点就决定了高度?? 一.新建安卓项目 (1)选择安卓项目 (2)随便建个名字的项目,默认下一步 二.运行环境 (1)新建虚拟设备,在电脑上运行这个虚拟的安卓模拟器. (2)在自己的手机上运行,手机用数据线连接电脑,调为开发者模式,然后运行的时候就会检测到手机,然后选择用手机运行. 我选择把自己的小米3作为了开发的测试手机,因为电脑的安卓模拟器调试应该会很卡. 三.运行出来其实就是个hello

【1】Android 学习笔记 【第一个安卓程序】

一.java JDK  & 配置 java 系统变量 java JDK 这个请自行百度安装 配置 java 系统变量  1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值(jdk安装目录):C:\Program Files\Java\jdk1.7.0 变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 3. 选择“系统变量

我的第一个安卓程序

当天的笔记 重写(Override) 就是子类在应许父类访问对父类方法的重写.返回值行参都不能改变.即外壳不变,核心重写! 好处:子类可以根据自己的需要定制自己的行为: Animal b = new Dog();//可以调用到子类重写的方法 注意:在上面的例子中可以看到,尽管b属于Animal类型,但是它运行的是Dog类的move方法. 这是由于在编译阶段,只是检查参数的引用类型 当需要在子类中调用父类的被重写方法时,要使用super关键字 安卓学习流程图

用android studio创建第一个安卓程序加载html5 页面

前言 软件版本:android studio v1.0正式版,由于v0.x以来软件变化一直比较大,很多问题搜索的解决方案也都是v0.x版本时代的,故首先声明一下版本. 动机:由于工作中需要对移动端软件开发的几种方式进行一下对比研究,故有了此文章的产生,估计后续还会有其他技术方案的文章发布. 目标:为了适应跨平台的要求,所以用html5编写页面,利用webview装载html5页面就成为了一个备选的技术路线.本篇文章就是利用android studio创建一个apk程序,装载编写好的html5页面

第一个安卓程序代码

package cxa.com.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.Button; import android.widget.Toast; public class MainActivity e