Adndroid 从入门到精通 第五章 Activity


Activity 四大状态:

    活动状态:位于Activity栈顶 用户可见,获得焦点

   暂停状态:失去焦点的Activity 用户不可见,在系统内存低的情况下不能被Killed

   停止状态: 该Activity被其他Activity覆盖,用户不可见,在系统内存低的情况下会被Killed  仍然保存所有的状态和信息

   销毁状态:该Activity结束  或Activity所在的Dalvik进程结束

Activity的回调方法:

   onCreate()         在创建Activity的时候被回调

   onStart()              在启动Activity的时候被回调

   onRestart()         重新启动Activity的时候被回调

   onPause()          暂停Activity的时候被回调

   onResume()     当Activity由暂定状态恢复成活动状态被回调

   onStop()            停止Activity时被回调

   onDestroy()      销毁Activity时被回调



//启动 Activity   

Intent mIntent=new Intent(MainActivity.this, Detaile.class);
startActivity(mIntent);
//关闭 Activity

finish();

//创建无布局文件的Activity

public class AboutActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		LinearLayout ll = new LinearLayout(this);//创建一个线性布局
		ll.setPadding(20, 20, 20, 20);  //设置线性布局的内边距
		TextView tx = new  TextView(this);//创建文本
		tx.setTextSize(24);//设置文本大小
		tx.setText("adasdjkaslkdjaskdljaskdjasdlkjasldkjaslkdjasdkjasdlk");//设置内容
		ll.addView(tx);
		setContentView(ll);
	}

}

  <activity
            android:name=".AboutActivity"
            android:label="@string/about"
            android:theme="@android:style/Theme.Dialog" ><!-- 已Dialog的方式显示 -->
        </activity>

----------------------------------------------------多个Activity的使用----------------------------------------------------------------------------------------------------

Bundle 是一个字符串到各种Parcelable类型的映射,用于保存要携带的数据包

//传送数据的Activity

String UserName=((EditText)findViewById(R.id.id_UserName)).getText().toString();//获取用户名
		String PassWord=((EditText)findViewById(R.id.id_UserPass)).getText().toString();//获取用户密码
		<span style="color:#FF6666;">Intent mIntent = new Intent(Register.this, Detaile.class);
		Bundle mBundle = new Bundle();//实例化一个Bundle对象</span>
		mBundle.putCharSequence("User", UserName);//保存用户名
		mBundle.putCharSequence("pas", PassWord);//保存密码
		
		<span style="color:#FF6666;">mIntent.putExtras(mBundle);//将创建好的Bundle添加到Intent中</span>
		
		startActivity(mIntent);//启动

//接收收据的Activity

private void GetIntent() {
		Intent mIntent=getIntent();//获取Intent对象
		Bundle mBundle=mIntent.getExtras();//  获取传递的数据报
		
		<span style="color:#FF0000;">String UserName=mBundle.getString("User").toString();</span>
		
		Toast.makeText(Detaile.this, UserName, Toast.LENGTH_SHORT).show();
		
	}

-------------------------------调用另一个Activity 并返回结果------------------------------------------------------------

1声明一个常量的CODE 

2 使用     Intent mIntent = new Intent(Test001.this, Hand.class);
                startActivityForResult(mIntent,Code2);     启动Activity

3.重写onActivityResult方法

4判断if (requestCode==CODE&&resultCode==CODE)

protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_hand);
		mArrayList = new ArrayList<Map<String, Object>>();

		for (int i = 0; i < Img.length; i++) {
			Map<String, Object> map = new HashMap<String, Object>();
			map.put("Img", Img[i]);
			mArrayList.add(map);
		}
		SimpleAdapter mSimpleAdapter = new SimpleAdapter(Hand.this, mArrayList,
				R.layout.item, new String[] { "Img" },
				new int[] { R.id.id_img });
		((GridView)findViewById(R.id.GridView1)).setAdapter(mSimpleAdapter);
		((GridView)findViewById(R.id.GridView1)).setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				
				Intent mIntent =getIntent();
				Bundle mBundle=new Bundle();
				mBundle.putInt("Image", Img[position]);
				mIntent.putExtras(mBundle);
				setResult(1, mIntent);
				finish();
				
			}
		});

	}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO 自动生成的方法存根
		super.onActivityResult(requestCode, resultCode, data);
		if (requestCode==CODE&&resultCode==CODE) {
			((EditText)findViewById(R.id.editText1)).setText("");
			((EditText)findViewById(R.id.editText2)).setText("");
			RadioGroup sexRadioGroup=(RadioGroup)findViewById(R.id.sex);
			String Sex="";
			for (int i = 0; i < sexRadioGroup.getChildCount(); i++) {
				RadioButton mRadioButton=(RadioButton)sexRadioGroup.getChildAt(i);
				mRadioButton.setChecked(false);
			}
		}
		if(requestCode==Code2&&resultCode==Code2)
		{
			//获取选中的图像赋值
			//取  data就是Intent
			Bundle mBundle=data.getExtras();
			int InageID=mBundle.getInt("Image");
			((ImageView)findViewById(R.id.id_ImgView)).setImageResource(InageID);
		}
		






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Android从入门到精通》课件是一套专门针对学习和掌握Android开发技术的教学资料。该课件内容丰富,系统地介绍了从入门到精通的Android开发知识。 首先,课件会从Android的基础知识开始讲解,包括Android的基本架构和组件、Activity生命周期、布局和控件等。学习者将了解到Android应用程序的基本结构和开发流程。 其次,课件会进一步介绍Android的高级知识,如数据存储与管理、多线程编程、网络通信、手机传感器与定位等。学习者将深入了解Android开发的各个方面,能够开发出更加复杂和功能丰富的应用程序。 此外,课件还会介绍Android开发中常用的开发工具和技术,如Android Studio开发环境、Android SDK工具集、Gradle构建系统等。学习者将学会如何使用这些工具和技术来提高开发效率和质量。 值得一提的是,该课件还会结合实际案例和实践项目,帮助学习者通过实际操作来巩固所学知识,并提供一些开发技巧和经验分享。 总体而言,《Android从入门到精通》课件以系统性、实用性和深入性为特点,旨在帮助学习者全面理解和掌握Android开发技术。通过学习该课件,学员将能够独立实现Android应用程序的开发,并能够根据需求进行定制和扩展,达到精通的水平。 ### 回答2: 《Android从入门到精通》课件是一套全面介绍如何学习和应用Android开发的教学材料。该课件旨在帮助学习者逐步了解Android平台的基本知识,并通过实践项目来提高他们的开发技能。 课件首先会介绍Android平台的基本概念和架构,包括Android的历史发展、系统架构、应用组件和用户界面等方面的内容。学习者将会对Android平台的整体结构有一个清晰的认识,为后续的学习打下坚实的基础。 接下来,课件会重点介绍Android应用开发的关键技术,包括Java编程语言、Android开发工具、布局设计、界面控件、数据存储和网络通信等方面的内容。学习者将会学习如何使用这些关键技术来创建功能丰富、用户友好的Android应用程序。 此外,课件还将提供一些实践项目,通过实际的应用案例来巩固学习者的技能。学习者将会有机会运用所学知识来完成一些简单的Android应用开发任务,从而更好地理解和掌握这些技术。 《Android从入门到精通》课件的设计旨在让学习者在短时间内掌握从入门到精通的Android开发技能。无论是初学者还是有一定经验的开发者,都可以通过这套课件快速提升自己的Android开发能力,为今后的工作和学习打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值