���f�B�A

Android�̃A�v���P�[�V�����R���|�[�l���c�FAndroid�Z�p�ҔF�莎���uACE�v�h�����i6�j�i2/2 �y�[�W�j

» 2011�N10��11�� 11��40�� ���J
[�� ���ielan�j�C��IT MONOist]
�O�̃y�[�W�� 1|2 �@�@�@�@�@�@

��

���K1�F�����i2�j

�@�܂��́uIntent�v�ɂ‚��Đ������܂��BIntent�Ƃ́A�R���|�[�l���g�ԁi��FActivity��Activity�AActivity��Service�j�̂��Ƃ���s���g�񓯊����b�Z�[�W�h�ł��B�‚܂�A����R���|�[�l���g����A�ʂ̃R���|�[�l���g���N������Ƃ��ɗp������̂�Intent�Ȃ̂ł��B��̓I�ɂ́A��ʑJ�ڂŎg�����Ƃ���ԑ����ł��ˁB����āA���K1���i2�j�������ƂȂ�܂��B

�@�Ȃ��A���̑��̑I�����́A���̃R���|�[�l���g�̐����ƂȂ��Ă��܂��B�ȉ���5�‚̃R���|�[�l���g�̋@�\�T�v���܂Ƃ߂܂��i�\1�j�B������5�‚̃R���|�[�l���g�̖��̂ƁA���̋@�\�T�v����������Ɨ������Ă����܂��傤�B

�R���|�[�l���g �@�\�T�v
Intent �R���|�[�l���g�Ԃ̔񓯊����b�Z�[�W
Activity ���[�U�[�C���^�t�F�[�X�iUI�j�Ƃ��̃��W�b�N�̎��s
Content Providers �e��f�[�^�𑼂̃A�v���P�[�V�����Ƌ��L
Service �o�b�N�O���E���h�����̎���
BroadcastReceiver �u���[�h�L���X�g���ꂽ�C�x���g����M
�\1�@5�‚̃R���|�[�l���g�̋@�\�T�v

���K2�F�����i4�j

�@�uActivity�v�́AUI����������R���|�[�l���g�ł����A��ʏ��UI�̃p�[�c��View��z�u���邱�Ƃɂ���Ď������܂��B�‚܂�A�e�L�X�g���͈��{�^���Ȃǂ�UI�̃p�[�c��View�̈��ƂȂ�A���ꂪActivity��ɔz�u����Ă��܂��i�I�����i1�j�j�B

�@�܂��AActivity�́g��ԁh�������Ă��܂��B��̓I�ɂ́A�A�N�e�B�r�e�B���\������Ă��āA����”\�ȏ�Ԃ��u�t�H�A�O���E���h�v�A�\������Ă��Ȃ���Ԃ��u�o�b�N�O���E���h�v�A�A�N�e�B�r�e�B���\������Ă��邪����ł��Ȃ���Ԃ��u�r�W�u���v�ƌĂт܂��B����āA���삵�Ă���Activity�̏�Ԃ̓t�H�A�O���E���h�Ȃ̂ŁA���K2���i4�j�����ƂȂ�܂��B

�@���ɁAActivity�̃��C�t�T�C�N���ɂ‚��Ăł����A������͉��̐}�̂悤�ɒ�`����Ă��܂��i�}1�j�B

ActivitỹCtTCNɂ‚ �}1�@Activity�̃��C�t�T�C�N���ɂ‚��āi��OESF�uAndroid�A�v���P�[�V�����J�� ����g���[�j���O�v�e�L�X�g��蔲���j

�@�}1�́uActivity�̃C�x���g�v�Ƃ́A�[�I�ɂ����΁A�Ăяo�����Activity�̃��\�b�h���ƂȂ�܂��B�Ⴆ�΁AActivity���N�������ۂɂ́A

onCreate() �� onStart() �� onResume()

�̏��ŊY��Activity�̃��\�b�h���Ă΂�i�I�����i2�j�j�A�t�H�A�O���E���h��ԂƂȂ�܂��B���̃��C�t�T�C�N���̃t���[�͔��ɏd�v�Ȓm���ł��̂ŁA��������Ɨ������Ă��������B

�@��ʑJ�ڂɊւ��ẮA���K1�̉���ɂ���ʂ�AIntent��p���Ď������܂��i�I�����i3�j�j�B

���K3�F�����i4�j

�@�uContent Providers�v��Ǝ���������ɂ́AContentProvider�N���X���p�������N���X���쐬����K�v������܂��B���̍ہAContentProvider�N���X�͒��ۃ��\�b�h��ێ����Ă��邽�߁A�Ǝ����������N���X�ɂ͕K�������̃��\�b�h����������K�v������܂��B��̓I�ɂ́A�ȉ���6���\�b�h�ƂȂ�܂��i�}2�j�B

Content ProvidersƎۂɎKv̂郁\bh �}2�@Content Providers��Ǝ���������ۂɎ�������K�v�̂��郁�\�b�h�i��OESF�uAndroid�A�v���P�[�V�����J�� ����g���[�j���O�v�e�L�X�g��蔲���j

�@�}2���A���K3���i4�j�����ƂȂ�܂��B

�@�Ȃ��AContent Providers�́A�e�A�v���P�[�V�������Ǝ��Ɏ����������̂����ł͂Ȃ��AAndroid���񋟂��Ă�����̂�����܂��B�Ⴆ�΁A�ʘb���O��R���^�N�g���X�g�ɃA�N�Z�X�”\��Content Providers�����炩���ߗp�ӂ���Ă���A�e�A�v���P�[�V�������痘�p�”\�ɂȂ��Ă��܂��B

���K4�F�����i2�j

�@�uService�v�����s������@�́A2�‚���܂��B1�‚�Intent��p���ċN��������@�i�I�����i1�j�j�B����1�‚��AActivity�ւ�bind��p������@�ł��i�I�����i3�j�j�B�O�҂̕����R�[�f�B���O�͗e�Ղł����A��҂̏ꍇ��Service�J�n��ɂ��A����Service�ɑ΂��đ�����s�����Ƃ��ł��܂��B������񓯊��ōs�킹���������̏ꍇ�͑O�ҁA�~���[�W�b�N�v���[���[�̂悤�ɍĐ��r���Œ�~�Ȃǂ̏�����r���ōs�������ꍇ�͌�҂𗘗p���邱�ƂɂȂ�܂��B

�@�܂��A�쐬����Service�́A�K��AndroidManifest.xml�ɓo�^���Ă����K�v������܂��i�I�����i4�j�j�B����́A����w�K���Ă���5�‚̃R���|�[�l���g�̂����AIntent������4�‚̃R���|�[�l���g�ɂ‚��Ă����l�ł��B�Ⴆ�΁AActivity��V���ɍ쐬�����ۂ́AAndroidManifest.xml�ɓo�^����K�v������܂��B

�@�ʏ�AService�͏������I�����Ă��A���̃C���X�^���X�͐����������܂��B����ĉ��K4���i2�j�����ƂȂ�܂��B

���K5�F�i3�j

�@�uBroadcastReceiver�v�Ƃ́A�u���[�h�L���X�g���ꂽIntent����M����d�g�݂������Ă��܂��i�I�����i2�j�j�B�u���[�h�L���X�g���ꂽIntent�Ƃ́A�V�X�e���̑S�̂ɑ΂��ē�������Intent�ł��B�Ⴆ�΁AActivity����Activity���N������ۂ�Intent�͋N������Activity�ɂ̂ݓ������܂����A�u���[�h�L���X�g���ꂽIntent�͑S�̂ɑ΂��ē������Ă��܂��B����Intent����M����̂�BroadcastReceiver�ł��B�܂��A�u���[�h�L���X�g�����Intent�́A����Intent�ɂ��N������R���|�[�l���g�������I�ł͂Ȃ��̂ŁA�g�ÖٓIIntent�h�ƌĂ΂�Ă��܂��i�I�����i4�j�j�B

�@�Ȃ��A�u���[�h�L���X�g���ꂽIntent�́A�V�X�e���̏󋵂��ω������ہi��F�V�X�e���̋N�������A�d�r�̎c�ʂ̕ω��j�ɓ������Ă��܂����A�e�A�v���P�[�V�������Ǝ���Intent���u���[�h�L���X�g���邱�Ƃ��”\�ł��B

�@�܂��A�I�����i3�j�ɂ‚��Ăł����ABroadcastReceiver����Activity���N�����邱�Ƃ́g�”\�h�ł��B����ĉ��K5���i3�j�����ƂȂ�܂��B�������A���[�U�[���炷��ƈӐ}�����ˑR�ɉ�ʂ��\������܂��̂Œ��ӂ��K�v�ł��B

�@�Ō�ɂȂ�܂����ABroadcastReceiver���N�������ۂ́A���̃N���X������onReceive���\�b�h���Ăяo����܂��B�‚܂�A��������onReceive���\�b�h�ɁAIntent����M�����ۂɎ��s���������W�b�N���L�ڂ��邱�ƂɂȂ�܂��B����onReceive���\�b�h����������ƁA����BroadcastReceiver�̃C���X�^���X�͍폜����܂��BActivity��Service�̂悤�ɐ����c�炸�ɁA���ɒZ���l�����J��Ԃ��̂�BroadcastReceiver�ł��B



�@�����܂ł̓��e�ŁA�{�A���ɂ�����A�v���P�[�V�����R���|�[�l���c�̊w�K�͏I���ł��BACE���i�΍���l����ƁA���̒P���́g�d�v�x�̍������o��p�x�̍����h���ڂ��߂��뉟���ł��B�܂��AAndroid�A�v���P�[�V�������J�������ł��A�ŏd�v���ڂł��B���ꂪ�������Ă��Ȃ���΁A�A�v���P�[�V�����͍��Ȃ��Ƃ����Ă��A�ߌ��ł͂���܂���I

�@���Ď���́A�u�X�g���[�W�v�ɂ‚��Ċw��ł����܂��B�X�g���[�W�̒P�����I���΁A�d�v�ȍ��ڂ̑����͊w�K�ς݂ƂȂ�܂��B�‚܂�A���i�����ꂾ���߂Â��Ă���Ƃ������Ƃł��ˁB����ł͎���������҂��������I �i����ɑ����j

ACE�A�v���x�[�V�b�N�����Ή��C�[���[�j���O�i�T���v��ID�v���[���g���j


Android�R�[�i�[

AndroidR[i[
�uAndroid�i�A���h���C�h�j�v�̑g�ݍ��݋@��ւ̓K�p����A�v���J���A���|�[�g�A�j���[�X�Ȃǂ��܂��܂ȋZ�p���E�ŐV���������͂�����!!

�����R�[�i�[TOP�͂����炩��


�O�̃y�[�W�� 1|2 �@�@�@�@�@�@

Copyright © ITmedia, Inc. All Rights Reserved.

'; } else { return false; } recoBox.innerHTML = html; return recoBox; }; // �֘A�L�����擾���č�����g������i�����L���j var setRecomend = function(type) { // �L�[���[�h�����Ƃ�html ���擾 var wp = setRecomendItem(); if(!wp){ cx_count(test_id + '_default_imp','impression'); console.log(test_id + '_default_imp','impression'); return false; } // ���X�g��n����html���쐬 var recoBox = wplistHtml(wp,type); // target ���擾 var target; if(d.getElementById('endlinkConnection')){ console.log('�֘A�L��'); target = d.getElementsByClassName('endlink')[0]; } else { console.log('indexlink'); target = d.getElementById('colBoxIndexlink'); } // target �Ƀ��R�����h������ target.parentNode.insertBefore(recoBox, target); cx_count(test_id + '_' + wp.group + '_imp','impression'); console.log(test_id + '_' + wp.group + '_imp','impression'); // a �^�O���擾���� var atags = recoBox.getElementsByTagName('a'); for (var j=0; j 0) { var box_list = d.getElementsByClassName('cmsBodyBox'); for (var i=0; i
' }, { 'src':'' }, {}] }; setForumCornerLink(cornerlink); })();