SlideShare a Scribd company logo
1 of 3
1
2017 Mid-term Examination (100)
Architecting Smart Devices
Date: 2017-10-19
1. 요즘 Voice UX (음성 사용자 경험)를 채택한 다양한 Smart Device가 출시되고 있다.
기술 개발이 진행 중인 Voice UX의 장단점을 논리적으로 쓰시오. (20)
- 장점: 특별한 사용법 학습 없이 대화를 통해 장치를 제어할 수 있음, 사용자 의도를
종합하여 가장 적절한 장치 반응을 생성할 수 있음, 장치를 개인 비서 형태로 사용할
수 있음
- 단점: 음성을 매개로 장치를 제어하기 때문에 소음이 크거나 여러 사람이 있는 경우
는 사용이 어려움, 음성을 넘어선 문맥 이해가 필요하지만 현재 기술력이 이를 따라가
지 못함
2. Android OS 기능을 이용해 아래 작업을 할 수 있는 Code를 작성하시오. Code는 짧
을수록 가산점 반영; Permission은 고려하지 말 것. (30)
1) SMS 기능을 직접 사용하여 “010-1234-5678” 전화번호로 “Hello, world.” 문자열 전
송
SmsManager.getDefault().sendTextMessage(“010-1234-5678”, null, “Hello, world.”, null,
null);
2) “010-1234-5678”로 직접 전화 걸기
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(“tel:010-1234-5678”)));
3) 연락처 정보를 선택할 수 있는 Activity 띄우기
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setData(ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(intent, 1234);
2
3. BroadcastReceiver에 대해 다음을 답하시오. Code는 짧을수록 가산점 반영. (30)
1) BroadcastReceiver에서 IntentFilter를 사용하는 이유를 논리적으로 설명하시오. (10)
BroadcastReceiver는 다양한 종류의 Global Message를 수신할 수 있어, CPU와 Battery
사용에 불리한 점으로 작용할 수 있다. 이를 효과적으로 해결하려면 우리가 필요로 하
는 Intent만 선별적으로 수신해야 한다. 따라서 Intent Filtering 기능을
BroadcastReceiver에 적용하는 것이 효율적이다.
2) MyBroadcastReceiver가 이미 정의된 경우, “SMS_SENT” Action을 수신할 수 있는
BroadcastReceiver를 등록(Register)하는 Code를 작성하라. (20)
MyBroadcastReceiver myRx;
myRx = new MyBroadcastReceiver;
registerReceiver(myRx, new IntentFilter(“SMS_SENT”));
4. Button을 누르면 음성 인식하여 다음 기능을 실행하는 Code를 작성하라: “통화”란 명
령에는 sNumber로 직접 전화, “문자”란 명령에는 sNumber로 sText 문자를 직접 발송.
Button의 ClickListener는 이미 구성되어 있다고 가정하라. Code는 짧을수록 가산점 반영.
(20)
protected Button btRecog;
protected String sNumber = “010-1234-5678”, sText = “I am H.”;
protected void onCreate(Bundle savedInstanceState) {
…
btRecog = (Button) findViewById(R.id.btRecog);
btRecog.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.KOREAN);
startActivityForResult(intent, 1234);
3
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1234 && resultCode == RESULT_OK && data != null) {
ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
String sCom = result.get(0);
if (sCom == “통화”)
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(“tel:” + sNumber)));
else if (sCom == “문자”)
SmsManager.getDefault().sendTextMessage(sNumber, null, sText, null, null);
}
}

More Related Content

What's hot

TestSDS2015-2(Answer)
TestSDS2015-2(Answer)TestSDS2015-2(Answer)
TestSDS2015-2(Answer)Yong Heui Cho
 
TestSDIC2017-2(answer)
TestSDIC2017-2(answer)TestSDIC2017-2(answer)
TestSDIC2017-2(answer)Yong Heui Cho
 
TestSDIC2016-1(answer)
TestSDIC2016-1(answer)TestSDIC2016-1(answer)
TestSDIC2016-1(answer)Yong Heui Cho
 
TestSDIC2016-2(answer)
TestSDIC2016-2(answer)TestSDIC2016-2(answer)
TestSDIC2016-2(answer)Yong Heui Cho
 
