《移动应用开发》试题及答案.docx

上传人:b****5 文档编号:11943074 上传时间:2023-04-16 格式:DOCX 页数:28 大小:24KB
下载 相关 举报
《移动应用开发》试题及答案.docx_第1页
第1页 / 共28页
《移动应用开发》试题及答案.docx_第2页
第2页 / 共28页
《移动应用开发》试题及答案.docx_第3页
第3页 / 共28页
《移动应用开发》试题及答案.docx_第4页
第4页 / 共28页
《移动应用开发》试题及答案.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

《移动应用开发》试题及答案.docx

《《移动应用开发》试题及答案.docx》由会员分享,可在线阅读,更多相关《《移动应用开发》试题及答案.docx(28页珍藏版)》请在冰豆网上搜索。

《移动应用开发》试题及答案.docx

《移动应用开发》试题及答案

《移动应用开发》试题

题目:

1.请实现点击按钮拨打电话功能。

(20分)

2.请实现点击按钮改变文本控件颜色的功能。

(30分)

3.请实现使用socket通信的服务器端代码。

(50分)

要求:

逻辑结构完整,答案要点突出,论述充分,每题答案字数不少于400字。

答案不得完全照抄书本或其他资料,不得互相抄袭。

 

中南大学网络教育课程考试

《移动应用开发》答卷

本人承诺:

本试卷确为本人独立完成,若有违反愿意接受处理。

签名:

______________

学号:

____________________专业:

__________________学习中心:

_________________

题号

总分

评阅人签字

成绩

1.

答:

①privateButtonbtn2;

②btn2=(Button)findViewById(R.id.btn2);//在xml中把button2改成btn2,为该按钮的id

③btn2.setOnClickListener(newOnClickListener(){});

④在OnClick()

Intentin2=newIntent();

in2.setAction(Intent.ACTION_CALL);//指定意图动作

