090913苏伟亮实验3.docx

上传人:b****4 文档编号:11710261 上传时间:2023-03-30 格式:DOCX 页数:16 大小:547.35KB
下载 相关 举报
090913苏伟亮实验3.docx_第1页
第1页 / 共16页
090913苏伟亮实验3.docx_第2页
第2页 / 共16页
090913苏伟亮实验3.docx_第3页
第3页 / 共16页
090913苏伟亮实验3.docx_第4页
第4页 / 共16页
090913苏伟亮实验3.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

090913苏伟亮实验3.docx

《090913苏伟亮实验3.docx》由会员分享,可在线阅读,更多相关《090913苏伟亮实验3.docx(16页珍藏版)》请在冰豆网上搜索。

090913苏伟亮实验3.docx

090913苏伟亮实验3

移动应用开发实验指导书

容简介

移动应用开发是计算机专业学生的一门专业课程,着重讲述移动应用编程的技术方法。

对于学生从事移动应用系统的研发、使用和维护有重要意义。

本课程概念多、容涉及面广、系统性强。

通过本课程的学习,学生应能从软件、硬件功能分配的角度去了解、分析和研究移动应用系统,建立起对移动应用系统的全面认识,树立全面地、发展地看问题的观点,从而加深对各种类型移动应用系统的了解。

本课程的学习应注重理论与实践相结合,因此实验教学是教学环节中必不可少的重要容。

通过实验教学的学习,使学生熟练掌握有关移动应用编程的基本概念、基本原理和基本思想,掌握对移动应用系统进行设计、分析和计算的方法。

实验部分包括四个实验,包括实验目的、实验容和实验所需环境等,介绍了每个实验所需的一些基础知识和技巧。

在实验中给出的实验题,跟课堂教学的容都有密切的关系,所以需要将课堂上讲授的例子程序融会贯通,掌握实验所需的一些基本方法和工具,并在吃透例子程序的基础上,积极独立思考设计和编写满足实验要求的程序。

 

中南大学信息科学与工程学院鲁鸣鸣制定

 

上机实验要求及规

移动应用开发课程具有比较强的实践性。

上机实验是一个重要的教学环节。

一般情况下学生能够重视实验环节,对于编写程序上机练习具有一定的积极性。

但是容易忽略实验的总结,忽略实验报告的撰写。

对于一名大学生必须严格训练分析总结能力、书面表达能力。

需要逐步培养书写科学实验报告以及科技论文的能力。

拿到一个题目,一般不要急于编程。

正确的方法是:

首先理解问题,明确给定的条件和要求解决的问题,然后按照自顶向下,逐步求精,分而治之的策略,按照面向对象的程序设计思路,逐一地解决子问题。

一、实验报告的基本要求:

一般性、较小规模的上机实验题,必须遵循下列要求。

养成良好的习惯。

班级学号日期题目

i.问题描述

ii.设计简要描述

iii.程序清单(带有必要的注释)

iv.结果分析(原始图示,测试数据与运行记录,分析正确性;)

v.调试报告:

实验者必须重视最后这两个环节,否则等同于没有完成实验任务。

这里可以体现个人特色、或创造性思维。

具体容包括:

测试数据与运行记录;调试中遇到的主要问题,自己是如何解决的;经验和体会等。

二、实验报告的提高要求:

阶段性、较大规模的上机实验题,应该遵循下列要求。

养成科学的习惯。

(1)问题描述

(2)需求和规格说明

(3)描述问题,简述题目要解决的问题是什么。

规定软件做什么。

原题条件不足时补全。

(4)概要设计:

功能模块的划分

(5)详细设计:

每部分模块的设计,含数据结构的设计,算法的描述(流程图或PDL)

a.设计思想:

主要算法基本思想。

b.设计表示:

每个函数的头和规格说明;列出每个函数所调用和被调用的函数,也可以通过调用关系图表达。

(6)实现注释:

各项功能的实现程度、在完成基本要求的基础上还有什么功能。

(7)用户手册:

即使用说明书。

(8)调试报告:

调试过程中遇到的主要问题是如何解决的;设计的回顾、讨论和分析;时间复杂度、空间复杂度分析;改进设想;经验和体会等。

 

实验三Activity的生命周期及Intent

一、实验目的

1.掌握activity组件生命周期函数的用法

2.掌握使用intent实现activity之间的跳转