TestSDIC2017-1(answer)
TestSDIC2017-1(answer)TestSDIC2017-1(answer)
TestSDIC2017-1(answer)Yong Heui Cho
 
TestSDIC2015-1(Answer)
TestSDIC2015-1(Answer)TestSDIC2015-1(Answer)
TestSDIC2015-1(Answer)Yong Heui Cho
 
TestSDIC2015-2(Answer)
TestSDIC2015-2(Answer)TestSDIC2015-2(Answer)
TestSDIC2015-2(Answer)Yong Heui Cho
 

What's hot (7)

TestSDS2015-2(Answer)
TestSDS2015-2(Answer)TestSDS2015-2(Answer)
TestSDS2015-2(Answer)
 
TestSDIC2017-2(answer)
TestSDIC2017-2(answer)TestSDIC2017-2(answer)
TestSDIC2017-2(answer)
 
TestSDIC2016-1(answer)
TestSDIC2016-1(answer)TestSDIC2016-1(answer)
TestSDIC2016-1(answer)
 
TestSDIC2016-2(answer)
TestSDIC2016-2(answer)TestSDIC2016-2(answer)
TestSDIC2016-2(answer)
 
TestSDIC2017-1(answer)
TestSDIC2017-1(answer)TestSDIC2017-1(answer)
TestSDIC2017-1(answer)
 
TestSDIC2015-1(Answer)
TestSDIC2015-1(Answer)TestSDIC2015-1(Answer)
TestSDIC2015-1(Answer)
 
TestSDIC2015-2(Answer)
TestSDIC2015-2(Answer)TestSDIC2015-2(Answer)
TestSDIC2015-2(Answer)
 

Similar to TestSDS(2017-1, answer)

Touch Ux With Win32
Touch Ux With Win32Touch Ux With Win32
Touch Ux With Win32sung ki choi
 
Mobile/Embedded for Silverlight
Mobile/Embedded for SilverlightMobile/Embedded for Silverlight
Mobile/Embedded for SilverlightSeo Jinho
 
보이지 않는 엔진(2008)
보이지 않는 엔진(2008)보이지 않는 엔진(2008)
보이지 않는 엔진(2008)Heeyoung Sohn
 
WEB2.0+VoIP, 터치링(Touch Ring) 서비스 소개
WEB2.0+VoIP, 터치링(Touch Ring) 서비스 소개WEB2.0+VoIP, 터치링(Touch Ring) 서비스 소개
WEB2.0+VoIP, 터치링(Touch Ring) 서비스 소개jb.hyun
 
RAD Studio XE8을 소개합니다.
RAD Studio XE8을 소개합니다.RAD Studio XE8을 소개합니다.
RAD Studio XE8을 소개합니다.Devgear
 
20140219 techdays mini 앱 개발 세미나(4)
20140219 techdays mini  앱 개발 세미나(4) 20140219 techdays mini  앱 개발 세미나(4)
20140219 techdays mini 앱 개발 세미나(4) 영욱 김
 
2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온시온시큐리티
 
Test-SDIC2018-2(answer)
Test-SDIC2018-2(answer)Test-SDIC2018-2(answer)
Test-SDIC2018-2(answer)Yong Heui Cho
 
ARTIK 710 IoT class
ARTIK 710 IoT class ARTIK 710 IoT class
ARTIK 710 IoT class 정출 김
 
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2Amazon Web Services Korea
 
스마트 모바일 앱 개발 방법론(1)
스마트 모바일 앱 개발 방법론(1)스마트 모바일 앱 개발 방법론(1)
스마트 모바일 앱 개발 방법론(1)mosaicnet
 
에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안Lee Jungpyo
 
nTeko 회사소개서
nTeko 회사소개서nTeko 회사소개서
nTeko 회사소개서megasoft
 
차세대 기업형 브랜드 앱 개발
차세대 기업형 브랜드 앱 개발차세대 기업형 브랜드 앱 개발
차세대 기업형 브랜드 앱 개발Seo Jinho
 
Start io t_with_raspberrypi
Start io t_with_raspberrypiStart io t_with_raspberrypi
Start io t_with_raspberrypiYeonah Ki
 
