ãã®èšäºã§ã¯ãAndroidãã©ãããã©ãŒã çšã®è±èªã®ã·ãã¥ã¬ãŒã¿ãŒã²ãŒã ãéçºããçµéšã玹ä»ããéçºããã»ã¹äžã«çºçããå°é£ãšãã©ã®ãããªãã¹ããã£ããã説æããŸãã
èæ¯
2011幎以æ¥ãããªãŒã©ã³ã¹ãå«ãããŸããŸãªäŒæ¥ã§Androidéçºè ãšããŠåããŠããŸããã ãã®éãã£ãšã圌ã¯ããŸããŸãªãããžã§ã¯ãã®éçºã«åå ããŸããããèªåã®ã¢ããªã±ãŒã·ã§ã³ãæžãæéãèŠã€ããããŸããã§ããã ãããŒãã®ãªãéŽå±ã-ããŸããŸãªãããžã§ã¯ãã§Google Playã®ã¢ã«ãŠã³ããšçµéšãæã£ãŠããããç¬èªã®ã¢ããªã±ãŒã·ã§ã³ã¯æã£ãŠããªãããã°ã©ããŒã§ãã
ã¢ã€ãã¢
2015幎5æã圌ã¯è±èªã®åèªãæèšããããã®ã·ãã¥ã¬ãŒã¿ãŒã²ãŒã ãäœæããããšã«ããŸããã Google Playã«ã¯ãã®ãããªã²ãŒã ãã¢ããªã±ãŒã·ã§ã³ããããããããŸãããä»ã®ã²ãŒã ãšã¯ç°ãªããèªåã§äœãããããã£ãã®ã§ãã ãããè¡ãã«ã¯ãèªåã®ã²ãŒã ãä»ã®ã²ãŒã ãšåºå¥ããããã®ããã€ã©ã€ãããè¿œå ããå¿ èŠããããŸããã ãã®éèŠãªéãã¯ããŠãŒã¶ãŒãåèªã翻蚳ããªããã°ãªããªãæéå¶éã§ããã ã¿ã€ããŒãååšãããšãã²ãŒã ã«ç·åŒµæãå ãããŸãã
ã²ãŒã ã®åºæ¬æŠå¿µã¯ä»ã®ã²ãŒã ãšäŒŒãŠããŸã-ãŠãŒã¶ãŒã¯åèªã翻蚳ãããã®ããã®ãæããåãåããŸããããã«ãããæ°ããã¬ãã«ã®é£æ床ãçºèŠã§ããŸãã ãããªãéçºã®ããã«ããããžã§ã¯ãã®ãã詳现ãå®è¡ããå¿ èŠããããŸããã
ãŸããåèªãã²ãŒã ã®å€å žçãª3ã€ã®é£æ床ã¬ãã«ã«åå²ããããšã«ããŸããïŒç°¡åãäžãéããæããã¯è±èªã§æãã·ã³ãã«ã§é »ç¹ã«äœ¿çšãããåèªã§ãããé£ããã¬ãã«ã§ã¯ãã£ãã«äœ¿çšãããªãåèªãŸãã¯ãŸããªç¿»èš³ãªãã·ã§ã³ã§ãã
é£æ床ã決å®ããåŸãã²ãŒã ã®ã¬ãã«ãã©ããªãããç解ããå¿ èŠããããŸããã ã¬ãã«ã«ã¯5ã€ã®åèªãå«ãŸãããã®ç¿»èš³ã«ã¯éãããæéãäžããããããšã決å®ãããŸããã ååèªã«ã¯4ã€ã®ç¿»èš³ãªãã·ã§ã³ããããŸãã ã¿ã¹ã¯ãè€éã«ããããã«ã翻蚳çšã®åèªã¯ããã·ã¢èªã®ç¿»èš³ã«åãããŠããŸãã¯å ã®è±èªã®åèªã«åãããŠåèªã®ç¿»èš³ã®ãããããéžæããŸãã ããã¯ãã¹ãŠããŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ã«å®å šã«éäžããæ éã«ïŒåæã«è¿ éã«ïŒåçãéžæã§ããããã«è¡ãããŸãã
ã¬ãã«ã«å²ãåœãŠãããæéãçµéããå ŽåããŸãã¯ãŠãŒã¶ãŒã翻蚳ãééããå ŽåããŠãŒã¶ãŒã¯æ£ããçãã衚瀺ã§ããäžæ¹ã§ãã¬ãã«ãæ°ãã«éå§ããå¿ èŠããããŸãã
5ã€ã®åèªãã¹ãŠã«æ£è§£ãããšãè©äŸ¡ãèšå®ãããŸãïŒè²»ãããæéã«å¿ããŠ1ã3ã€æïŒã ç¹å®ã®æ°ã®åèªãå ¥åãããšãæ°ããã¬ãã«ã®è€éããéããåçã®æéãçããªããŸãã
ãã®çµæã3ã€ã®é£æ床ã¬ãã«ããããããããã«5èªã®ã«ãŒãã36æãããŸãã ã²ãŒã ãå®å šã«ãã¹ãããšãã²ãŒã ãå®å šã«ãã¹ãããšããŠãŒã¶ãŒã¯ããŸããŸãªé£æ床ã®540ã®è±åèªãåŠç¿ããããšãããããŸãã å§ããã®ã¯ããªãè¯ãã
åœå
ã¢ããªã±ãŒã·ã§ã³èªäœã®ååãæãæµ®ãã³ãŸãã-è±èªã®åèªãFunããšãEnglishãã®çµã¿åããã§ãã²ãŒã ã®æ¬è³ªã説æããŠããŸã-è±èªã®åèªã®éå±ãªç 究ã
èšèš
æå§ãã«ãå°æ¥ã®ã¢ããªã±ãŒã·ã§ã³ç»é¢ã®ã¹ã±ãããæ®éçŽã«æãããç»é¢éã®é·ç§»ã®ã·ãŒã±ã³ã¹ãšãã¶ã€ããŒã®ã³ã¡ã³ãã瀺ãããŸããã 10ç»é¢ãã衚瀺ãããŸããã§ããã
- ã¹ã¯ãªãŒã³ã»ãŒããŒ
- ã¡ã€ã³ã¡ãã¥ãŒ
- é£æ床éžæ
- ã²ãŒã ã¬ãã«éžæ
- ã²ãŒã
- åå©ã®çª
- çªãç Žã
- èšå®
- æ å ±
- ãã¬ãŒãã³ã°
ãã®è³æã¯ãä»äºãå§ããã銎æã¿ã®ãã¶ã€ããŒã«è²æž¡ãããŸããã 圌ã¯ããŽãã¢ã€ã³ã³ãéçºããåè²ããã©ã³ãããã¿ã³ãµã€ãºãªã©ãéžæããŸããããã®åŸãæ¢è£œã®ã€ã³ã¿ãŒãã§ã€ã¹ãœãªã¥ãŒã·ã§ã³ãæ瀺ãããã¯ã¿ãŒã§æç»ããŠã¹ã©ã€ã¹ããŸããã ãªãªãŒã¹çšã«æºåãããè³æïŒããã¬ãã¥ãŒããåºåç»åãªã©ïŒã
ã¹ã¯ãªãŒã³ã·ã§ããã§äœæ¥ã®çµæãèŠãããšãã§ããŸã
éçº
ãã€ã©ã€ã
Androidã®æå°ãµããŒãããŒãžã§ã³ã¯API 15ïŒAndroid 4.0.3ïŒã§ããã
ã¢ããªã±ãŒã·ã§ã³ã«è¿œå ã®èš±å¯ïŒAndroidèš±å¯ïŒã¯å¿ èŠãããŸããã ã¢ããªã±ãŒã·ã§ã³ã«ã¯åºåãçµ±èšåéããããŸããã
ãããžã§ã¯ãã«ã¯ã¢ã¯ãã£ããã£ã2ã€ãããããŸãããSplashActivityãšGameActivityã¯ãåŸè ã®ç»é¢ã§ã¯ããŸããŸãªãã©ã°ã¡ã³ããå€æŽããããšã§å€æŽãããŸããããã®ãã¡ã®7ã€ã®ã¿ã§ãã
- InfoFragment-éçºè æ å ±
- MainFragment-ã¡ã€ã³ã¡ãã¥ãŒ
- PlayFragment-ã²ãŒã
- SelectDifficultFragment-é£æ床ãéžæããŸã
- SelectLevelFragment-ã²ãŒã ã¬ãã«ã®éžæ
- SettingsFragment-èšå®
- TutorialFragment-ãã¬ãŒãã³ã°
ãã®æ§é å ã®ããŒã¿ããŒã¹ã¯éåžžã«åçŽã§ãããããè£å©ã©ã€ãã©ãªïŒgreenDaoãªã©ïŒã䜿çšããã«ãAndroidã®åŸæ¥ã®æ¹æ³ã§äœæãããŸãã
ããŒã¿ããŒã¹æ§é
WordTableããŒãã«ã«ã¯ãåçãã£ãŒã«ããšãtranslate1ãtranslate2ãtranslate3ãtranslate4ãtranslate5ã®åãã£ãŒã«ãããããåèšã§6ã€ã®åçãªãã·ã§ã³ããããŸãããç»é¢ã«ã¯4ã€ãã衚瀺ãããŠããŸãããã¬ãã«ãå床枡ããšãéšåçã«ç°ãªãåçãªãã·ã§ã³ã衚瀺ãããŸããã
public static abstract class BaseTable { public static final String _ID = BaseColumns._ID; } public static class LevelResultTable extends BaseTable { private static final String TABLE_NAME = "LevelResult"; public static final String DIFFICULT = "difficult"; public static final String LEVEL_NUMBER = "level_number"; public static final String STARS = "stars"; private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + _ID + " INTEGER PRIMARY KEY UNIQUE, " + DIFFICULT + " INTEGER NOT NULL, " + LEVEL_NUMBER + " INTEGER NOT NULL, " + STARS + " INTEGER NOT NULL, " + " UNIQUE (" + DIFFICULT + ", " + LEVEL_NUMBER + ")" + ") ;"; } public static class WordTable extends BaseTable { private static final String TABLE_NAME = "Word"; public static final String ORIGINAL = "original"; public static final String DIFFICULT = "difficult"; public static final String LEVEL = "level"; public static final String ANSWER = "answer"; public static final String TRANSLATE1 = "translate1"; public static final String TRANSLATE2 = "translate2"; public static final String TRANSLATE3 = "translate3"; public static final String TRANSLATE4 = "translate4"; public static final String TRANSLATE5 = "translate5"; private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + _ID + " INTEGER PRIMARY KEY UNIQUE, " + DIFFICULT + " INTEGER NOT NULL, " + LEVEL + " INTEGER NOT NULL, " + ORIGINAL + " TEXT UNIQUE NOT NULL, " + ANSWER + " TEXT NOT NULL, " + TRANSLATE1 + " TEXT NOT NULL, " + TRANSLATE2 + " TEXT NOT NULL, " + TRANSLATE3 + " TEXT NOT NULL, " + TRANSLATE4 + " TEXT NOT NULL, " + TRANSLATE5 + " TEXT NOT NULL " + ");"; }
WordTableããŒãã«ã«ã¯ãåçãã£ãŒã«ããšãtranslate1ãtranslate2ãtranslate3ãtranslate4ãtranslate5ã®åãã£ãŒã«ãããããåèšã§6ã€ã®åçãªãã·ã§ã³ããããŸãããç»é¢ã«ã¯4ã€ãã衚瀺ãããŠããŸãããã¬ãã«ãå床枡ããšãéšåçã«ç°ãªãåçãªãã·ã§ã³ã衚瀺ãããŸããã
æåã®ããŒãžã§ã³ãéçºãããšãã圌ãã¯æºåž¯é»è©±ã®ã¿ã«çŠç¹ãåœãŠãŠãããããAndroidManifestã«è¡ãè¿œå ãããŸãã
<supports-screens android:xlargeScreens="false"/>
ãµããŒããããããã€ã¹ã®ãªã¹ããå¶éããŸãã
å 容
ã¢ããªã±ãŒã·ã§ã³ã®äººæ°ïŒãŠãŒãã£ãªãã£ãé«åºŠã«å°éåããããããã§ãã·ã§ãã«ã¢ããªã±ãŒã·ã§ã³ãèæ ®ããªãå ŽåïŒã¯ãã³ã³ãã³ãã®å質ã«çŽæ¥äŸåããŸãã
äžèšã®ããã«ãã¢ããªã«ã¯3ã€ã®é£æ床ããããŸãã åã¬ãã«ã®åèªã¯æåã§éžæãããè€éãã¯äž»èŠ³çã«è©äŸ¡ãããŸããã ã²ãŒã ãããã«è€éã«ãããããåèªãæ€çŽ¢ãããšãã«ãåé³ã§ã¹ãã«ãæå³ã䌌ãŠããåèªã䜿çšããããšããŸãããããšãã°ãå ã®åèªããäœããã®å Žåã翻蚳ãªãã·ã§ã³ã¯æ¬¡ã®ããã«ãªããŸãã
- äœã
- ã©ãã
- ã©ãã
- 誰ã
- ãªãããã®çç±ã§
- ãªãããã®çç±ã§
ãããã«ãŒ
ã¬ãã«ã®æåŸã«çµæãŠã£ã³ããŠã衚瀺ããããšïŒãæåããŸãã¯ãæåãïŒãèæ¯ãã衚瀺ããããŸãã ãã«ãŒã¹å¹æã¯ãå€å žçãªæ¹æ³ã§å®è£ ãããŠããŸããã²ãŒã ã¬ã€ã¢ãŠãã®ãããããããä¿åããåŠçããŠãçµæãŠã£ã³ããŠã«èæ¯ãé 眮ããŸãã
ç»ååŠçã¯ã ãªã³ã¯ã§èŠã€ãã£ãããªãªã¯ãªã³ã²ãã³ã³ãŒãïŒmario@quasimondo.comïŒã䜿çšããŠå®è£ ãããŸããã ç»ååŠçã¯éåžžã«é·ãããã»ã¹ã§ãããããåŠçãé«éåããããã«ãç»åã¯äºåã«çž®å°ãããŸãã ããããããšã§ãããå質ãäœäžãããšæéå ã«åã¡ãŸãã ãã®å Žåãå質ã®äœäžã¯éèŠã§ã¯ãããŸããã
ã¹ã¯ãªãŒã³ã·ã§ããã¡ãœããã³ãŒã
public class ScreenShot { public static Bitmap getScaledScreenshot(View v, float scaleFactor) { Bitmap b = Bitmap.createBitmap((int) (v.getWidth() / scaleFactor), (int) (v.getHeight() / scaleFactor), Bitmap.Config.RGB_565); Canvas c = new Canvas(b); c.scale(1.f / scaleFactor, 1.f / scaleFactor); v.draw(c); return b; } }
ç»åçž®å°ã®ã¯ã©ã¹ã³ãŒã
public class Resize { private static Paint sPaint = new Paint(Paint.FILTER_BITMAP_FLAG); public static Bitmap scale(Bitmap bmp, float scaleFactor, boolean recycleOriginalBmp) { Bitmap overlay = Bitmap.createBitmap((int) (bmp.getWidth()/scaleFactor), (int) (bmp.getHeight()/scaleFactor), Bitmap.Config.RGB_565); Canvas canvas = new Canvas(overlay); canvas.scale(1 / scaleFactor, 1 / scaleFactor); Paint paint = new Paint(); paint.setFlags(Paint.FILTER_BITMAP_FLAG); canvas.drawBitmap(bmp, 0, 0, paint); if(recycleOriginalBmp) { bmp.recycle(); bmp = null; } return overlay; } }
ã«ã¹ã¿ã ãã¥ãŒ
ããã©ãŒãã³ã¹ãæ¹åããäžéšã®ç»é¢ã®è¡šç€ºãæ¹åããããã«ãããšãã°è³ªåã«çããããã®ãã¿ã³ãªã©ãããã€ãã®ãã€ãã£ãViewããã³ViewGroupãäœæãããŸããã
åèªã®ãããã¿ã³ã®ããã¹ãã¯ã§ããã ã倧ããããå¿ èŠããããŸãããåæã«ãåèªã®æåæ°ã¯åèªããšã«ç°ãªãå ŽåããããŸãã ãããã£ãŠãããã¹ããµã€ãºãç¹å®ã®å¹ ïŒãã¥ãŒã®å¹ ããã€ã³ãã³ããåŒããå¹ ïŒãè¶ ããå Žåãããã¹ããµã€ãºã®èªå調æŽãè¡ãããŸããã
ãã¿ã³ã³ãŒã
public class AnswerButton extends View { //private final static String TAG = AnswerButton.class.getSimpleName(); public final static int STATE_NORMAL = 0; public final static int STATE_SUCCESS = 1; public final static int STATE_FAILED = 2; public final static int STATE_PRESSED = 3; private Paint mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG); private Paint mBackgroundPaint = new Paint(Paint.ANTI_ALIAS_FLAG); private static Bitmap sBackgroundBitmap, sPressedBitmap, sSuccessBitmap, sFailedBitmap; private int mState = STATE_NORMAL; private int mWidth; private int mHeight; private float mTextLeftX, mTextTopY; private float mLeftRightPadding; private Rect mBackgroundRect = new Rect(), mTextBounds = new Rect(); private float mTextSize; private String mText; public AnswerButton(Context context) { super(context); init(); } public AnswerButton(Context context, AttributeSet attrs) { super(context, attrs); init(); } public AnswerButton(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(); } private void init() { if(sBackgroundBitmap == null) { sBackgroundBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.btn_answer_normal); } if(sSuccessBitmap == null) { sSuccessBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.btn_answer_success); } if(sFailedBitmap == null) { sFailedBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.btn_answer_failed); } if(sPressedBitmap == null) { sPressedBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.btn_answer_pressed); } setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction() & MotionEvent.ACTION_MASK; if(action == MotionEvent.ACTION_DOWN || action == MotionEvent.ACTION_MOVE) { if(mState == STATE_PRESSED) { return false; } mState = STATE_PRESSED; invalidate(); } else { if(mState != STATE_PRESSED) { return false; } mState = STATE_NORMAL; invalidate(); } return false; } }); mLeftRightPadding = getResources().getDimension(R.dimen.view_answer_button_left_right_padding); mTextSize = getResources().getDimension(R.dimen.answer_button_text_size); mTextPaint.setTextSize(mTextSize); mTextPaint.setColor(getResources().getColor(R.color.answer_button_text_color)); mTextPaint.setTypeface(FontManager.VDS_COMPENSATED_LIGHT); } public void setText(String text) { setState(STATE_NORMAL); mText = text; recalculate(); invalidate(); } public String getText() { return mText; } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); mWidth = w; mHeight = h; mBackgroundRect.left = 0; mBackgroundRect.top = 0; mBackgroundRect.right = w; mBackgroundRect.bottom = h; recalculate(); invalidate(); } public void setState(int state) { mState = state; invalidate(); } private void recalculate() { mTextPaint.setTextSize(mTextSize); mTextPaint.getTextBounds(mText, 0, mText.length(), mTextBounds); if(mWidth != 0) { while (mTextBounds.width() >= mWidth - mLeftRightPadding * 2) { mTextPaint.setTextSize(mTextPaint.getTextSize() - 2); mTextPaint.getTextBounds(mText, 0, mText.length(), mTextBounds); } } mTextLeftX = (mWidth - mTextBounds.width()) / 2 - mTextBounds.left; mTextTopY = (mHeight - mTextBounds.height()) / 2 - mTextBounds.top; } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); if(mState == STATE_NORMAL) { canvas.drawBitmap(sBackgroundBitmap, null, mBackgroundRect, mBackgroundPaint); } else if(mState == STATE_PRESSED) { canvas.drawBitmap(sPressedBitmap, null, mBackgroundRect, mBackgroundPaint); } else if(mState == STATE_SUCCESS) { canvas.drawBitmap(sSuccessBitmap, null, mBackgroundRect, mBackgroundPaint); } else { canvas.drawBitmap(sFailedBitmap, null, mBackgroundRect, mBackgroundPaint); } canvas.drawText(mText, mTextLeftX, mTextTopY, mTextPaint); } }
ã¢ãã¡ãŒã·ã§ã³
éçãªã¹ãã©ãã·ã¥ã¹ã¯ãªãŒã³ã¯éå±ã«èŠããŸããã ãããã£ãŠãã¢ãã¡ãŒã·ã§ã³ãè¿œå ããããšã«ããŸãããã€ãŸããããŽã®æågã«è±åœåœæãå転ãããŸãã éåžžã®gifã¢ãã¡ãŒã·ã§ã³ãäœæããããšã¯å¯èœã§ããããç°¡åãªæ¹æ³ãæ¢ããŠããããã§ã¯ãªãããããã¹ãŠãã³ãŒãã«å®è£ ãããŠããŸãã
ã¢ãã¡ãŒã·ã§ã³ã¯éåžžã«ç°¡åã«å®è£ ãããŸãããããŒã¯ã¢ããã§ã¯ãæåã®ã¬ã€ã€ãŒã¯ã³ã³ãããäžå¿ãšããè±åœåœæã®ç»åã§ããã次ã®ã¬ã€ã€ãŒã¯ãã¡ã³ã°ãªãã·ã¥ãšããåèªã®ç»åã§ããããŸãã ã¢ã¯ãã£ããã£ãéããšãã€ã®ãªã¹åœæã®ç»åã2å転ãããã¢ãã¡ãŒã·ã§ã³ãéå§ãããŸãã æšæºã®ã¢ãã¡ãŒã·ã§ã³è£éãAccelerateDecelerateInterpolatorã«å€æŽãããå転ãéç·åœ¢ã«å éããã³æžéããŸãã
ã¢ãã¡ãŒã·ã§ã³ã¯éåžžã«ãããã§æãåºæ·±ããã®ã§ããããšãå€æãã調æ»ãããã¹ãŠã®äººã ã奜ãã§ããã
ãã¥ãŒããªã¢ã«
ã¢ããªã±ãŒã·ã§ã³ã®éçºãšããã¢ãŒã·ã§ã³ã«é¢ããã»ãšãã©ã®èšäºãšæ¬ã¯ãæãéèŠãªãã€ã³ãã®1ã€ã¯ãŠãŒã¶ãŒã«è£œåã®äœ¿çšæ¹æ³ãæããããšã§ãããšå šäŒäžèŽã§è¿°ã¹ãŠããŸãã ãã¬ãŒãã³ã°ã®ããã«ããã¥ãŒããªã¢ã«ç»é¢ãäœæãããŸããããã®ç»é¢ã§ã¯ã3ããŒãžã§ãŠãŒã¶ãŒã«ã²ãŒã ã®éèŠãªãã€ã³ããç°¡åã«äŒããããŸãã ãã®ç»é¢ã¯ãã²ãŒã ã®æåã®éå§åã«äžåºŠè¡šç€ºãããŸãã
ã¹ã¯ãªãŒã³ã·ã§ãã
転èš
ã¢ããªã±ãŒã·ã§ã³ã®å ¬éã¯8æ7æ¥ã«è¡ãããŸããã ããŒãååŸããŠPlayããŒã±ããã«ã¢ããªã±ãŒã·ã§ã³ãé 眮ããããã»ã¹ã説æããããšã¯æå³ããªããšæããŸãã
ãã®ã¢ããªã±ãŒã·ã§ã³ã¯ããã·ã¢èªã話ãå€ãã®äººã ã«äŒããæ°ã«åœã§ã®ã¿ããŠã³ããŒãã§ããŸããããã¯ãã¡ããããã·ã¢ãšãã©ã«ãŒã·ããã«ã¬ãªã¢ãã«ã¶ãã¹ã¿ã³ããŠã¯ã©ã€ãã§ãã æ¢ã«ç解ããããã«ãã¢ããªã±ãŒã·ã§ã³ã¯ãã·ã¢èªã®ã¿ããµããŒãããŠããŸãã
ãã¹ãäž
ã²ãŒã ã®å€§éšåãäœæãããã³ã³ãã³ããèŠã€ãããã²ãŒã ããã§ã«ãªãªãŒã¹ã®æºåãããŠãããšãã«ããã¹ããå®æœãããŸããã ãã®ããã«ãã²ãŒã ã®ã¢ã«ãã¡çããã¬ã€ããããšã«åæãããã©ã³ãã£ã¢ãèŠã€ãããŸããã
æåŸ ã¯æ£åœåãããŸãã-ãŠãŒã¶ãŒã¯ãã°ããã®éåèªãæšæž¬ãããšããã³ã³ã»ããã奜ãã§ããã 圌ãã«ãããšã絶ããæŽæ°ãããã¿ã€ããŒã¯ããªããäžæåæ¢ç¶æ ã«ä¿ã¡ãåæ§ã®åèªã®ç¿»èš³ã¯æ··ä¹±ãæããŸãã
åæã«ãã¿ã€ããŒãçµäºããåã«ãŠãŒã¶ãŒãèšèã«çããæéããªããšãããŸãã¯æåŸã®ç¬éã«ééã£ãŠçãããšãã«ãããããé³¥ãå¹æãæ€åºãããŸãã-圌ã¯éåžžã«æã£ãŠããŸãã ææ ã¯ããã®å Žåã¯ãã€ãã¹ã§ããããã©ã¹ã®å¹æããããŸãã ãŠãŒã¶ãŒã¯ã¬ãã«ãã¯ãªã¢ãããŸã§èœã¡çããŸãããã€ãŸããç¥ããªãåèªãåŠç¿ããŸãã
é åž
äœããã®çç±ã§ãã¢ããªã±ãŒã·ã§ã³ã®é åžã«å¯æ¥ã«é¢äžããæ©äŒããããŸããã§ããã åæ¥ã«è¡ãããå¯äžã®ããš-ãªã³ã¯ããœãŒã·ã£ã«ã«é 眮ããŸãã VKontakteãããã¯ãŒã¯ãããã³å人ã«ã¢ããªã±ãŒã·ã§ã³ã®ããŠã³ããŒããæ±ããã¹ããŒãªãŒã åæ¥ã¯17åã®ããŠã³ããŒãããããããŸããã ãã®åŸãããŠã³ããŒãæ°ã¯1æ¥ã«1ã«æžå°ããŸããã
8æ20æ¥ããã©ãŒã©ã ãµã€ãw3bsit3-dns.comã«ãããã¯ãäœæãããã¢ããªã±ãŒã·ã§ã³ã®èª¬æãšPlayããŒã±ãããžã®ãªã³ã¯ãæçš¿ãããŸããã ãããŸã§ã«ã700人以äžããã®ãããã¯ãèŠãŠããŸããã å°ãåŸã«ã r-android.ruãµã€ãã¯ããããé©ãã圌ã®ãµã€ãã§ã²ãŒã ã®ã¬ãã¥ãŒãæžããŸããã æè¿ã§ã¯ãããŠã³ããŒãæ°ã30ã«å¢ããŠããŸãã
ããŠã³ããŒãçµ±èš
w3bsit3-dns.comãå€ãã®ãŠãŒã¶ãŒãç²åŸããŠããããšã«æ³šæããŠãã ãã ã ãããŠãã»ãšãã©ã®å Žåããµã€ãr-android.ruã®äœæè ã¯ããããã²ãŒã ã«ã€ããŠæ£ç¢ºã«åŠã³ãã¬ãã¥ãŒãæžããŸããã
ãããã«
æ¯ãè¿ã£ãŠã¿ããšãå€ãã®ããšãééã£ãŠããããŸãã¯ééã£ãã¿ã€ãã³ã°ã§è¡ãããŠããããšãããããŸãã ããšãã°ãã¢ããªã±ãŒã·ã§ã³ã®æŠå¿µãããèããŠãèšèšéçºã®éäžã§ãã¶ã€ããŒã®äœæ¥ã®ååãããçŽãå¿ èŠããªãããã«ããããšãã§ããŸãã
UXã®ãã¹ãã¯ãã¢ã€ãã¢ããã¹ãããããã«ãäž»ã«è¿ éã«çµã¿ç«ãŠãããã³ã³ã»ããã§è¡ãããšãã§ããã¯ãã§ããã ããããããã¯ãªãªãŒã¹ã®çŽåã«è¡ãããŸããã
æéããªããããFlurryã«ã¯çµ±èšãè¿œå ããŸããã§ããããã¢ããªã±ãŒã·ã§ã³ã®äœ¿çšã«é¢ããå€ãã®æçšã§å¿ èŠãªæ å ±ãåŸãããããã«ãªããŸããã
ãŸããAdMobã®åºåãè¿œå ããŠããããããããåå ¥ãšãããããã©ããã確èªãããã£ãã®ã§ãã ããããåã³ååãªæéããããŸããã§ããã
ç§ããªãªãŒã¹ã®æºåãã§ããŠããŸããã§ããïŒãã¬ã¹ãªãªãŒã¹ãèšäºãæžãããŠããŸããã§ããã ãã®åé¡ã«ãã£ãšã¢ãããŒããããå Žåã¯ãã¢ããªã±ãŒã·ã§ã³ã眮ãåœæ¥ã«ãããŒããã©ãŒã©ã ã§ã¡ãã»ãŒãžãé åžãããããœãŒã·ã£ã«ãããã¯ãŒã¯ã§ã¢ããªã±ãŒã·ã§ã³ããŒãžãäœæããããããŸããŸãªãµã€ãã«èšäºãéä¿¡ãããã§ããŸãã ããã¯ãã¹ãŠãçè«çã«ã¯å€æ°ã®ããŠã³ããŒããããããå¯èœæ§ããããPlay Marketã®è©äŸ¡ã«ãããã¢ããªã±ãŒã·ã§ã³ã®äœçœ®ã«ãã©ã¹ã®åœ±é¿ãäžããŸãã
è±èªåŠç¿ã®ãããã¯ã¯éåžžã«é¢é£æ§ãé«ããããä»ã¯éžæè¢ããããŸãïŒå°èŠæš¡ãªæŽæ°ïŒã³ã³ãã³ãã®æŽæ°ïŒãæŠå¿µçãªæŽæ°ïŒé³å£°ç¿»èš³ãªã©ã®æ°ããã¿ã€ãã®ã¬ãã«ã®è¿œå ïŒããŸãã¯è±èªåŠç¿çšã®ã¢ããªã±ãŒã·ã§ã³ããã±ãŒãžïŒæå¶ãäžèŠååè©ïŒã®äœæãªã©ïŒã
圌ãã¯ããæåã®ãã³ã±ãŒãã¯ãŽããŽãããŠããããšèšããŸãã ããããããã¯Funglishã«ã¯åœãŠã¯ãŸããªããšæããŸãã ãã®ã²ãŒã ã®éçºã¯éåžžã«è²Žéãªäœéšã§ãã ãã®ã²ãŒã ã«ã¯è¯ãè©äŸ¡ãããã人ã ã¯ã¬ãã¥ãŒãæžããŠãããã€ãã®æ°ããæ©èœãè¿œå ããããæ±ããŠããŸãã 誰ããããªãã®ã¢ããªã±ãŒã·ã§ã³ãæ¬åœã«æ°ã«å ¥ã£ãŠããããšãç¥ã£ãŠãšãŠãããããã§ãã æ°ããã²ãŒã ãã¢ããªã±ãŒã·ã§ã³ãäœæããããšã¯å¿åŒ·ãã§ãã