. . . Android- .

,
31.07.2016
70,3 K

. ,

, , , , .

http://www.allbest.ru/

http://www.allbest.ru/

Android .

. -, 15 . 1999 . 2015 . 4 . 1999 . - . .. . 2001 , [20]. 2014 . () [9]. 2015 . .

, , . 5 : N1, N2, N3, N4 N5. - N1, - N5. , , [21]. , .

-, 90- . [22,1,12,18]. , , , . ,  ..  .. , . , . , , . [2]

,  .. , . , , - [5].

, Android 2015 82,2%, , [10].

, Google Play, : , , . : JA Sensei Obenkyo. : , , , .

. - Android .

.

, :

-  ;

-  AndroidStudio 2.0;

-  Android- .

, , - .

, , ; , , .

, , , .

1.

; ; .

1.1

. (Common European Framework of Reference) (A - Basic User; B - Independent User; C - Proficient User), :

1. A1 - Breakthrough

2. A2 - Waystage

3. B1 - Threshold

4. B2 - Vantage

5. C1 - Effective Operational Proficiency

6. C2 - Mastery[15]

C .

 ({\͎). , (JF) (JEES), 1984 , . 2008 560000 .

, : , , . , , .

, JF JEES , , 20 , 2010 .

, . , , , .

(1-, 2-, 3- 4- ) (N1, N2, N3, N4, N5). .

N1

1 , .

,

N2

2

N3

2 3 ()

N4

3

N5

4

N Nihongo ({) - , New - .

, 4- 5- .

N4

.

? .

? , .

N5

.

? , , , , , .

? , ( , ..).

, . N1, N2, , , / , N3, N4, N5 : , , , . , N3, N4, N5 , (, , ) / , .

, 2014 . Japan Foundation 6- (1-2) - Japan Foundation Standard, . JFS , . , , JFS (܂邲) 1-2 , [11].

:

1) , , , ;

2) , : .

:

1) ( ), , p (: : :) ( , ), - 1000 . , . , , , . , , , . : , ; [11]

2) ;

3) , , ;

4) , .

, :

1. . ;

2. . ;

3. . ;

4. . ;

5. . ;

6. . . ;

7. . ;

8. . ;

9. . ;

10. ;

11. . ;

12. . ;

13. . . ;

14. .

, :

1. : -/ -.

2. .

3. .

4. .

5. .

6. :

i. ;

ii. ,

iii. ;

iv. ;

v. ;

vi. , , - .

7. .

8. .

9. .

10. , , .

11. .

12. :

i. ;

ii. ;

iii. ;

iv. ;

v. ;

vi. .

:

1) JBridge. .1-3. - Tokyo, Bonjinsha, 2005.

2) Minna no Nihongo. .1-2 - Tokyo, 3A Corporation, 1998.

3) Basic Kanji Book. - Tokyo, Bonjinsha, 2001.

, . , Minna no Nihongo , .

:

1) Japanese-Language Proficiency Test Official Practice Workbook N4. Publisher: Bonjinsha Inc.

2) Japanese-Language Proficiency Test Official Practice Workbook N5. Publisher: Bonjinsha Inc.

, 1 , CD . .

Nihongo Sou Matome. 4 : , , , .

1.2

, . KotobaQuiz . ..  3 : - () 1- , .

, . , , :

1) ;

2) ,

3) ;

4) ;

5) , ;

[11].

, , , .

: . , :

1)  - s->, _->T, ->, ~->

2)  - b->L, ->p, R->\, b, W->i,

, , : - .

, , , .

1.3

:

- -;

- ;

-  .

.

- , , . : 4 . , . , . , : , , , . V . . : { , x . , : , , - N .

, , - .

, , , . , 1 -, - -. , - . :

- ̎q͈҂ɏ܂B - .

- e񂾌ŁAޏ͑cɈĂꂽB - , .

- - . :  1-      +   . 1- , 2- - , 3- :

[

[.

. , 4 :

͐yɁQQQQQB

a) ҂ b)҂܂ c)҂܂ d) ҂

, - . b . , , - . , ǂ -> ǂ܂ -> ǂ܂.

- 11 , :

1. , : , . .

2. .

3. .

4. .

5. .

6. .

7. .

8. .

9. .

10. ܂.

11. .

肪. , . :

~͚MނłB - - .

- . :

|{͐_ːlłA^Oǂ͉lłB - - - , - - [3, c. 99]

, , . :

Ln̉͑f炵łB - [7, c. 25-26]

. , . :

͖ؑłB - -?

ؑ̕łB-@ -.

, , , : ? ?. :

J~Ă܂B@|@ .

:

N͊ǂނƂł܂B - - . : -, .

AWF[J́AxmRƂ܂B - - . : -, .

̑̐l̓VAꂪ킩܂B - -.@ : , ( ) .

N͐VԂقłB - - . : -, .

, , [24, c. 120].

. :

͑cꂿ񂪍cqB - -, [25, c. 69]

:

_~Ă܂B

: . . :

a) b) c) d)