Monthlyhands ver 3.0 터치의 시대 리모콘은 변하고 있다
Monthlyhands ver 3.0 터치의 시대 리모콘은 변하고 있다Monthlyhands ver 3.0 터치의 시대 리모콘은 변하고 있다
Monthlyhands ver 3.0 터치의 시대 리모콘은 변하고 있다HANDSTUDIO
 
TestSDS2018-1(answer)
TestSDS2018-1(answer)TestSDS2018-1(answer)
TestSDS2018-1(answer)Yong Heui Cho
 

Similar to TestSDS(2017-1, answer) (20)

Touch Ux With Win32
Touch Ux With Win32Touch Ux With Win32
Touch Ux With Win32
 
Mobile/Embedded for Silverlight
Mobile/Embedded for SilverlightMobile/Embedded for Silverlight
Mobile/Embedded for Silverlight
 
보이지 않는 엔진(2008)
보이지 않는 엔진(2008)보이지 않는 엔진(2008)
보이지 않는 엔진(2008)
 
Designing Apps for Motorla Xoom Tablet
Designing Apps for Motorla Xoom TabletDesigning Apps for Motorla Xoom Tablet
Designing Apps for Motorla Xoom Tablet
 
WEB2.0+VoIP, 터치링(Touch Ring) 서비스 소개
WEB2.0+VoIP, 터치링(Touch Ring) 서비스 소개WEB2.0+VoIP, 터치링(Touch Ring) 서비스 소개
WEB2.0+VoIP, 터치링(Touch Ring) 서비스 소개
 
RAD Studio XE8을 소개합니다.
RAD Studio XE8을 소개합니다.RAD Studio XE8을 소개합니다.
RAD Studio XE8을 소개합니다.
 
Wisepush
WisepushWisepush
Wisepush
 
20140219 techdays mini 앱 개발 세미나(4)
20140219 techdays mini  앱 개발 세미나(4) 20140219 techdays mini  앱 개발 세미나(4)
20140219 techdays mini 앱 개발 세미나(4)
 
2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온2014 키보드보안솔루션 시온
2014 키보드보안솔루션 시온
 
Test-SDIC2018-2(answer)
Test-SDIC2018-2(answer)Test-SDIC2018-2(answer)
Test-SDIC2018-2(answer)
 
ARTIK 710 IoT class
ARTIK 710 IoT class ARTIK 710 IoT class
ARTIK 710 IoT class
 
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
 
스마트 모바일 앱 개발 방법론(1)
스마트 모바일 앱 개발 방법론(1)스마트 모바일 앱 개발 방법론(1)
스마트 모바일 앱 개발 방법론(1)
 
에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안
 
nTeko 회사소개서
nTeko 회사소개서nTeko 회사소개서
nTeko 회사소개서
 
차세대 기업형 브랜드 앱 개발
차세대 기업형 브랜드 앱 개발차세대 기업형 브랜드 앱 개발
차세대 기업형 브랜드 앱 개발
 
Start io t_with_raspberrypi
Start io t_with_raspberrypiStart io t_with_raspberrypi
Start io t_with_raspberrypi
 
Monthlyhands ver 3.0 터치의 시대 리모콘은 변하고 있다
Monthlyhands ver 3.0 터치의 시대 리모콘은 변하고 있다Monthlyhands ver 3.0 터치의 시대 리모콘은 변하고 있다
Monthlyhands ver 3.0 터치의 시대 리모콘은 변하고 있다
 
TestSDS2018-1(answer)
TestSDS2018-1(answer)TestSDS2018-1(answer)
TestSDS2018-1(answer)
 
[이니셜티] 솔루션소개자료 V1.4
[이니셜티] 솔루션소개자료 V1.4[이니셜티] 솔루션소개자료 V1.4
[이니셜티] 솔루션소개자료 V1.4
 

More from Yong Heui Cho

Android - Sensor Manager
Android - Sensor ManagerAndroid - Sensor Manager
Android - Sensor ManagerYong Heui Cho
 
Android - Broadcast Receiver
Android - Broadcast ReceiverAndroid - Broadcast Receiver
Android - Broadcast ReceiverYong Heui Cho
 
TestBCD2018-2(answer)
TestBCD2018-2(answer)TestBCD2018-2(answer)
TestBCD2018-2(answer)Yong Heui Cho
 
TestSDS2018-2(answer)
TestSDS2018-2(answer)TestSDS2018-2(answer)
TestSDS2018-2(answer)Yong Heui Cho
 
