内容较多,伴随考研复习,更新较慢,还望谅解。
习题:
Activity通过( setContentView())方法可以设置它的布局文件
Activity的布局文件放在哪个目录下(res/layout)
短信内容的保存
视频播放器
游戏使用
横竖屏切换
习题:
Activity获取焦点时执行方法是(onresume())
Activity销毁时执行执行方法是(ondestroy())
习题:
Android使用( 任务栈 )的方式来管理Activity的实例
栈:后进先出 队列:先进先出
习题:
Android采用(任务栈)的方式来管理Activity的实例
singleInstance启动模式
(一个应用程序一般只有一个任务栈,但是当启动模式是singleInstanc时,就会有多个任务栈)
习题:
1、当Activity的启动模式指定为( singleTask ),每次启动该Activity时,系统首先会检查栈中是否存在该活动的实例,如果发现已经存在则直接使用该实例,并将当前Activity之上的所有Activity出栈,如果没有发现则创建一个新的实例
2、( singleTop )启动模式与standard类似,不同的是,当启动的Activity已经位于栈顶时,则直接使用它不创建新的实例
习题:
1、Intent intent = new Intent();
intent.setAction("cn.itscast.xxx");
startActivity(intent);
采用的是(隐式意图)启动Activity
2、没有明确指定组件名的Intent称为(隐式意图)
习题:
1、下列能打开系统相机的方法是(隐式意图)
习题
1、Android中Intent传递类对象时,该类对象需实现(Serializeable接口)或Parcelable接口
2、下列选项中不能通过Intent传递的是(对象obj)
MainActivity.java中
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioGroup;
public class MainActivity extends Activity {
private EditText et_username;
private EditText et_pwd;
private RadioGroup rg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找到我们关系的控件
et_username = (EditText) findViewById(R.id.et_username);
et_pwd = (EditText) findViewById(R.id.et_pwd);
rg= (RadioGroup) findViewById(R.id.rg);
}
public void click(View View) {
// TODO Auto-generated method stub
String username=et_username.getText().toString().trim();
String pwd=et_pwd.getText().toString().trim();
int getCheckedRadioButtonId=rg.getCheckedRadioButtonId();
//定义一个变量,来判断是男是女
int sex=0;
switch (getCheckedRadioButtonId) {
case R.id.rb_male:
sex=1;
break;
case R.id.rb_female:
sex=2;
break;
}
//将数据传输到第二个页面,通过意图把数据传递过去
Intent intent=new Intent(this,second_main.class);
//携带数据
intent.putExtra("name", username);
intent.putExtra("pwd", pwd);
intent.putExtra("sex", sex);
//开启意图
startActivity(intent);
}
}
second_main中
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
public class second_main extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局
setContentView(R.layout.secondanli);
//找到我们关心的控件
TextView tv_name = (TextView) findViewById(R.id.tv_name);
TextView tv_pwd = (TextView) findViewById(R.id.tv_pwd);
TextView tv_sex= (TextView) findViewById(R.id.tv_sex);
//获取开启此activity的意图对象
Intent intent =getIntent();
//获取携带来的数据
String name=intent.getStringExtra("name");
String pwd=intent.getStringExtra("pwd");
int sex=intent.getIntExtra("sex", 0);
//展示到控件上
tv_name.setText(name);
tv_pwd.setText(pwd);
switch (sex) {
case 1: tv_sex.setText("男");
break;
case 2:
tv_sex.setText("女");
break;
}
}
}
习题:
两个RadioButton要实现单选需要包裹在(RadioGroup)中
习题
1、下列不是onActivityResult()方法参数的是(result)
2、onActivityResult()方法有三个参数,其中(resultCode)表示在返回数据时传入结果码
MainActivity.java中
package com.example.zhuangbeixuanze;
import com.example.domain.Info;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.style.UpdateAppearance;
import android.view.Menu;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
public class MainActivity extends Activity {
private ProgressBar pb1;
private ProgressBar pb2;
private ProgressBar pb3;
private TextView tv_life;
private TextView tv_atk;
private TextView tv_quick;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 找到我们关心的控件
pb1 = (ProgressBar) findViewById(R.id.progressBar1);
pb2 = (ProgressBar) findViewById(R.id.progressBar2);
pb3 = (ProgressBar) findViewById(R.id.progressBar3);
tv_life =(TextView)findViewById(R.id.tv_life);
tv_atk =(TextView)findViewById(R.id.tv_atk);
tv_quick =(TextView)findViewById(R.id.tv_quick);
//初始化进度条的最大值
pb1.setMax(1000);
pb2.setMax(1000);
pb3.setMax(1000);
}
//点击按钮跳转到shop页面
public void click1(View v) {
Intent intent= new Intent(this,ShoppingActivity.class);
//开启一个页面并且要开启这个页面的
startActivityForResult(intent,1);
}
//當我們開啓activity關閉使用的方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode==10)
{
//代表數據來源於shopping activity
Info info=(Info)data.getExtras().get("info");
//更新u i
updateProgressBar(info);
}
super.onActivityResult(requestCode, resultCode, data);
}
//u i
private void updateProgressBar(Info info) {
//获取当前进度
int progress1=pb1.getProgress();
int progress2=pb2.getProgress();
int progress3=pb3.getProgress();
//更新进度
pb1.setProgress(progress1+info.getLife());
pb2.setProgress(progress2+info.getAttack());
pb3.setProgress(progress3+info.getQuick());
//更新一些text view的值
tv_life.setText(pb1.getProgress()+"");
tv_atk.setText(pb2.getProgress()+"");
tv_quick.setText(pb3.getProgress()+"");
}
}
ShoppingActivity中
package com.example.zhuangbeixuanze;
import com.example.domain.Info;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class ShoppingActivity extends Activity implements OnClickListener{
private Info info;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//加载布局
setContentView(R.layout.activity_shop);
findViewById(R.id.rl).setOnClickListener(this);
//初始化顯示數據
info=new Info("金劍", 20, 100, 20);
//找到控件數據
TextView tv_name = (TextView) findViewById(R.id.tv_name);
TextView tv_life = (TextView) findViewById(R.id.tv_life);
TextView tv_attack = (TextView) findViewById(R.id.tv_attack);
TextView tv_speed= (TextView) findViewById(R.id.tv_speed);
//初始化數據,展示到控件上
tv_attack.setText("攻擊力"+info.getAttack());
tv_life.setText("生命值"+info.getLife());
tv_speed.setText("速度"+info.getQuick());
tv_name.setText(info.getName());
}
@Override
public void onClick(View v){
// 具體判斷點擊的是誰
switch (v.getId()) {
case R.id.rl:
//獲取當前數據,把info數據返回
Intent intent=new Intent();
intent.putExtra("info",info);
//把結果返回給調用者(main activity)
setResult(10, intent);
//關閉當前頁面,通過on activity result方法返回
finish();
break;
default:
break;
}
}
}
习题
ProgressBar设置当前进度的方法是(setProgress())