《移动应用开发》试题及答案.doc_第1页
《移动应用开发》试题及答案.doc_第2页
《移动应用开发》试题及答案.doc_第3页
《移动应用开发》试题及答案.doc_第4页
《移动应用开发》试题及答案.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.移动应用开发试题题目:1.请实现点击按钮拨打电话功能。(20分)2.请实现点击按钮改变文本控件颜色的功能。(30分)3.请实现使用socket通信的服务器端代码。(50分)要求:逻辑结构完整,答案要点突出,论述充分,每题答案字数不少于400字。答案不得完全照抄书本或其他资料,不得互相抄袭。精选范本.中南大学网络教育课程考试移动应用开发答卷本人承诺:本试卷确为本人独立完成,若有违反愿意接受处理。签名:_学号:_专业:_学习中心:_题号一二三总分评阅人签字成绩1. /a191030148/article/details/9396099答: private Button btn2;btn2=(Button)findViewById(R.id.btn2);/在xml中把button2改成btn2,为该按钮的idbtn2.setOnClickListener(new OnClickListener();在OnClick() Intent in2 = new Intent(); in2.setAction(Intent.ACTION_CALL);/指定意图动作 in2.setData(Uri.parse(tel:1836380000);/指定电话号码 startActivity(in2);在android系统中,所有系统请求,必须要在androidmainfest.xml中注册 在application上面MainActivity.java:package com.example.qq;import .Uri;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.content.DialogInterface;import android.content.Intent;import android.view.LayoutInflater;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity private Button btn;private Button btn2; private EditText et; private EditText et2; Override protected void onCreate(Bundle savedInstanceState) 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(new OnClickListener()Overridepublic void onClick(View arg0) / TODO Auto-generated method stub final String str = et.getText().toString().trim(); final String str2 = et2.getText().toString().trim();if (str.equals(str2)Intent in = new Intent(MainActivity.this,SecActivity.class);startActivity(in);elseSystem.out.println(!);); btn2.setOnClickListener(new OnClickListener()Overridepublic void onClick(View arg0) / TODO Auto-generated method stubIntent in2 = new Intent();in2.setAction(Intent.ACTION_CALL);in2.setData(Uri.parse(tel;startActivity(in2);); Override public boolean onCreateOptionsMenu(Menu menu) / Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; androidmainfest.xml: 1. /uid-21209537-id-3179289.htmlAndroid Layout文件Layout文件,用来呈现一个拨打电话的按钮。1. 2. 6.7. 8. 13.14. Activity使用以下代码,Android拨打电话:1. Intent callIntent = new Intent(Intent.ACTION_CALL);2. callIntent.setData(Uri.parse(tel;3. startActivity(callIntent);文件:MainActivity.java 当点击拨打电话按钮时,就会拨个号码。1. package net.cublog.android;2.3. import android.app.Activity;4. import android.content.Context;5. import android.content.Intent;6. import .Uri;7. import android.os.Bundle;8. import android.telephony.PhoneStateListener;9. import android.telephony.TelephonyManager;10. import android.util.Log;11. import android.view.View;12. import android.view.View.OnClickListener;13. import android.widget.Button;14.15. public class MainActivity extends Activity 16. private Button button;17. 18. Override19. public void onCreate(Bundle savedInstanceState) 20. 21. super.onCreate(savedInstanceState);22. setContentView(R.layout.main);23. 24. button = (Button) findViewById(R.id.buttonCall);25. 26. / add button listener27. button.setOnClickListener(new OnClickListener() 28. 29. Override30. public void onClick(View arg0) 31. 32. Intent callIntent = new Intent(Intent.ACTION_CALL);33. callIntent.setData(Uri.parse(tel;34. startActivity(callIntent);35. 36. 37. 38. );39. 40. 41. 42. 43. Android Manifest拨打电话,Android需要CALL_PHONE的权限。在AndroidManifest.xml中添加以下代码:1. 添加后:1. 2. 6.7. 8. 9.10. 13. 16. 17. 18.19. 20. 21. 22. 23.24. PhoneStateListener 例子更新上面的Activity,模拟拨打电话的状态,当电话拨打结束后,返回原始Activity,实际上只是重启了这个activity。1. package net.cublog.android;2.3. import android.app.Activity;4. import android.content.Context;5. import android.content.Intent;6. import .Uri;7. import android.os.Bundle;8. import android.telephony.PhoneStateListener;9. import android.telephony.TelephonyManager;10. import android.util.Log;11. import android.view.View;12. import android.view.View.OnClickListener;13. import android.widget.Button;14.15. public class MainActivity extends Activity 16. private Button button;17. 18. Override19. public void onCreate(Bundle savedInstanceState) 20. 21. super.onCreate(savedInstanceState);22. setContentView(R.layout.main);23. 24. button = (Button) findViewById(R.id.buttonCall);25. 26. / add PhoneStateListener27. PhoneCallListener phoneListener = new PhoneCallListener();28. TelephonyManager telephonyManager = (TelephonyManager) this29. .getSystemService(Context.TELEPHONY_SERVICE);30. telephonyManager.listen(phoneListener,PhoneStateListener.LISTEN_CALL_STATE);31. 32. 33. / add button listener34. button.setOnClickListener(new OnClickListener() 35. 36. Override37. public void onClick(View arg0) 38. 39. Intent callIntent = new Intent(Intent.ACTION_CALL);40. callIntent.setData(Uri.parse(tel;41. startActivity(callIntent);42. 43. 44. 45. );46. 47. 48. 49. /monitor phone call activities50. private class PhoneCallListener extends PhoneStateListener 51. 52. private boolean isPhoneCalling = false;53. 54. String LOG_TAG = LOGGING 123;55. 56. Override57. public void onCallStateChanged(int state, String incomingNumber) 58. 59. if (TelephonyManager.CALL_STATE_RINGING = state) 60. / phone ringing61. Log.i(LOG_TAG, RINGING, number: + incomingNumber);62. 63. 64. if (TelephonyManager.CALL_STATE_OFFHOOK = state) 65. / active66. Log.i(LOG_TAG, OFFHOOK);67. 68. isPhoneCalling = true;69. 70. 71. if (TelephonyManager.CALL_STATE_IDLE = state) 72. / run when class initial and phone call ended, 73. / need detect flag from CALL_STATE_OFFHOOK74. Log.i(LOG_TAG, IDLE);75. 76. if (isPhoneCalling) 77. 78. Log.i(LOG_TAG, restart app);79. 80. / restart app81. Intent i = 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. 添加后AndroidManifest.xml如下:1. 2. 6.7. 8. 9. 10.11. 14. 17. 18. 19.20. 21. 22. 23. 24.25. 1. /kalision/article/details/40476249答:MainActivity.javaimport android.app.Activity;import android.content.Intent;import .Uri;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity private Button mCallButton;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mCallButton = (Button) findViewById(R.id.btn_call);mCallButton.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stub/打给联通客服10010Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse(tel:10010);startActivity(intent););/Override/public boolean onCreateOptionsMenu(Menu menu) / Inflate the menu; this adds items to the action bar if it is present./getMenuInflater().inflate(R.menu.main, menu);/return true;/public void clickHandler(View source)/TextView tv = (TextView) findViewById(R.id.show);/tv.setText(你好!现在时间: + new java.util.Date();/activity_main.xml: AndroidManifest.xml: 2./doc-view-1055.htm答:打开表单模板:%FR_HOME%WebReportWEB-INFreportletsdemoanalyticsmulti_reportall.frm。选中总体概况按钮,在右侧的属性表中添加点击事件。具体的js代码如下:if(window.oldtd != null) window.oldtd.removeAttr(style); var td; if($(e.target).is(button) td=$(e.target).parent().parent(); else td=$(e.target).find(button).parent().parent(); td.css(background-image:url(),background-color:rgb(170, 223, 248); window.oldtd=td; 3. /page/e2010/0320/95494.html答:服务器端 author version1.002008/8/2 / .ServerSocket; .Socket; importjava.io.IOException; importjava.io.BufferedReader; importjava.io.InputStreamReader; importjava.io.PrintWriter; publicclassServerSocketTest privateServerSocketss; privateSocketsocket; privateBufferedReaderin; privatePrintWriterout; publicServerSocketTest() try ss=newServerSocket(10000);/建立服务器,监听. System.out.println(Serverislisteningat10000.); while(true) socket=ss.accept(); /获取客户端IP地址 StringremoteIP=socket.getInetAddress().getHostAddress(); /获取客户端连接端口 StringremotePort=:+socket.getLocalPort(); System.out.println(Aclinetcomein!IP:+remoteIP+remotePort); /读取客户端输入 in=newBufferedReader(newInputStreamReader(socket.getInputStream(); Stringline=in.readLine(); System.out.println(Clientsendis:+line); /将服务器端信息发往客户端 out=newPrintWriter(socket.getOutputStream(),true); out.println(YourMessageReceived!); out.close(); in.close(); socket.close(); catch(IOExceptionex) System.out.println(ex.getCause(); publicstaticvoidmain(Stringargs) newServerSocketTest(); 3.答:开发环境为eclipse,首先,新建两个普通的Java工程,一个命名为server_1,作为服务端;另一个命名为client_1,作为客户端。完成的功能就是在客户端的控制台输入内容后,客户端将内容发送至服务端,在服务端的控制台可以看到输入的内容,当输入的内容为shutdown时,服务端和客户端都关闭通信,通信结束。服务端代码:package server_1;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import .ServerSocket;import .Socket;public class server_1 public static void main(String args) throws IOException /将异常全部抛出 ServerSocket server = new ServerSocket(10000); /用serversocket来启动服务器,并指定端口号 System.out.println(服务器启动。); Socket socket = server.accept(); /获取客户端的socket信息 BufferedReader in = null; in = new BufferedReader(new InputStreamReader(socket.getInputStream(); /启动缓冲区 while (true) String msg = in.readLine(); / 将客户端发送来的信息存储在msg中 System.out.println(msg); if (msg.equals(shutdown) /客户端如果发送的是shutdown,就关闭客户端 break; in.close(); /执行相应的关闭操作 考虑这是一个入门级的程序,所以暂时不考虑各种异常情况。 建立seversocket,并且指定服务器的端口号为10000,此时服务器端开始运行。(端口号尽量取大于1024的数字,小于1024的一般都是系统程序占用)然后利用socket实现和客户端的连接。in是一个输入缓冲区,客户端发送来的信息就暂时存储在这个缓冲区中。然后用while语句,循环的监听客户端发送过来的数据,当是一般信息时,就讲客户端发来的内同打印到控制台,如果是“shutdown”,则关闭服务器端,此次通信终止。3. /guoguojune/article/details/6185301答:开发环境 Vs 2008 新建一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论