, ?, . .

2.

; -; , .

2.1

,  .. . :

1) , ;

2) ;

3)

4) , [14].

KotobaQuiz :

1) Android Studio 2.0 - -;

2) SQLite Browser 3.5.0 - , -;

3) Adobe Illustrator 2014 - . .

2.2

: , , . . , . , , . 1.

:

1. ;

2. ;

3. ;

4. ;

5. ;

6. .

C :

1. ;

2. ;

3. ;

4. ;

5. , .

:

1. ;

2. .

, : . : 2 3 , 1 2 .

2.3 Android-

KotobaQuiz :

1) , , , . , ;

2) : , , ;

3) : ,  / , , , .

13 java-, 2 (. 1), 8 xml- (. 2), 25 , , ; , . , , . java- com.lyubov.app.kotobaquiz.. 5 : customization, database, preferences, task, ui (. 2). .

customization 2 java- :

- BackGroundManager.java - ;

- SoundManager.java - ;

- ThemeKeys.java - .

BackGroundManager.java . ThemeKeys.java . (Singleton Pattern). , , : , . . (, 2016:60). ThemeKeys.java getInstance(); BackgroundManager(); init(), :

public static BackgroundManager getInstance() {

if (sInstance == null) {

return sInstance = new BackgroundManager();

} else {

return sInstance;

}

}

private BackgroundManager() {

}

public void init (Context context) {

 //

}

ThemeKeys.java, , , :

Integer ORIGINAL_THEME_KEY = 1;

Integer DARK_THEME_KEY = 2;

Integer NEUTRAL_THEME_KEY = 3;

ORIGINAL_THEME_KEY 1, : - . , . DARK_THEME_KEY 2, : - . , . , NEUTRAL_THEME_KEY 3, : - .

SoundManager.java . , BackgroundManager.java Singleton. getState() .

public boolean getState() {

return mState;

}

playSoundClick(). , . MediaPlayer.java . , , .

public void playSoundClick (final Context context) {

new Thread (new Runnable() {

@Override

public void run() {MediaPlayer mediaPlayer = MediaPlayer.create (context, R.raw.button_click);

mediaPlayer.start();

}

}).start();

}

database - ExternalDBOpenHelper.java, . SQLiteOpenHelper.java. .

:

private final String DB_PATH;

private final String DB_NAME;

private SQLiteDatabase database;

private final Context context;

DB_PATH DB_NAME . database SQLiteDatabase , . context .

createDataBase() , copyDataBase() .

openDataBase() , . , . close() synchronized , .

preferences - PreferencesManager(). , : . . mPref SharedPreferences . savePreference Editor.java, edit(). putInt() Editor.java . savePreferences. loadPreferences() getPreference() .

task :

- TaskTypes.java - ;

- QuestionAndAnswers.java - ;

- QuestionAndAnswerManager.java - ;

- TaskLoader.java - .

; .

QuestionAndAnswer.java , . :

- mQuestion - ;

- mAnswerOne - 1- ;

- mAnswerTwo - 2- ;

- mAnswerThree - 3- ;

- mAnswerFour - 4- ;

- mCorrectAnswer - .

. - - .

QuestionAndAnswersManager.java - , , , . :

- mArray - , QuestionAndAnswers.java;

- mCorrectAnswerCount - ;

- mIncorrectAnswerCount - ;

- mNumberOfQuestion - , ;

- mAnswerAndQuestionNumber - QuestionAndAnswers.java;

, QuestionAndAnswers:

mArray = new ArrayList<>(quantity);

for (int i = 0; i < quantity; i++) {

mArray.add (i, new QuestionAndAnswers());}

:

mCorrectAnswerCount = 0;

mIncorrectAnswerCount = 0;

mAnswerAndQuestionNumber = 0;

mNumberOfQuestion = 1;

getCorrectAnswersCount() . getIncorrectAnswersCount() . setAnswerAndQuestion():

public void setAnswersAndQuestion (TextView question, Button answerOne, Button answerTwo, Button answerThree, Button answerFour, TextView numberQuestion, Context context) {

Random rand = new Random();

if (mArray.size() > 0) {

mAnswerAndQuestionNumber = rand.nextInt (mArray.size());}

(, ) setText(). question answerOne :

question.setText (mArray.get(mAnswerAndQuestionNumber).getQuestion());

answerOne.setText (mArray.get(mAnswerAndQuestionNumber).getAnswerOne());

, numberQuestion setText():

numberQuestion.setText (context.getResources().getString (R.string.question_number) +

String.valueOf(mNumberOfQuestion));

}