TestEC2018-2(answer)
TestEC2018-2(answer)TestEC2018-2(answer)
TestEC2018-2(answer)Yong Heui Cho
 
TestEC2018-1(answer)
TestEC2018-1(answer)TestEC2018-1(answer)
TestEC2018-1(answer)Yong Heui Cho
 
TestBCD2018-1(answer)
TestBCD2018-1(answer)TestBCD2018-1(answer)
TestBCD2018-1(answer)Yong Heui Cho
 
BJT - Analysis of Bias
BJT - Analysis of BiasBJT - Analysis of Bias
BJT - Analysis of BiasYong Heui Cho
 
TestCloud2018-2(answer)
TestCloud2018-2(answer)TestCloud2018-2(answer)
TestCloud2018-2(answer)Yong Heui Cho
 
TestECD2018-1(answer)
TestECD2018-1(answer)TestECD2018-1(answer)
TestECD2018-1(answer)Yong Heui Cho
 
TestCloud2018-1(answer)
TestCloud2018-1(answer)TestCloud2018-1(answer)
TestCloud2018-1(answer)Yong Heui Cho
 
Test-SDIC2018-1(Answer)
Test-SDIC2018-1(Answer)Test-SDIC2018-1(Answer)
Test-SDIC2018-1(Answer)Yong Heui Cho
 
RF 증폭기 설계(Design of RF Amplifier)-rev1
RF 증폭기 설계(Design of RF Amplifier)-rev1RF 증폭기 설계(Design of RF Amplifier)-rev1
RF 증폭기 설계(Design of RF Amplifier)-rev1Yong Heui Cho
 
Computing Paradigm - rev1
Computing Paradigm - rev1Computing Paradigm - rev1
Computing Paradigm - rev1Yong Heui Cho
 
Cloud Deployment Model
Cloud Deployment ModelCloud Deployment Model
Cloud Deployment ModelYong Heui Cho
 
Cloud Computing Architecture
Cloud Computing ArchitectureCloud Computing Architecture
Cloud Computing ArchitectureYong Heui Cho
 

More from Yong Heui Cho (20)

Android - Sensor Manager
Android - Sensor ManagerAndroid - Sensor Manager
Android - Sensor Manager
 
Android - Broadcast Receiver
Android - Broadcast ReceiverAndroid - Broadcast Receiver
Android - Broadcast Receiver
 
Android - Message
Android - MessageAndroid - Message
Android - Message
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Computing Paradigm
Computing ParadigmComputing Paradigm
Computing Paradigm
 
TestBCD2018-2(answer)
TestBCD2018-2(answer)TestBCD2018-2(answer)
TestBCD2018-2(answer)
 
TestSDS2018-2(answer)
TestSDS2018-2(answer)TestSDS2018-2(answer)
TestSDS2018-2(answer)
 
TestEC2018-2(answer)
TestEC2018-2(answer)TestEC2018-2(answer)
TestEC2018-2(answer)
 
TestEC2018-1(answer)
TestEC2018-1(answer)TestEC2018-1(answer)
TestEC2018-1(answer)
 
TestBCD2018-1(answer)
TestBCD2018-1(answer)TestBCD2018-1(answer)
TestBCD2018-1(answer)
 
BJT - Analysis of Bias
BJT - Analysis of BiasBJT - Analysis of Bias
BJT - Analysis of Bias
 
TestCloud2018-2(answer)
TestCloud2018-2(answer)TestCloud2018-2(answer)
TestCloud2018-2(answer)
 
TestECD2018-1(answer)
TestECD2018-1(answer)TestECD2018-1(answer)
TestECD2018-1(answer)
 
TestCloud2018-1(answer)
TestCloud2018-1(answer)TestCloud2018-1(answer)
TestCloud2018-1(answer)
 
Cloud Service Model
Cloud Service ModelCloud Service Model
Cloud Service Model
 
Test-SDIC2018-1(Answer)
Test-SDIC2018-1(Answer)Test-SDIC2018-1(Answer)
Test-SDIC2018-1(Answer)
 
RF 증폭기 설계(Design of RF Amplifier)-rev1
RF 증폭기 설계(Design of RF Amplifier)-rev1RF 증폭기 설계(Design of RF Amplifier)-rev1
RF 증폭기 설계(Design of RF Amplifier)-rev1
 
