国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

在Android中設(shè)計(jì)和實(shí)現(xiàn)簡(jiǎn)單的計(jì)算能力測(cè)試系統(tǒng)

2016-11-14 23:45:53歐陽(yáng)桂秀
電子技術(shù)與軟件工程 2016年18期
關(guān)鍵詞:計(jì)算測(cè)試

歐陽(yáng)桂秀

摘 要

介紹了Android中Intent類的一個(gè)構(gòu)造方法,使用這個(gè)構(gòu)造方法來(lái)創(chuàng)建Intent類的對(duì)象,實(shí)現(xiàn)同一個(gè)應(yīng)用程序中多個(gè)Activity對(duì)象的切換,從而實(shí)現(xiàn)更多的功能。

【關(guān)鍵詞】計(jì)算 測(cè)試 Android Activity Intent

1 引言

一個(gè)應(yīng)用程序可以包含若干個(gè)Activity。可以讓某個(gè)Activity對(duì)象使用Intent對(duì)象來(lái)啟動(dòng)其它的Activity對(duì)象。

2 Intent類的一個(gè)構(gòu)造方法

Intent(Context packgeContext ,Class <?> cls):該構(gòu)造方法的參數(shù)packgeContext是當(dāng)前應(yīng)用程序所在的上下文,參數(shù)cls是打算啟動(dòng)的Activity對(duì)象的類的名字。

例如:

假設(shè),已經(jīng)有如下類的聲明:

class Calculator extends Activity

class MainCalculator extends Activity

那么,下面這條語(yǔ)句

Intent intent=new Intent(this,MainCalculator.class);

作用是:當(dāng)前類的對(duì)象(Calculator類的當(dāng)前對(duì)象this),打算啟動(dòng)的Activity對(duì)象的類的名字是MainCalculator。

接下來(lái)的語(yǔ)句

startActivity(intent);

作用是:實(shí)現(xiàn)兩個(gè)Activity之間的切換。從當(dāng)前的Activity,啟動(dòng)另外一個(gè)Activity,即 MainCalculator。

3 一個(gè)Activity對(duì)象使用Intent對(duì)象來(lái)啟動(dòng)另一個(gè)Activity對(duì)象的實(shí)例

【例1】在Android中實(shí)現(xiàn)簡(jiǎn)單的計(jì)算能力測(cè)試系統(tǒng)。計(jì)算隨機(jī)給出的兩位數(shù)的加減法算術(shù)題,要求用戶回答,答對(duì)的提示“正確”,答錯(cuò)的提示“錯(cuò)誤”。隨時(shí)給出答題的正確率。

(1)第一個(gè)Activity的相關(guān)程序,文件Calculator.java:

package com.example.calculate;

import android.os.Bundle;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.ActivityNotFoundException;

import android.view.View;

import android.content.Intent; //加

public class Calculator extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.welcome);

}

public void display(View view){

Intent intent=new Intent(this,MainCalculator.class);

try {

startActivity(intent);

}

catch(ActivityNotFoundException exp) {

AlertDialog.Builder build=new AlertDialog.Builder(this);

AlertDialog dialog = build.create();

dialog.setTitle("can not find activity!");

dialog.show();

}

}

public void endTest(View view){

System.exit(0);

}

}

(2)第二個(gè)Activity的相關(guān)程序,文件MainCalculator.java:

package com.example.calculate;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.*;

public class MainCalculator extends Activity {

EditText texta,textb,textc;

TextView labela,label3,label4;

Button problem,judge;

int a,b,right_answer,answer,op,temp;

float p,right,total;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.test);

texta = (EditText)findViewById(R.id.texta); //被加數(shù)(被減數(shù))

textb= (EditText)findViewById(R.id.textb); //加數(shù)(減數(shù))

textc = (EditText)findViewById(R.id.textc); //輸入計(jì)算結(jié)果

labela=(TextView)findViewById(R.id.labela); //運(yùn)算符“+”或“-”

label3=(TextView)findViewById(R.id.label3); //輸出“正確”或“錯(cuò)誤”的提示信息

label4=(TextView)findViewById(R.id.label4); //正確率

problem=(Button)findViewById(R.id.problem); //“出題”按鈕

judge=(Button)findViewById(R.id.judge); //“判斷”按鈕

}

public void show(View view){

texta.setText(" ");

textb.setText(" ");

textc.setText(" ");

label3.setText(" ");

a=(int)(Math.random( )*100)+1;

b=(int)(Math.random( )*100)+1;

op=(int)(Math.random( )*2);

if(op<1)

{

labela.setText("+");

texta.setText(String.valueOf(a));

textb.setText(String.valueOf(b));

right_answer=a+b;

}

else

{

labela.setText("-");

if(a

{

temp=a;

a=b;

b=temp;

}

texta.setText(String.valueOf(a));

textb.setText(String.valueOf(b));

right_answer=a-b;

}

}

public void decide(View view){

total++;

String s2=" ";

s2=textc.getText().toString();

answer=Integer.parseInt(s2.trim());

if (right_answer==answer)

{ label3.setText("正確");

right++;

}

else

{ label3.setText("錯(cuò)誤");

}

p=(right/total)*100;

String s3=String.format("%.2f", p);

label4.setText("正確率="+s3+"%");

}

}

(3)配置文件AndroidManifest.xml,在之前,新增加Activity 語(yǔ)句如下:

第一個(gè)Activity的界面如圖1所示。

單擊圖1的“歡迎測(cè)試”按鈕,出現(xiàn)的第二個(gè)Activity的初始界面如圖2所示。

第二個(gè)Activity,單擊“出題”按鈕,輸入運(yùn)算結(jié)果,然后單擊“判斷”按鈕,運(yùn)行結(jié)果如圖3所示。

4 結(jié)束語(yǔ)

通過(guò)學(xué)習(xí)Android中Intent類的構(gòu)造方法,我們可以使用Intent類的構(gòu)造方法來(lái)創(chuàng)建Intent類的對(duì)象,實(shí)現(xiàn)同一個(gè)應(yīng)用程序中多個(gè)Activity對(duì)象的切換,從而實(shí)現(xiàn)更多的功能。

這個(gè)簡(jiǎn)單的計(jì)算能力測(cè)試系統(tǒng)的界面welcome.xml和test.xml比較簡(jiǎn)單,在這里就不介紹了。另外,這個(gè)系統(tǒng)還可以擴(kuò)展,實(shí)現(xiàn)乘、除等計(jì)算功能。限于篇幅,不再詳細(xì)講解了。

參考文獻(xiàn)

[1]耿祥義,張躍平.Android手機(jī)程序設(shè)計(jì)實(shí)用教程[M].北京:清華大學(xué)出版社,2013.

[2]李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社,2013.

[3]明日科技.Android從入門到精通[M].北京:清華大學(xué)出版社,2012.

猜你喜歡
計(jì)算測(cè)試
幽默大測(cè)試
幽默大師(2020年11期)2020-11-26 06:12:12
“攝問(wèn)”測(cè)試
“攝問(wèn)”測(cè)試
“攝問(wèn)”測(cè)試
提升小學(xué)數(shù)學(xué)核心素養(yǎng)的實(shí)踐
項(xiàng)目成本計(jì)算方法的改進(jìn)研究
經(jīng)濟(jì)增加值EVA——企業(yè)業(yè)績(jī)?cè)u(píng)價(jià)新指標(biāo)
大型設(shè)備吊裝的承載計(jì)算及平衡梁校核