版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、移動應(yīng)用開發(fā)試題題目:1.請實現(xiàn)點(diǎn)擊按鈕撥打電話功能。(20分)2.請實現(xiàn)點(diǎn)擊按鈕改變文本控件顏色的功能。(30分)3.請實現(xiàn)使用socket通信的服務(wù)器端代碼。(50分)要求:邏輯結(jié)構(gòu)完整,答案要點(diǎn)突出,論述充分,每題答案字?jǐn)?shù)不少于400字。答案不得完全照抄書本或其他資料,不得互相抄襲。中南大學(xué)網(wǎng)絡(luò)教育課程考試移動應(yīng)用開發(fā)答卷本人承諾:本試卷確為本人獨(dú)立完成,若有違反愿意接受處理。簽名:_學(xué)號:_專業(yè):_學(xué)習(xí)中心:_題號一二三總分評閱人簽字成績1. /a191030148/article/details/9396099答: private Button
2、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系統(tǒng)中,所有系統(tǒng)請求,必須要在androidmainfest.
3、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;i
4、mport 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
5、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.setOnClickL
6、istener(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(i
7、n);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 onCrea
8、teOptionsMenu(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文件,用來呈現(xiàn)一個撥打電話的按鈕。1. 2. 6.7. 8. 13.14. Activit
9、y使用以下代碼,Android撥打電話:1. Intent callIntent = new Intent(Intent.ACTION_CALL);2. callIntent.setData(Uri.parse(tel;3. startActivity(callIntent);文件:MainActivity.java 當(dāng)點(diǎn)擊撥打電話按鈕時,就會撥個號碼。1. package net.cublog.android;2.3. import android.app.Activity;4. import android.content.Context
10、;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
11、.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.
12、/ 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.
13、 Android Manifest撥打電話,Android需要CALL_PHONE的權(quán)限。在AndroidManifest.xml中添加以下代碼:1. 添加后:1. 2. 6.7. 8. 9.10. 13. 16. 17. 18.19. 20. 21. 22. 23.24. PhoneStateListener 例子更新上面的Activity,模擬撥打電話的狀態(tài),當(dāng)電話撥打結(jié)束后,返回原始Activity,實際上只是重啟了這個activity。1. package net.cublog.android;2.3. import android.app.Activity;4. import and
14、roid.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.OnClickListene
15、r;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.
16、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
17、. 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. 4
18、8. 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.CA
19、LL_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 wh
20、en 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().ge
21、tPackageName();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權(quán)限,需要在AndroidManifest.xml中添加以下代碼:1. 添加后AndroidManifest.xml如下:1. 2. 6.7. 8. 9. 10.11. 14. 17. 18. 19.20. 21. 22. 23. 24.25. 1
22、. /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;
23、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.set
24、OnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stub/打給聯(lián)通客服10010Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse(tel:10010);startActivity(intent););/Override/public boolean onCreateOptionsMenu(Menu menu) / Inflate the menu; this adds item
25、s 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(你好!現(xiàn)在時間: + new java.util.Date();/activity_main.xml: AndroidManifest.xml: 2./doc
26、-view-1055.htm答:打開表單模板:%FR_HOME%WebReportWEB-INFreportletsdemoanalyticsmulti_reportall.frm。選中總體概況按鈕,在右側(cè)的屬性表中添加點(diǎn)擊事件。具體的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()
27、; td.css(background-image:url(),background-color:rgb(170, 223, 248); window.oldtd=td; 3. /page/e2010/0320/95494.html答:服務(wù)器端 author version1.002008/8/2 / .ServerSocket; .Socket; importjava.io.IOException; importjava.io.BufferedReader; importjava.io.InputSt
28、reamReader; importjava.io.PrintWriter; publicclassServerSocketTest privateServerSocketss; privateSocketsocket; privateBufferedReaderin; privatePrintWriterout; publicServerSocketTest() try ss=newServerSocket(10000);/建立服務(wù)器,監(jiān)聽. System.out.println(Serverislisteningat10000.); while(true) socket=ss.accept
29、(); /獲取客戶端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.pri
30、ntln(Clientsendis:+line); /將服務(wù)器端信息發(fā)往客戶端 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.答:開發(fā)環(huán)境為eclipse,首先,新建
31、兩個普通的Java工程,一個命名為server_1,作為服務(wù)端;另一個命名為client_1,作為客戶端。完成的功能就是在客戶端的控制臺輸入內(nèi)容后,客戶端將內(nèi)容發(fā)送至服務(wù)端,在服務(wù)端的控制臺可以看到輸入的內(nèi)容,當(dāng)輸入的內(nèi)容為shutdown時,服務(wù)端和客戶端都關(guān)閉通信,通信結(jié)束。服務(wù)端代碼:package server_1;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import .Serv
32、erSocket;import .Socket;public class server_1 public static void main(String args) throws IOException /將異常全部拋出 ServerSocket server = new ServerSocket(10000); /用serversocket來啟動服務(wù)器,并指定端口號 System.out.println(服務(wù)器啟動。); Socket socket = server.accept(); /獲取客戶端的socket信息 BufferedReader in = null; in
33、= new BufferedReader(new InputStreamReader(socket.getInputStream(); /啟動緩沖區(qū) while (true) String msg = in.readLine(); / 將客戶端發(fā)送來的信息存儲在msg中 System.out.println(msg); if (msg.equals(shutdown) /客戶端如果發(fā)送的是shutdown,就關(guān)閉客戶端 break; in.close(); /執(zhí)行相應(yīng)的關(guān)閉操作 考慮這是一個入門級的程序,所以暫時不考慮各種異常情況。 建立seversocket,并且指定服務(wù)器的端口號為10000,此時服務(wù)器端開始運(yùn)行。(端口號盡量取大于1024的數(shù)字,小于1024的一般都是系統(tǒng)程序占用)然后利用socket實現(xiàn)和客戶端的連接。in是一個輸入緩沖區(qū),客戶端發(fā)送來的信息就暫時存儲在這個緩沖區(qū)中。然后用while語句,循環(huán)的監(jiān)聽客戶端發(fā)送過來的數(shù)據(jù),當(dāng)是一般信息時,就講客戶端發(fā)來的內(nèi)同打印到控制臺,如果是“shutdown”,則關(guān)閉服務(wù)器端,此次通信終止。3. /guoguojune/article/details/6185301答:開發(fā)環(huán)境 Vs 2008 新建一個 win32 conso
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度儲煤場煤炭交易代理服務(wù)合同3篇
- 2025年度金融機(jī)構(gòu)外匯借款合同綠色金融創(chuàng)新實踐
- 二零二五年度碼頭租賃項目環(huán)保驗收及服務(wù)合同4篇
- 二零二五年度錄音系統(tǒng)定制開發(fā)與實施合同3篇
- 2025年度蘋果水果產(chǎn)地直供直銷采購合同4篇
- 2025版木工模板租賃與園林景觀設(shè)計施工承包合同范本3篇
- 二零二五年度寵物醫(yī)院寵物食品研發(fā)與生產(chǎn)合作協(xié)議3篇
- 二零二五年度辦公家具銷售合同(含安裝)2篇
- 二零二五年度天使投資協(xié)議書:生物科技研發(fā)項目風(fēng)險投資合同
- 二零二五年度商標(biāo)授權(quán)及商標(biāo)市場推廣合同范本2篇
- 2024-2030年中國招標(biāo)代理行業(yè)深度分析及發(fā)展前景與發(fā)展戰(zhàn)略研究報告
- 醫(yī)師定期考核 (公共衛(wèi)生)試題庫500題(含答案)
- 基因突變和基因重組(第1課時)高一下學(xué)期生物人教版(2019)必修2
- 內(nèi)科學(xué)(醫(yī)學(xué)高級):風(fēng)濕性疾病試題及答案(強(qiáng)化練習(xí))
- 音樂劇好看智慧樹知到期末考試答案2024年
- 辦公設(shè)備(電腦、一體機(jī)、投影機(jī)等)采購 投標(biāo)方案(技術(shù)方案)
- 案卷評查培訓(xùn)課件模板
- 2024年江蘇省樣卷五年級數(shù)學(xué)上冊期末試卷及答案
- 人教版初中英語七八九全部單詞(打印版)
- 波浪理論要點(diǎn)圖解完美版
- 金融交易數(shù)據(jù)分析與風(fēng)險評估項目環(huán)境敏感性分析
評論
0/150
提交評論