Computing Paradigm - rev1
Computing Paradigm - rev1Computing Paradigm - rev1
Computing Paradigm - rev1
 
Cloud Deployment Model
Cloud Deployment ModelCloud Deployment Model
Cloud Deployment Model
 
Cloud Computing Architecture
Cloud Computing ArchitectureCloud Computing Architecture
Cloud Computing Architecture
 

Recently uploaded

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and AdoptionSeung-chan Baeg
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'Hyundai Motor Group
 

Recently uploaded (7)

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
 

TestSDS(2017-1, answer)

  • 1. 1 2017 Mid-term Examination (100) Architecting Smart Devices Date: 2017-10-19 1. 요즘 Voice UX (음성 사용자 경험)를 채택한 다양한 Smart Device가 출시되고 있다. 기술 개발이 진행 중인 Voice UX의 장단점을 논리적으로 쓰시오. (20) - 장점: 특별한 사용법 학습 없이 대화를 통해 장치를 제어할 수 있음, 사용자 의도를 종합하여 가장 적절한 장치 반응을 생성할 수 있음, 장치를 개인 비서 형태로 사용할 수 있음 - 단점: 음성을 매개로 장치를 제어하기 때문에 소음이 크거나 여러 사람이 있는 경우 는 사용이 어려움, 음성을 넘어선 문맥 이해가 필요하지만 현재 기술력이 이를 따라가 지 못함 2. Android OS 기능을 이용해 아래 작업을 할 수 있는 Code를 작성하시오. Code는 짧 을수록 가산점 반영; Permission은 고려하지 말 것. (30) 1) SMS 기능을 직접 사용하여 “010-1234-5678” 전화번호로 “Hello, world.” 문자열 전 송 SmsManager.getDefault().sendTextMessage(“010-1234-5678”, null, “Hello, world.”, null, null); 2) “010-1234-5678”로 직접 전화 걸기 startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(“tel:010-1234-5678”))); 3) 연락처 정보를 선택할 수 있는 Activity 띄우기 Intent intent = new Intent(Intent.ACTION_PICK); intent.setData(ContactsContract.CommonDataKinds.Phone.CONTENT_URI); startActivityForResult(intent, 1234);
  • 2. 2 3. BroadcastReceiver에 대해 다음을 답하시오. Code는 짧을수록 가산점 반영. (30) 1) BroadcastReceiver에서 IntentFilter를 사용하는 이유를 논리적으로 설명하시오. (10) BroadcastReceiver는 다양한 종류의 Global Message를 수신할 수 있어, CPU와 Battery 사용에 불리한 점으로 작용할 수 있다. 이를 효과적으로 해결하려면 우리가 필요로 하 는 Intent만 선별적으로 수신해야 한다. 따라서 Intent Filtering 기능을 BroadcastReceiver에 적용하는 것이 효율적이다. 2) MyBroadcastReceiver가 이미 정의된 경우, “SMS_SENT” Action을 수신할 수 있는 BroadcastReceiver를 등록(Register)하는 Code를 작성하라. (20) MyBroadcastReceiver myRx; myRx = new MyBroadcastReceiver; registerReceiver(myRx, new IntentFilter(“SMS_SENT”)); 4. Button을 누르면 음성 인식하여 다음 기능을 실행하는 Code를 작성하라: “통화”란 명 령에는 sNumber로 직접 전화, “문자”란 명령에는 sNumber로 sText 문자를 직접 발송. Button의 ClickListener는 이미 구성되어 있다고 가정하라. Code는 짧을수록 가산점 반영. (20) protected Button btRecog; protected String sNumber = “010-1234-5678”, sText = “I am H.”; protected void onCreate(Bundle savedInstanceState) { … btRecog = (Button) findViewById(R.id.btRecog); btRecog.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.KOREAN); startActivityForResult(intent, 1234);
  • 3. 3 } }); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 1234 && resultCode == RESULT_OK && data != null) { ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); String sCom = result.get(0); if (sCom == “통화”) startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(“tel:” + sNumber))); else if (sCom == “문자”) SmsManager.getDefault().sendTextMessage(sNumber, null, sText, null, null); } }