3.掌握在manifest文中定义多个activity,并指定LauncherActivity

二、实验开发环境和工具

可以在Linux或者Windows操作系统上搭建开发环境,所使用的开发工具包括ADTbundle或AndroidStudio,使用Java语言,工具包使用JDK1.7或1.8。

3、实验容

(1)问题描述

设计如下界面,包括四个按钮,两个文本框。

单击对应按钮可以启动对应activity。

假定ActivityA为启动Activity。

具体如图1.1、1.2、1.3、1.4所示:

图1.1初始界面(ActivityAisstarted)

 

图1.2单击Dialog按钮(ActivityAispaused)

图1.3单击“StartB”(ActivityAisstoppedandActivityBisstarted)

图1.4单击“StartC”(ActivityAisstoppedandActivityCisstarted)

(2)详细设计

启动Activity:

MainActivity的设计

Activity_main.xml的设计:

android="schemas.android./apk/res/android"

xmlns:

tools="schemas.android./tools"

android:

layout_width="match_parent"

android:

layout_height="match_parent"

android:

paddingBottom="dimen/activity_vertical_margin"

android:

paddingLeft="dimen/activity_horizontal_margin"

android:

paddingRight="dimen/activity_horizontal_margin"

android:

paddingTop="dimen/activity_vertical_margin"

tools:

context=".example.shiyan3.MainActivity">

android:

id="+id/layout1"

android:

layout_width="match_parent"

android:

layout_height="wrap_content"

android:

orientation="horizontal"

android:

layout_below="+id/textView1">

android:

id="+id/button1"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="StartB"

android:

textColor="#FFFFFF"/>

android:

id="+id/button2"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="StartC"

android:

textColor="#FFFFFF"/>

android:

id="+id/button3"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="FinishA"

android:

textColor="#FFFFFF"/>

android:

id="+id/button4"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="Dialog"

android:

textColor="#FFFFFF"/>

android:

id="+id/textView1"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

layout_alignParentTop="true"

android:

layout_centerHorizontal="true"

android:

text="ActivityA"

android:

textColor="#FFFFFF"

android:

textSize="100px"/>

android:

id="+id/textView2"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

layout_alignLeft="+id/textView1"

android:

layout_below="+id/layout1"

android:

text="LifeCycleMethodList"

android:

textColor="#FFFFFF"

android:

textSize="30px"/>

android:

id="+id/textView3"

android:

layout_width="200dp"

android:

layout_height="150dp"

android:

layout_alignLeft="+id/textView2"

android:

layout_below="+id/textView2"

android:

text=""/>

android:

id="+id/textView4"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

layout_alignLeft="+id/textView3"

android:

layout_below="+id/textView3"

android:

text="ActivityStatus"

android:

textColor="#FFFFFF"

android:

textSize="30px"/>

android:

id="+id/textView5"

android:

layout_width="200dp"

android:

layout_height="150dp"

android:

layout_alignLeft="+id/textView4"

android:

layout_below="+id/textView4"

android:

text=""/>

MainActivity.java的设计:

package.example.shiyan3;

 

importandroid.app.AlertDialog;

importandroid.content.DialogInterface;

importandroid.content.Intent;

importandroid.os.Bundle;

importandroid.support.v7.app.ActionBarActivity;

importandroid.util.Log;

importandroid.view.Menu;

importandroid.view.MenuItem;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.TextView;

importandroid.widget.Toast;