, , isCorrect():

public boolean isCorrect (Button currentButton) {

mNumberOfQuestion++;

if (mArray.get(mAnswerAndQuestionNumber).getCorrectAnswer().

equals (currentButton.getText())) {

mCorrectAnswerCount++;

return true;

} else {

mIncorrectAnswerCount++;

return false;

}

}

QuestionAndAnswers.java , , mArray:

public void removeChosenAnswerAndQuestion() {

mArray.remove(mAnswerAndQuestionNumber);

}

mArray getArrayAnswersAndQuestions():

public ArrayList<QuestionAndAnswers> getArrayAnswersAndQuestions() {

return mArray;

}

}

TaskLoader.java TaskTypes.java, , :

- int CHARACTER_MEANING = 0 - , -;

- int GRAMMAR = 1 - , ;

- int CHOOSE_RIGHT_PARTICLE = 2 - , ;

: , :

- String TASK_TABLE_ONE = task_char_trans - , -;

- String TASK_TABLE_TWO = task_gram - , ;

- String TASK_TABLE_THREE = task_choose_particle - , ;

, :

- String TASK_ID = _id - , , ;

- String TASK = task - , , 1, ;

- String CORRECT_ANSWER = correct_answer - , , ;

- String DB_NAME = taskdatabase - , 1;

- String TABLE_RESULT_CHARACTER_MEANING = result_character_meaning - , 2;

- String TABLE_RESULT_CHARACTER_READING = result_gram - , 3

- String TABLE_RESULT_CHOOSE_PARTICLE = result_choose_particle - , , - , ,

- String RESULT_CORRECT_ANSWER = correct_answer - , , ;

- String RESULT_INCORRECT_ANSWER = incorrect_answer - , - , ;

- String RESULT_TOTAL_RATE = total_rate - , ;

- int NUMBER_OF_ANSWERS = 4 - , ;

sDataBase SQLiteDatabase. QuestionAndAnswers.java, , mQuestionsAndAnswersCountForTask. Cursor. connectAndOpenDataBase(). executeData(). , , , . :

ArrayList<String> cursorColumns = new ArrayList<>(4);

cursorColumns.add (ANSWER_ONE);

cursorColumns.add (ANSWER_TWO);

cursorColumns.add (ANSWER_THREE);

cursorColumns.add (ANSWER_FOUR);

, :

Integer[] columnOfAnswer;

, , :

Iterator setIterator = randSet.iterator();

0 :

