1.启动和关闭Activity
Intent intent = new Intent(MainActivity.this, PasswordActivity.class);
startActivity(intent); //启动Activity
finish(); //关闭当前Activity
2.使用Bundle传递信息
Intent intent = new Intent(MainActivity.this, AddressActivity.class);
//创建并实例化一个Bundle对象
Bundle bundle = new Bundle();
bundle.putCharSequence("name", name);//保存姓名
bundle.putCharSequence("phone", phone);//保存手机号码
bundle.putCharSequence("site1", site1);//保存所在地区信息
bundle.putCharSequence("site2", site2);//保存所在街道信息
bundle.putCharSequence("site3", site3);//保存详细地址信息
intent.putExtras(bundle);//将Bundle对象添加到Intent对象中
startActivity(intent);//启动Activity
Intent intent = getIntent();//获取Intent对象
Bundle bundle = intent.getExtras();//获取传递的Bundle信息
TextView name = (TextView) findViewById(R.id.name);//获取显示姓名的TextView组件
name.setText(bundle.getString("name"));//获取输入的姓名并显示到TextView组件中
TextView phone = (TextView) findViewById(R.id.phone);//获取显示手机号码的TextView组件
phone.setText(bundle.getString("phone"));//获取输入的电话号码并显示到TextView组件中
TextView site = (TextView) findViewById(R.id.site);//获取显示地址的TextView组件
//获取输入的地址并显示到TextView组件中
3.调用另一个Activity并返回其结果
主:
1.打开从Activity时还需要标记码
2.设定好onActivityResult()方法
从:
关闭Activity前返回结果码
import android.app.Activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button= (Button) findViewById(R.id.btn);//获取选择头像按钮
button.setOnClickListener(new View.OnClickListener() { //为按钮创建单机事件
@Override
public void onClick(View v) {
//创建Intent对象
Intent intent=new Intent(MainActivity.this,HeadActivity.class);
startActivityForResult(intent, 0x11);//启动intent对应的Activity
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==0x11 && resultCode==0x11){ //判断是否为待处理的结果
Bundle bundle=data.getExtras(); //获取传递的数据包
int imageId=bundle.getInt("imageId"); //获取选择的头像ID
ImageView iv=(ImageView)findViewById(R.id.imageView); //获取布局文件中添加的ImageView组件
iv.setImageResource(imageId); //显示选择的头像
}
}
}
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
public class HeadActivity extends Activity {
public int[] imageId = new int[]{R.drawable.touxiang1, R.drawable.touxiang2,
R.drawable.touxiang3, R.drawable.touxiang4, R.drawable.touxiang5
}; // 定义并初始化保存头像id的数组
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_head);
GridView gridview = (GridView) findViewById(R.id.gridView); // 获取GridView组件
BaseAdapter adapter=new BaseAdapter() {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageview; //声明ImageView的对象
if(convertView==null){
imageview=new ImageView(HeadActivity.this); //实例化ImageView的对象
/*************设置图像的宽度和高度******************/
imageview.setAdjustViewBounds(true);
imageview.setMaxWidth(158);
imageview.setMaxHeight(150);
/**************************************************/
imageview.setPadding(5, 5, 5, 5); //设置ImageView的内边距
}else{
imageview=(ImageView)convertView;
}
imageview.setImageResource(imageId[position]); //为ImageView设置要显示的图片
return imageview; //返回ImageView
}
/*
* 功能:获得当前选项的ID
*/
@Override
public long getItemId(int position) {
return position;
}
/*
* 功能:获得当前选项
*/
@Override
public Object getItem(int position) {
return position;
}
/*
* 获得数量
*/
@Override
public int getCount() {
return imageId.length;
}
};
gridview.setAdapter(adapter); // 将适配器与GridView关联
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = getIntent(); //获取Intent对象
Bundle bundle = new Bundle(); //实例化要传递的数据包
bundle.putInt("imageId", imageId[position]);// 显示选中的图片
intent.putExtras(bundle); //将数据包保存到intent中
setResult(0x11, intent); //设置返回的结果码,并返回调用该Activity的Activity
finish(); //关闭当前Activity
}
});
}
}
4.fragment
1.获取Fragment
2.开启一个事务
3.为Fragment初始化
4.创建Fragment
5.替换Fragment
6.提交事务
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imageView1 = (ImageView) findViewById(R.id.image1);//获取布局文件的第一个导航图片
ImageView imageView2 = (ImageView) findViewById(R.id.image2);//获取布局文件的第二个导航图片
ImageView imageView3 = (ImageView) findViewById(R.id.image3);//获取布局文件的第三个导航图片
ImageView imageView4 = (ImageView) findViewById(R.id.image4);//获取布局文件的第四个导航图片
imageView1.setOnClickListener(l);//为第一个导航图片添加单机事件
imageView2.setOnClickListener(l);//为第二个导航图片添加单机事件
imageView3.setOnClickListener(l);//为第三个导航图片添加单机事件
imageView4.setOnClickListener(l);//为第四个导航图片添加单机事件
}
//创建单机事件监听器
View.OnClickListener l = new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm = getFragmentManager(); // 获取Fragment
FragmentTransaction ft = fm.beginTransaction(); // 开启一个事务
Fragment f = null; //为Fragment初始化
switch (v.getId()) { //通过获取点击的id判断点击了哪个张图片
case R.id.image1:
f = new WeChat_Fragment(); //创建第一个Fragment
break;
case R.id.image2:
f = new Message_Fragment();//创建第二个Fragment
break;
case R.id.image3:
f = new Find_Fragment();//创建第三个Fragment
break;
case R.id.image4:
f = new Me_Fragment();//创建第四个Fragment
break;
default:
break;
}
ft.replace(R.id.fragment, f); //替换Fragment
ft.commit(); //提交事务
}
};
}
We_Char.fragment
import android.app.Fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* Created by Administrator on 2016/2/18.
*/
public class WeChat_Fragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.wechat_fragment,null);
return view;
}
}
5.Intent的Action和data属性
intent.setAction(ACTION.)会调用安卓系统的一些自带功能
使用intent.setData(Uri.parse())可以加载数据
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageButton imageButton = (ImageButton) findViewById(R.id.imageButton_phone); //获取电话图片按钮
ImageButton imageButton1 = (ImageButton) findViewById(R.id.imageButton_sms); //获取短信图片按钮
imageButton.setOnClickListener(l); //为电话图片按钮设置单击事件
imageButton1.setOnClickListener(l);//为短信图片按钮设置单击事件
}
//创建监听事件对象
View.OnClickListener l = new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(); //创建Intent对象
switch (v.getId()) { //根据ImageButton组件的id进行判断
case R.id.imageButton_phone: //如果是电话图片按钮
intent.setAction(intent.ACTION_DIAL); //调用拨号面板
intent.setData(Uri.parse("tel:13800138000")); //设置要拨打的号码
startActivity(intent); //启动Activity
break;
case R.id.imageButton_sms: //如果是短信图片按钮
intent.setAction(intent.ACTION_SENDTO); //调用发送短信息
intent.setData(Uri.parse("smsto:5554")); //设置要发送的号码
intent.putExtra("sms_body", "Welcome to Android!"); //设置要发送的信息内容
startActivity(intent); //启动Activity
}
}
};
}
6.Intent的Action和Category属性
使用addCategory设置要调用的安卓系统的Activity
import android.app.Activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.ImageButton;
import android.widget.ImageView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//设置全屏显示
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
ImageButton imageButton= (ImageButton) findViewById(R.id.imageButton1); //获取ImageView组件
//为ImageView组件设置单击事件监听器
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(); //创建Intent对象
intent.setAction(intent.ACTION_MAIN); //设置action动作属性
intent.addCategory(intent.CATEGORY_HOME); //设置categoty种类显示主屏幕
startActivity(intent); //启动Activity
}
});
}
}
7.Intent过滤器
在AndroidManifest的activity中添加可以添加你想添加的操作
<activity android:name=".ContactsActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>