publicclassMainActivityextendsActionBarActivity{

privateTextViewtextview;

privateTextViewtextview1;

privateButtonbtn1;

privateButtonbtn2;

privateButtonbtn3;

privateButtonbtn4;

privatestaticfinalStringTAG="MainActivity";

publicStringtag=null;

publicStringtag1=null;

Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

Log.d(TAG,"ActivityA.onCreate()");

tag="ActivityA.onCreate()"+"\n";

tag1="ActivityA.onCreate()"+"\n";

setContentView(R.layout.activity_main);

getWindow().setBackgroundDrawableResource(R.drawable.bk1);

textview=(TextView)findViewById(R.id.textView3);

textview.setBackgroundColor(android.graphics.Color.WHITE);

textview1=(TextView)findViewById(R.id.textView5);

textview1.setBackgroundColor(android.graphics.Color.WHITE);

textview.setText(tag);

textview1.setText(tag1);

btn1=(Button)findViewById(R.id.button1);

btn2=(Button)findViewById(R.id.button2);

btn3=(Button)findViewById(R.id.button3);

btn4=(Button)findViewById(R.id.button4);

btn1.setOnClickListener(newOnClickListener(){

publicvoidonClick(Viewv){

//Toast.makeText(getBaseContext(),"stopped!

",Toast.LENGTH_LONG).show();

Intentintent=newIntent();

//intent.putExtra(ActivityB.info,tag);

Bundlebundle=newBundle();

bundle.putString("b","hello");

intent.putExtras(bundle);

intent.setClass(MainActivity.this,ActivityB.class);

startActivity(intent);

}

});

btn2.setOnClickListener(newOnClickListener(){

publicvoidonClick(Viewv){

//Toast.makeText(getBaseContext(),"stopped!

",Toast.LENGTH_LONG).show();

Intentintent=newIntent();

//intent.putExtra(ActivityB.info,tag);

Bundlebundle=newBundle();

bundle.putString("c","hello");

intent.putExtras(bundle);

intent.setClass(MainActivity.this,ActivityC.class);

startActivity(intent);

}

});

btn3.setOnClickListener(newOnClickListener(){

publicvoidonClick(Viewv){

//Toast.makeText(getBaseContext(),"stopped!

",Toast.LENGTH_LONG).show();

MainActivity.this.finish();

}

});

btn4.setOnClickListener(newOnClickListener(){

publicvoidonClick(Viewv){

//Toast.makeText(getBaseContext(),"stopped!

",Toast.LENGTH_LONG).show();

AlertDialog.Builderbuilder=newAlertDialog.Builder(MainActivity.this);

builder.setTitle("SimpleDialog");

builder.show();

builder.setPositiveButton("close",newDialogInterface.OnClickListener()

{

Override

publicvoidonClick(DialogInterfacedialog,intwhich){

//TODOAuto-generatedmethodstub

dialog.dismiss();

}

});

builder.show();

}

});

}

Override

publicbooleanonCreateOptionsMenu(Menumenu){

//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.

getMenuInflater().inflate(R.menu.main,menu);

returntrue;

}

Override

publicbooleanonOptionsItemSelected(MenuItemitem){

//Handleactionbaritemclickshere.Theactionbarwill

//automaticallyhandleclicksontheHome/Upbutton,solong

//asyouspecifyaparentactivityinAndroidManifest.xml.

intid=item.getItemId();

if(id==R.id.action_settings){

returntrue;

}

returnsuper.onOptionsItemSelected(item);

}

Override

protectedvoidonStart(){

//TODOAuto-generatedmethodstub

super.onStart();

Log.d(TAG,"ActivityA.onStart()");

tag+="ActivityA.onStart()"+"\n";

tag1="ActivityA.onStart()"+"\n";

textview.setText(tag);

textview1.setText(tag1);

}Override

protectedvoidonResume(){

//TODOAuto-generatedmethodstub

super.onResume();

Log.d(TAG,"ActivityA.onResume()");

tag+="ActivityA.onResume()"+"\n";

tag1="ActivityA.onResume()"+"\n";

textview.setText(tag);

textview1.setText(tag1);

}Override

protectedvoidonPause(){

//TODOAuto-generatedmethodstub

super.onPause();

Log.d(TAG,"ActivityA.onPause()");

tag+="ActivityA.onPause()"+"\n";

textview.setText(tag);

tag1="ActivityA.onPause()"+"\n";

textview1.setText(tag1);

}Override

protectedvoidonDestroy(){

//TODOAuto-generatedmethodstub

super.onDestroy();

Log.d(TAG,"ActivityA.onDestroy()");

tag+="ActivityA.onDestroy()"+"\n";

textview.setText(tag);

tag1="ActivityA.onDestroy()"+"\n";

textview1.setText(tag1);

}

Override

protectedvoidonStop(){

//TODOAuto-generatedmethodstub

super.onStop();

Log.d(TAG,"ActivityA.onStop()");

tag+="ActivityA.onStop()"+"\n";

textview.setText(tag);

tag1="ActivityA.onStop()"+"\n";

textview1.setText(tag1);

}

}

总体框架:

AndoidManifest.xml中添加:

android:

name=".ActivityB"

android:

label="string/app_name">

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 冶金矿山地质

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1