作业说明:
1.做作业之前首先在封面填上自己的学号和姓名,做完作业后请写上作业完成时间。
2.学习完第1-4单元之后必须完成本次作业,并请在规定时间内通过学习平台提交Word文档形式的电子作业,本次作业占形成性考核总成绩的20%。
作业内容:
学习单元2、3、4中实验部分的项目源文件压缩包。请将源码贴在以下位置,格式为先写文件名后贴代码,如下:
QqLoadingActivity,java
@Override//这个方法是从父类/接口继承过来的,需要重写一次
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG FULLSCREEN, WindowManager.LayoutParams. FLAG_ FULLSCREEN);
requestWindowFeature(Window.FEATURE_ NO_ TITLE);//本Activity对应的布局文件为res\layout\qqloading. xmlsetContentView(R.layout.qqloading);
MainActivity. java
//定义登录按钮的控件变量,定义账号名和密码控件变量private Button mConfirmBtn;private EditText mAccountEdtxt;private EditText mPwdEdtxt;
protected void onCreate(Bundle savedInstanceState) {..此处代码省略
//视图中的组件变量初始化initView(); }
//视图中的组件变量初始化private void initView() {
mConfirmBtn=(Button) findViewByld(R.id.act login. Button_ Confirm);mConfirmBtn.setOnClickListener(this);
mAccountEdtxt = (EditText) findViewByld(R.id.act_ login_ EditText_ Accout);mPwdEdtxt = (EditText) findViewByld(R.id.act_ login_ EditText. Pwd);
protected void onCreate( Bundle savedInstanceState){
…..//此处代码省略
/*2登录按钮添加事件响应函数*/
@Override
public void onClick(Viewv){
switch (v.getld()
{
case R.id.act_ login_ Button_ Confirm:
loginDel();
break;
default:
break;
//登陆的处理
private void loginDel() {
if (mAccountEdtxt. getText().toString().equals(“)| I mPwdEdtxt.getText().toString().equl(“”))
Toast mToast=Toast.makeText(getApplicationContext(),”请输入账号密码”,Toast.LENGTH_ LONG);mToast.show();
else if (mAccountEdtxt.getText().toString().equals(“123”)| |mPwdEdtxt.getText().toString().equals(“123″))
//正在登陆视图
Toast mToast=Toast.makeText(getApplicationContext(),”登陆成功”,Toast.LENGTH_ LONG);mToast.show();
Intent mIntent=new Intent(LoginActivity.this,LoadingActivity.class);startActivity( mIntent);}
public class Activity extends ApplicationContext i
protected void onCreate(Bundle icicle);protected void onStart();protected void onRestart();protected void onResume();
protected void onFreeze( Bundle outlcicle); protected void onPause();protected void onStop();protected void onDestroy();]
MainActivity. java
import androidutil.Log//导入Log类
public class MainActivity extends Activity {..处代码省略
private static final String TAG = ” MainActivity”; //添加本ActivityLog标签
protected void onCreate(Bundle savedInstanceState) {
Log.e(TAG, “start onCrexte~~~”);
protected void onStart() {
super.onStart();
Log.e(TAG, “start onStart~~~”);
….//此处代码省略
//传递数据的Activity中:Intent intent = new Intent();
intent. putExtra(” name “,”Jon”);
/在Intent中加入键值对数据。键:name, 值:Jonintent. setClass (Activity01.this,Activity02.class); Activity01.this.startActivity(intent);
//在取出数据的Activity中
Intent intent = getIntent();//获得传过来的Intent。
String value = intent.getStringExtra(” name”);//根据键name取出值。
Intent intent = new Intent();
Bundle myBundle = new Bundle();
myBundle. putString(“Key_ Name”,”Tom”);intent. putExtras(myBundle);
intent.setClass(Activity01.this ,Activity02.class);Activity01.this .startActivity(intent);EX H EutE ÉJ Activity:
Bundle getBundle = getlntent(). getExtras();
String value = getBundle.getString(“Key_ Name”);
Intent intent = new Intent();
Bundle myBundle = new Bundle();
myBundle. putString(“Key_ Name”,”Tom”);intent. putExtras(myBundle);
intent.setClass(Activity01.this ,Activity02.class);Activity01.this .startActivity(intent);EX H EutE ÉJ Activity:
Bundle getBundle = getlntent(). getExtras();
String value = getBundle.getString(“Key_ Name”);
接收数据的Activity:
Intent intent = getIntent();
Bundle getBundle = getIntent().getExtras();
String data = getBundle. getString(“data “);//读取传过来的数据et.setText(data);
EditText edittext = (EditText) findViewByld(R.id.text);
Intent intent = new Intent();//实例化一个Intent用来传过去,可以在Intent里存放数据。Bundle bundle = new Bundle();
bundle.putString(” Result”,edittext. getText().toString());intent.putExtras(bundle);
Activity02.this.setResult(RESULT_ _OK,intent);//把Intent(数据)传 过去, RESULT_ 0K是请求码。finish();//结束当前的Activity。
QqLoadingActivity,java
//定义组件中的变量
private ProgressBar mProgressBar= null;
private TextView mTextView = null;//1初始化视图
private void initView (){
mProgressBar = (ProgressBar)
findViewByld(R.id.act_ loading progressValue_ progressbar);
mTextView = (TextView) findViewByld( R.id.act_ loading_ progressValue_ textview);
//2HandleXLEi#Ệ
Handler mHandle = new Handler() l
public void handleMessage (Message msg) lmProgressBar.setProgress(msg.arg1);mTextView.setText(msg.arg1 + “%”);
];
//3 RJA1LSFF
Runnable mRunnable = new Runnable() iint iProgressVal= 0;@Override
public void run ()lwhile (true) l
Message msg = mHandle. obtainMessage();iProgressVal = iProgressVal + 1; msg.arg1 = iProgressVal;
mHandle.sendMessage(msg);if (iProgressVal >=100) i/*
* ToastEX# Dialog tẳß# – -↑HandlerÉJFË RCE, TĩToastEÀ# Dialog#
* ÉJHandlerằT E – -↑Looper, FFEI R5 # Eê ToastEX DialogÉJ€g* (J0FÉJTimers/ ) JtA ILLooper*/
Looper.prepare();
Toast.make Text(getApplicationContext(), “登陆成功”,Toast.LENGTH_ LONG).show();Looper.oop();
try {
//放慢进度上升的速度,看到进度条滚动效果Thread.sleep(100); } catch (Exceptione) {//打印异常
e.printStackTrace();
private void ThreadInitStart () {
Thread mThread=new Thread(mRunnable);mThread.start()