for (int i = 0; i < arrayQuestionAndAnswers.size(); i++) {

:

cursor.moveToPosition((int) setIterator.next());

, :

columnOfAnswer = randomLoadingAnswers();

 & , :

arrayQuestionAndAnswers.get(i).

setQuestion (cursor.getString (cursor.getColumnIndex(TASK)));

 & , , : arrayQuestionAndAnswers.get(i).

setAnswerOne (cursor.getString (cursor.getColumnIndex (cursorColumns. get (columnOfAnswer[0])

 & , , ( 0 3).  & , , :

arrayQuestionAndAnswers.get(i). setCorrectAnswer (cursor.getString (cursor.getColumnIndex (CORRECT_ANSWER)));

, :

cursor.close();

, :

public void setCursorForTaskLoad (String tableName)

, , , :

cursor = sDataBase.query (tableName, new String[] {TASK, ANSWER_ONE, ANSWER_TWO, ANSWER_THREE, ANSWER_FOUR, CORRECT_ANSWER}, null, null, null, null, null);

(), . , , , :

public void setQuestionsAnswersCountForTask() {

mQuestionsAndAnswersCountForTask = cursor.getCount() / 2;

}

-  & , :

public int getQuestionsAnswersCountForTask() {

return mQuestionsAndAnswersCountForTask;

}

, ,

public String getTableFromNumber (int number) {

switch (number) {

case CHARACTER_MEANING:

return TASK_TABLE_ONE;

case GRAMMAR:

return TASK_TABLE_TWO;

case CHOOSE_RIGHT_PARTICLE:

return TASK_TABLE_THREE;

default:

return null;

}

}

, , switch-case-break:

public String getResultTableFromNumberOfTask (int number) {

switch (number) {

case CHARACTER_MEANING:

return TABLE_RESULT_CHARACTER_MEANING;

case GRAMMAR:

return TABLE_RESULT_CHARACTER_READING;

case CHOOSE_RIGHT_PARTICLE:

return TABLE_RESULT_CHOOSE_PARTICLE;

default:

return null;

}

}

- . , - - :

public String getResultTableForTaskOne() {

return TABLE_RESULT_CHARACTER_MEANING;

}

getStatistics() . .

ui, -Activity, layout . : , onClickListener(). :

- MainActivity.java;

- SelectTypeLessonActivity.java;

- GameActivity.java;

- ResultActivity.java;

- StatisticsActivity.java;

- SettingsActivity.java;

MainActivity.java main_menu_layout.xml (. ). : RelativeLeayout ; Button , , , , ; : . onCreate(), init(). . , :

mStatisticButton.setOnClickListener(this);

setTheme(). :

if (SoundManager.getInstance().getState()) {

SoundManager.getInstance().playSoundClick (getBaseContext());

}

, . , :

switch (view.getId()) {

case R.id.settings_button:

goToSettingActivity();

break;

case R.id.game_button:

goToSelectLessonActivity();

break;

case R.id.about_button:

showAbout();

break;

case R.id.exit_button:

exit();

break;

case R.id.statistic_button:

goToStatisticsActivity();

break;

default:

break;

}

}

.

private void showAbout() {

AlertDialog. Builder builder = new AlertDialog. Builder (MainActivity.this);

builder.setTitle (R.string.about_game_title)

setMessage (R.string.about_game_info)

setPositiveButton (R.string.ok, new DialogInterface. OnClickListener() {

@Override

public void onClick (DialogInterface dialogInterface, int i) {dialogInterface.dismiss();}});

AlertDialog aboutDialog = builder.create();

aboutDialog.show();

}

:

android.os. Process.killProcess (android.os. Process.myPid());

GameActivity.java : , . 0,5  , : , , , .

ResultActivity.java , . :

resultView.setText (getResources().getString (R.string.correct_answers_text) + + String.valueOf(mCorrectAnswersCount) + \r\n + getResources().getString (R.string.incorrect_answers_text) + + String.valueOf(mIncorrectAnswersCount));

. 5 , . 10, . 10 - .

private void calculateRate() {

if (mCorrectAnswersCount <= 5) {

setRate (R.drawable.bad_rate, getResources().getString (R.string.bad));

} else if (mCorrectAnswersCount <= 10) {

setRate (R.drawable.normal_rate, getResources().getString (R.string.not_bad));

} else {

setRate (R.drawable.good_rate, getResources().getString (R.string.good));

}

}

, :

-  ;

-  ;

-  .

private void setRate (int drawable, String totalTextRate) {

ImageView mGraphicalRate = (ImageView) findViewById (R.id.graphical_rating);

mGraphicalRate.setImageResource(drawable);

mTextRate.setText(totalTextRate);

}

SelectTypeLessonActivity.java : - , , . .

SettingsActivity.java , :  / , . , : , . , , .

StatisticsActivity.java : getStatistics():

private String[] getmStatistics()

TaskLoader.java :

TaskLoader statisticLoader = new TaskLoader();

statisticLoader.connectAndOpenDataBase (getBaseContext());

1 ( ):

String taskStatisticOne = statisticLoader.getStatistics (statisticLoader.

getResultTableForTaskOne(), getBaseContext());

:

statisticLoader.closeDatabase();

:

return new String[] {taskStatisticOne, taskStatisticTwo, taskStatisticThree};}

2.4

, KotobaQuiz - Android 4.1 Jelly Bean. , 4.1. 5 Mb .

, :

-  . .. ; , - . ;

-  : Java for Android Android Studio 2.0.

-  ;

-  Android-.

, : , , Material design - , Google. Google Play.

1.  ..   // . 2014. 31.

2.  ..,  ..  . : - -. 5-10 2014 . - : . .. . 2015. C. 42-46.

3. , ..  . I/ .. . - .: . .. , 1999. - 305 .


  • Android. Java. Android . Android . .

    [167,8 K], 18.01.2017

  • Android "". Android. . . . .

    [1,6 M], 17.06.2017

  • . . . Android.

    [987,1 K], 27.06.2019

  • Android Java. , , . . .

    [114,8 K], 03.08.2017

  • , Android. DelphiXE5. . . .

    [1,6 M], 19.04.2017

  • Android. Android, - . , .

    [1,2 M], 04.02.2016

  • Web-. PHP. . SQL . Web-. . .

    [4,8 M], 28.04.2014

  • , Android SQLite. "DataBase". SQLite. . update delete. .

    [744,9 K], 07.07.2014

  • Android, Dalvik. - Java Android.

    [1,6 M], 08.07.2015

  • . Android. . .

    [2,5 M], 17.02.2016

, , ..
PPT, PPTX PDF- .
.