in2.setData(Uri.parse("tel:

1836380000"));//指定电话号码

startActivity(in2);

⑤在android系统中,所有系统请求,必须要在androidmainfest.xml中注册

name="android.permission.CALL_PHONE"/>

MainActivity.java:

packagecom.example.qq;

import.Uri;

importandroid.os.Bundle;

importandroid.app.Activity;

importandroid.app.AlertDialog;

importandroid.app.Dialog;

importandroid.content.DialogInterface;

importandroid.content.Intent;

importandroid.view.LayoutInflater;

importandroid.view.Menu;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.EditText;

publicclassMainActivityextendsActivity{

privateButtonbtn;

privateButtonbtn2;

privateEditTextet;

privateEditTextet2;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

et=(EditText)findViewById(R.id.editText1);

et2=(EditText)findViewById(R.id.editText2);

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

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

btn.setOnClickListener(newOnClickListener(){

@Override

publicvoidonClick(Viewarg0){

//TODOAuto-generatedmethodstub

finalStringstr=et.getText().toString().trim();

finalStringstr2=et2.getText().toString().trim();

if(str.equals(str2))

{

Intentin=newIntent(MainActivity.this,SecActivity.class);

startActivity(in);

}

else

{

System.out.println("");

}

}});

btn2.setOnClickListener(newOnClickListener(){

@Override

publicvoidonClick(Viewarg0){

//TODOAuto-generatedmethodstub

Intentin2=newIntent();

in2.setAction(Intent.ACTION_CALL);

in2.setData(Uri.parse("tel:

"));

startActivity(in2);

}});

}

@Override

publicbooleanonCreateOptionsMenu(Menumenu){

//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.

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

returntrue;

}

}

androidmainfest.xml:

xmlversion="1.0"encoding="utf-8"?

>

android=""

package="com.example.qq"

android:

versionCode="1"

android:

versionName="1.0">

android:

minSdkVersion="17"

android:

targetSdkVersion="17"/>

name="android.permission.CALL_PHONE"/>

android:

allowBackup="true"

android:

icon="@drawable/ic_launcher"

android:

label="@string/app_name"

android:

theme="@style/AppTheme">

android:

name="com.example.qq.MainActivity"

android:

label="@string/app_name">

name="android.intent.action.MAIN"/>

name="android.intent.category.LAUNCHER"/>

android:

name="com.example.qq.SecActivity"

android:

label="@string/title_activity_sec">

1.

①AndroidLayout文件

Layout文件,用来呈现一个拨打电话的按钮。

1.

xmlversion="1.0"encoding="utf-8"?

>

2.

android=""

3.    android:

layout_width="fill_parent"

4.    android:

layout_height="fill_parent"

5.    android:

orientation="vertical">

6.

7.    

8.   

9.        android:

id="@+id/buttonCall"

10.        android:

layout_width="wrap_content"

11.        android:

layout_height="wrap_content"

12.        android:

text="call"/>

13.

14.

②Activity

使用以下代码,Android拨打电话:

1.IntentcallIntent=newIntent(Intent.ACTION_CALL);

2.                callIntent.setData(Uri.parse("tel:

"));

3.                startActivity(callIntent);

文件:

MainActivity.java当点击拨打电话按钮时,就会拨打这个号码。

1.packagenet.cublog.android;

2.

3.importandroid.app.Activity;

4.importandroid.content.Context;

5.importandroid.content.Intent;

6.import.Uri;

7.importandroid.os.Bundle;

8.importandroid.telephony.PhoneStateListener;

9.importandroid.telephony.TelephonyManager;

10.importandroid.util.Log;

11.importandroid.view.View;

12.importandroid.view.View.OnClickListener;

13.importandroid.widget.Button;

14.

15.publicclassMainActivityextendsActivity{

16.    privateButtonbutton;

17.    

18.    @Override

19.    publicvoidonCreate(BundlesavedInstanceState){

20. 

21.        super.onCreate(savedInstanceState);

22.        setContentView(R.layout.main);

23. 

24.        button=(Button)findViewById(R.id.buttonCall);

25.        

26.        //addbuttonlistener

27.        button.setOnClickListener(newOnClickListener(){

28. 

29.            @Override

30.            publicvoidonClick(Viewarg0){

31. 

32.                IntentcallIntent=newIntent(Intent.ACTION_CALL);

33.                callIntent.setData(Uri.parse("tel:

"));

34.                startActivity(callIntent);

35. 

36.            }

37. 

38.        });

39. 

40.    }

41.    

42.  

43.}

③AndroidManifest

拨打电话,Android需要CALL_PHONE的权限。

在AndroidManifest.xml中添加以下代码:

1.

name="android.permission.CALL_PHONE"/>

添加后:

1.

xmlversion="1.0"encoding="utf-8"?

>

2.

android=""

3.    package="net.cublog.android"

4.    android:

versionCode="1"

5.    android:

versionName="1.0">

6.

7.    

minSdkVersion="7"/>

8.    

name="android.permission.CALL_PHONE"/>

9.

10.    

11.        android:

icon="@drawable/ic_launcher"

12.        android:

label="@string/app_name">

13.        

14.            android:

name=".MainActivity"

15.            android:

label="@string/app_name">

16.            

17.                

name="android.intent.action.MAIN"/>

18.

19.                

name="android.intent.category.LAUNCHER"/>

20.            

21.        

22.    

23.

24.

 

④PhoneStateListener例子

更新上面的Activity,模拟拨打电话的状态,当电话拨打结束后,返回原始Activity,实际上只是重启了这个activity。

1.packagenet.cublog.android;

2.

3.importandroid.app.Activity;

4.importandroid.content.Context;

5.importandroid.content.Intent;

6.import.Uri;

7.importandroid.os.Bundle;

8.importandroid.telephony.PhoneStateListener;

9.importandroid.telephony.TelephonyManager;

10.importandroid.util.Log;

11.importandroid.view.View;

12.importandroid.view.View.OnClickListener;

13.importandroid.widget.Button;

14.

15.publicclassMainActivityextendsActivity{

16.    privateButtonbutton;

17.    

18.    @Override

19.    publicvoidonCreate(BundlesavedInstanceState){

20. 

21.        super.onCreate(savedInstanceState);

22.        setContentView(R.layout.main);

23. 

24.        button=(Button)findViewById(R.id.buttonCall);

25.        

26.        //addPhoneStateListener

27.        PhoneCallListenerphoneListener=newPhoneCallListener();

28.        TelephonyManagertelephonyManager=(TelephonyManager)this

29.            .getSystemService(Context.TELEPHONY_SERVICE);

30.        telephonyManager.listen(phoneListener,PhoneStateListener.LISTEN_CALL_STATE);

31. 

32.        

33.        //addbuttonlistener

34.        button.setOnClickListener(newOnClickListener(){

35. 

36.            @Override

37.            publicvoidonClick(Viewarg0){

38. 

39.                IntentcallIntent=newIntent(Intent.ACTION_CALL);

40.                callIntent.setData(Uri.parse("tel:

"));

41.                startActivity(callIntent);

42. 

43.            }

44. 

45.        });

46. 

47.    }

48.    

49.    //monitorphonecallactivities

50.    privateclassPhoneCallListenerextendsPhoneStateListener{

51. 

52.        privatebooleanisPhoneCalling=false;

53. 

54.        StringLOG_TAG="LOGGING123";

55. 

56.        @Override

57.        publicvoidonCallStateChanged(intstate,StringincomingNumber){

58. 

59.            if(TelephonyManager.CALL_STATE_RINGING==state){

60.                //phoneringing

61.                Log.i(LOG_TAG,"RINGING,number:

"+incomingNumber);

62.            }

63. 

64.            if(TelephonyManager.CALL_STATE_OFFHOOK==state){

65.                //active

66.                Log.i(LOG_TAG,"OFFHOOK");

67. 

68.                isPhoneCalling=true;

69.            }

70. 

71.            if(TelephonyManager.CALL_STATE_IDLE==state){

72.                //runwhenclassinitialandphonecallended,

73.                //needdetectflagfromCALL_STATE_OFFHOOK

74.                Log.i(LOG_TAG,"IDLE");

75. 

76.                if(isPhoneCalling){

77. 

78.                    Log.i(LOG_TAG,"restartapp");

79. 

80.                    //restartapp

81.                    Intenti=getBaseContext().getPackageManager()

82.                        .getLaunchIntentForPackage(

83.                            getBaseContext().getPackageName());

84.                    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

85.                    startActivity(i);

86. 

87.                    isPhoneCalling=false;

88.                }

89. 

90.            }

91.        }

92.    }

93.}

由于PhoneStateListener需要READ_PHONE_STATE权限,需要在AndroidManifest.xml中添加以下代码:

1.

name="android.permission.READ_PHONE_STATE"/>

添加后AndroidManifest.xml如下:

1.

xmlversion="1.0"encoding="utf-8"?

>

2.

android=""

3.    package="net.cublog.android"

4.    a

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

当前位置:首页 > PPT模板 > 其它模板

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

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