User.java
package com.example.hp.learn2video;
import android.os.Parcel;
import android.os.Parcelable;
import java.io.Serializable;
/**
* Created by HP on 2018/10/18.
*/
//简单但是效率低
public class Userx implements Serializable {
private String name;
private int age;
public String getn() {
return name;
}
public int getAge() {
return age;
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
public class User implements Parcelable {//效率更高
private String name;
private int age;
public String getn()
{
return name;
}
public int getAge()
{
return age;
}
public User(String name,int age )
{
this.name=name;
this.age=age;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(getn());
dest.writeInt(getAge());
}
public static final Creator<User> CREATOR = new Creator<User>() {
public User createFromParcel(Parcel source){
//如过内容过多可以使用bundle Bundle
return new User(source.readString(),source.readInt());
}
public User[] newArray(int size){
return new User[size];
}
};
}
Main2Activity
package com.example.hp.learn2video;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class Main2Activity extends AppCompatActivity {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
tv=findViewById(R.id.textView);
Intent i=getIntent();
User user= (User) i.getParcelableExtra("user");
// Bundle b=i.getBundleExtra("key");
tv.setText(String.format("string:%s,time%d",user.getn(),user.getAge()));
}
}
MainActivity
package com.example.hp.learn2video;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.println("onCreat");
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("sadadasdasd"+51);
Intent i= new Intent(MainActivity.this,Main2Activity.class);
// i.putExtra("key","23323");
// Bundle b =new Bundle();
// b.putInt("time",112233);
// b.putString("key","dasdasdsadasd");
// i.putExtra("key",b);
i.putExtra("user", new User("dasda", 15));
startActivity(i);
}
});
}
protected void onStart()
{
super.onStart();
System.out.println("onStart");
}
protected void onResume()
{
super.onResume();
System.out.println("onResume");
}
protected void onPause()
{
super.onPause();
System.out.println("onPause");
}
protected void onStop()
{
super.onStop();
System.out.println("onStop");
}
protected void onDestroy()
{
super.onDestroy();
System.out.println("onDestroy");
}
protected void onRestart()
{
super.onRestart();
System.out.println("onRestart");
}
}