首页 > 编程知识 正文

Android socket,android intent用法

时间:2023-05-06 13:27:59 阅读:110981 作者:2538

1、以putExtra (和getIntent ) )方式传递值。 一般只能传递基本类型的数据。

privatestaticfinalstringextra _ name=' name '; //键

private String name='Tom ';

intent intent=new intent (main activity.this,SecondActivity.class );

//1 .将传递的值作为键值对存储在intent中。

intent.putextra(extra_name,name ) )。

开始活动(intent;

//2 .获取从上一个Activity传递的值

Intent intent=getIntent (;

string name=intent.getstring extra (main activity.extra _ name );

注:检索数据时,intent.getxxextra(key )方法必须与传递的值匹配。

2、启动Activity以返回结果

//1 .用返回的方法启动下一个Activity

privatestaticfinalintrequest _ code _ cheat=0; //请求代码

intent intent=new intent (main activity.this,SecondActivity.class );

startactivityforresult(intent,REQUEST_CODE_CHEAT );//第二个参数是请求代码,可以是唯一的

//2.2设置第二个Activity返回的值。

publicstaticfinalstringextra _ name=' name '; //键

private String name='Tom '

Intent intent=new Intent (;

intent.putextra(extra_name,name ); //包含返回的结果值

setresult(result_ok,intent ); //第一个参数是结果代码,用于检查值

//3 .在第一个Activity中重写onActivityResult方法

@Override

protectedvoidonactivityresult (intrequestcode,int resultCode,Intent data ) {

结果代码!=Activity.RESULT_OK ) {

//检查结果代码是否正确

返回;

}

请求代码==请求_代码_ cheat (if ) {

//检查请求代码是否正确

if (data==空值) {

//判断返回结果是否为空

返回;

}

string name=data.getstring extra (second activity.extra _ name ); //获取返回值

toast.maketext(this,来自' SecondActivity的返回值为' name,Toast.LENGTH_SHORT ).show );

}

}

3、以可序列化方式传递对象。

//1 .创建实体类并实现接口可序列化

publicclasspersonimplementsserializable {

私有字符串名称;

私有输入;

公共字符串获取名称

返回名称;

}

公共int get age () {

返回age;

}

公共语音集名称(字符串名称) {

this.name=name;

}

公共语音设置(intage ) {

this.age=age;

}

}

//2 .添加要传递值的对象

publicstaticfinalstringextra _ person=' person '; //键

人员=新人员(; //创建对象并为其赋值

Person.setage(20;

Person.setname('Tom );

intent intent=new intent (main activity.this,SecondActivity.class );

intent.putextra(Extra_Person,person ); //保存为键值对

开始活动(intent;

//3 .取得要交给的人

人员=(人员) getIntent ).get serializable (main activity.extra _ person );

4、以Pracelable方式传递对象。 (与前者相比,建议使用这种方法传递对象。)

//1 .创建传递的目标实体类并实现Pracelable接口。 (请确保write和read的顺序相同。)

publicclasspersonsimplementsparcelable {

私有字符串名称;

私有输入;

公共字符串获取名称

返回名称;

}

公共int get age () {

返回age;

}

公共语音集名称(字符串名称) {

this.name=name;

}

公共语音设置(intage ) {

this.age=age;

}

@Override

公共说明内容(

返回0;

}

@Override

publicvoidwritetoparcel (parcel dest,int flags ) )。

dest.writestring(name; 写name

dst.writeint(age ); 写//age

}

publicstaticfinalparcelable.creator creator=newparcelable.creator {

@Override

publicpersonscreatefromparcel{

人员人员=新人员(;

persons.name=source.readString (; 读取名称

persons.age=source.readInt (; 读取//age

返回人员;

}

@Override

公共个人[ ] new array (intsize ) {

return new Persons[size];

}

(;

}

//2 .添加要传递值的对象

publicstaticfinalstringextra _ persons=' persons '; //键

人员人员=新人员(; //创建对象并为其赋值

Persons.setage(20;

Persons.setname('Tom ' );

intent intent=new intent (main activity.this,SecondActivity.class );

intent.putextra(extra_Persons,persons ); //保存为键值对

开始活动(intent;

//3 .取值传递的对象

personspersons=(persons ) getIntent ).getparcelableextra (extra _ persons );

5、基于Android的互联网发布方法和海量数据发布方案

欢迎指出文章的不足或提供相关补充。

以上方法主要来源于《Android第一行代码》、《Android编程权威指南》以及本人的学习整理所得。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。