• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    在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類(lèi)的一個(gè)構(gòu)造方法,使用這個(gè)構(gòu)造方法來(lái)創(chuàng)建Intent類(lèi)的對(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類(lèi)的一個(gè)構(gòu)造方法

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

    例如:

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

    class Calculator extends Activity

    class MainCalculator extends Activity

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

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

    作用是:當(dāng)前類(lèi)的對(duì)象(Calculator類(lèi)的當(dāng)前對(duì)象this),打算啟動(dòng)的Activity對(duì)象的類(lèi)的名字是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ù)題,要求用戶(hù)回答,答對(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類(lèi)的構(gòu)造方法,我們可以使用Intent類(lèi)的構(gòu)造方法來(lái)創(chuàng)建Intent類(lèi)的對(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én)到精通[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ì)算及平衡梁校核
    宜兴市| 商河县| 苍溪县| 新昌县| 阿尔山市| 临邑县| 汽车| 嘉禾县| 修武县| 鸡东县| 萨嘎县| 竹山县| 苏尼特右旗| 邯郸市| 新和县| 新宁县| 大姚县| 历史| 玉田县| 长乐市| 柳江县| 大理市| 阜康市| 兰坪| 灵丘县| 迁安市| 繁昌县| 安丘市| 德昌县| 兰州市| 贵定县| 自贡市| 尉氏县| 通河县| 新巴尔虎左旗| 天峨县| 安吉县| 大宁县| 灵台县| 中方县| 壶关县|