Скачиваний:
9
Добавлен:
17.06.2023
Размер:
2.42 Mб
Скачать

android:layout_alignEnd="@+id/gaz_plita_button" android:layout_alignStart="@+id/gaz_plita_button" android:layout_centerHorizontal="true" android:layout_marginTop="10dp" android:background="@drawable/roundedbutton"/>

<ImageView android:layout_width="40dp" android:layout_height="30dp" android:id="@+id/Plita_imageView"

android:layout_alignTop="@+id/gaz_plita_button" android:layout_alignLeft="@+id/gaz_all_button" android:layout_alignBottom="@+id/gaz_plita_button" android:src="@drawable/plita"/>

<ImageView android:layout_width="40dp" android:layout_height="30dp"

android:id="@+id/Duhovka_imageView" android:layout_alignTop="@+id/gaz_duhovka_button" android:layout_alignLeft="@+id/Plita_imageView" android:layout_alignBottom="@+id/gaz_duhovka_button" android:src="@drawable/duhovka"/>

<ImageView android:layout_width="40dp" android:layout_height="30dp" android:id="@+id/Tv_imageView"

android:layout_alignTop="@+id/gaz_gorelka_button" android:layout_alignLeft="@+id/Duhovka_imageView" android:layout_alignBottom="@+id/gaz_gorelka_button" android:src="@drawable/gorelka"/>

<ImageView android:layout_width="40dp" android:layout_height="30dp" android:id="@+id/Kotel_imageView"

android:layout_alignTop="@+id/gaz_kotel_button" android:layout_alignLeft="@+id/Duhovka_imageView" android:layout_alignBottom="@+id/gaz_kotel_button" android:src="@drawable/kotel"/>

</RelativeLayout>

</LinearLayout>

</ScrollView>

Фрагмент исходного кода программы (модуль формы изучения правил безопасности эксплуатации газовых приборов мобильного приложения)

package com.example.sly.safety; import android.media.MediaPlayer; import android.os.Bundle;

import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar;

import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar;

42

import android.view.View;

import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast;

public class RulesGazActivity extends AppCompatActivity { public static final String PARAM_RULES = "rulesTheme"; int rulesTheme;

MediaPlayer mPlayer;

ImageButton startButton, pauseButton, stopButton; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_rules_gaz);

rulesTheme = getIntent().getIntExtra(PARAM_RULES, 0); TextView twRules = (TextView) findViewById(R.id.textView);

startButton = (ImageButton) findViewById(R.id.QuestionPlayimageButton); pauseButton = (ImageButton) findViewById(R.id.QuestionPauseimageButton); stopButton = (ImageButton) findViewById(R.id.QuestionStopimageButton); pauseButton.setEnabled(false);

stopButton.setEnabled(false); if (rulesTheme==1) {

twRules.setText("Инструкция по технике безопасности при работе с газовой плитой\n" + "1. Перед началом работы необходимо проветрить помещение, включить

механическую вентиляцию или держать открытыми естественные вентиляционные отверстия.\n" + "2. Следите за тем, чтобы пламя горелки было равномерным, синего цвета. Если оно

желтого цвета и отрывается от горелки, отрегулируйте горелку.\n" + "3. Не оставляйте работающую плиту без присмотра;\n" + "4. Не используйте плиту для обогрева помещения;\n" +

"5. Периодически (не реже одного раза в полгода) проверяйте состояние гибкого шланга подвода газа. \n" +

"6. Чтобы почистить горелки или помыть стол плиты, горелки необходимо снять.\n" + "7. Газовые каналы на шляпках горелок необходимо чистить щеткой, после чего их

нужно промыть и хорошо высушить.\n");

mPlayer = MediaPlayer.create(this, R.raw.seventhsong); mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

@Override

public void onCompletion(MediaPlayer mp) { stop();

}

});

}

if (rulesTheme==2) {

twRules.setText("Инструкция по технике безопасности при работе с жарочным шкафом\n" + "1. Перед началом работы проверьте надёжность подсоединения защитного заземления

к корпусу жарочного шкафа, а также целостность подводящего электрического кабеля. \n" +

"2. Доводите температуру в жарочном шкафу до установленной нормы в зависимости от исходных изделий. \n" +

"3. Соблюдайте осторожность при открывании жарочного шкафа во избежание ожогов лица и дыхательных путей раскалённым воздухом. \n" +

"4. Во избежание ожогов рук ставьте и вынимайте противни с выпечкой из жарочного шкафа, используя полотенце или прихватки. \n" +

43

"5. Следите за температурой жарочного шкафа, не допускайте его перегревания. \n" + "6. Не оставляйте без присмотра включенный в сеть жарочный шкаф.\n");

mPlayer = MediaPlayer.create(this, R.raw.eighthsong); mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

@Override

public void onCompletion(MediaPlayer mp) { stop();

}

});

}

if (rulesTheme==3) {

twRules.setText("Инструкция по технике безопасности при работе с газовой горелкой\n" + "1. При подготовке горелки к работе необходимо отвинтить колпачок баллона,

вращением маховика вентиля против часовой стрелки установить иглу вентиля в верхнее положение и ввернуть вентиль непосредственно в баллон. \n" +

"2. В случае появления утечки из вентиля баллона сжиженного углеводородного газа пользоваться баллоном запрещается. \n" +

"3. Присоединение шланга к баллону должно производиться ключом и обеспечивать плотность соединения, исключающую утечку газа. \n" +

"4. Для зажигания газовой горелки необходимо открыть полностью вентиль на баллоне, затем приоткрыть клапан горелки и поднести к концу сопла горящую спичку. \n" +

"5. Величину пламени газовой горелки при пайке кабеля следует регулировать клапаном горелки. \n" +

"6. Не допускается полное выгорание газа из баллона. Малое пламя горелки указывает на недостаточное количество газа в баллоне, засор диффузора горелки или капсюля баллона. \n" +

"7. При пользовании газовой горелкой не должен ощущаться запах газа. Проверить утечку газа можно путем нанесения мыльной эмульсии на место предполагаемой утечки газа. \n");

mPlayer = MediaPlayer.create(this, R.raw.ninthsong); mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

@Override

public void onCompletion(MediaPlayer mp) { stop();

}

});

}

}

private void stop(){ mPlayer.stop(); pauseButton.setEnabled(false); stopButton.setEnabled(false); try {

mPlayer.prepare();

mPlayer.seekTo(0);

startButton.setEnabled(true);

}

catch (Throwable t) {

Toast.makeText(this, t.getMessage(), Toast.LENGTH_SHORT).show();

}

}

public void startAudio(View view){ mPlayer.start(); startButton.setEnabled(false);

44

pauseButton.setEnabled(true);

stopButton.setEnabled(true);

}

public void pauseAudio(View view){ mPlayer.pause(); startButton.setEnabled(true); pauseButton.setEnabled(false); stopButton.setEnabled(true);

}

public void stopAudio(View view){ stop();

}

@Override

public void onDestroy() { super.onDestroy();

if (stopButton.isEnabled()) { stop();

}

}

}

<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context="com.example.sly.safety.RulesGazActivity"> <include layout="@layout/content_rules_gaz" />

</android.support.design.widget.CoordinatorLayout>

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

android:id="@+id/scrollView"

android:fillViewport="true"

android:scrollbars="none">

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout

android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.sly.safety.RulesGazActivity" tools:showIn="@layout/activity_rules_gaz"> <ImageView

android:layout_width="fill_parent"

45

android:layout_height="fill_parent" android:id="@+id/Gaz_imageView" android:layout_alignParentTop="false" android:layout_alignParentRight="false" android:layout_alignParentEnd="false" android:scaleType="centerCrop" android:src="@drawable/gaz" android:layout_alignParentStart="false" android:layout_alignParentLeft="false" android:layout_alignParentBottom="false" />

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"

android:textAppearance="?android:attr/textAppearanceSmall" android:text="Large Text"

android:id="@+id/textView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:textStyle="italic" android:textAlignment="inherit" android:textColor="#ffffff" />

<ImageButton android:layout_width="48dp" android:layout_height="48dp"

android:id="@+id/QuestionPlayimageButton" android:src="@android:drawable/ic_media_play" android:onClick="startAudio" android:layout_alignTop="@+id/QuestionPauseimageButton" android:layout_toLeftOf="@+id/QuestionPauseimageButton" android:layout_toStartOf="@+id/QuestionPauseimageButton" />

<ImageButton android:layout_width="48dp" android:layout_height="48dp"

android:id="@+id/QuestionPauseimageButton" android:src="@android:drawable/ic_media_pause" android:onClick="pauseAudio" android:layout_below="@id/textView" android:layout_marginTop="30dp" android:layout_centerHorizontal="true" android:layout_marginLeft="10dp"/>

<ImageButton android:layout_width="48dp" android:layout_height="48dp"

android:id="@+id/QuestionStopimageButton" android:layout_alignTop="@+id/QuestionPauseimageButton" android:layout_toRightOf="@+id/QuestionPauseimageButton" android:layout_toEndOf="@+id/QuestionPauseimageButton" android:src="@android:drawable/ic_menu_close_clear_cancel" android:onClick="stopAudio"

46

android:layout_marginLeft="10dp"/> </RelativeLayout>

</LinearLayout>

</ScrollView>

Фрагмент исходного кода программы (модуль формы контрольного теста мобильного приложения)

package com.example.sly.safety; import android.os.Bundle;

import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar;

import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar;

import android.view.View; import android.widget.Button; import android.widget.TextView; import java.util.Random;

public class TestActivity extends AppCompatActivity { TextView Question;

String[] QuestionsMassive = new String[6]; int[] UsedQuestionsMassive = new int[6]; int diapazon, q, p, g, perebor, right, result=0; Button answer1, answer2, answer3; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test);

Question = (TextView) findViewById(R.id.QuestiontextView); for (q = 0; q < 6; q++) {

if (q == 0)

QuestionsMassive[q] = "На каком расстоянии от глаз пользователя должен находиться экран монитора?";

if (q == 1)

QuestionsMassive[q] = "На каком расстоянии от источников тепла необходимо устанавливать холодильник?";

if (q == 2)

QuestionsMassive[q] = "С какой периодичностью необходимо проверять состояние гибкого шланга подвода газа?";

if (q == 3)

QuestionsMassive[q] = "На каком расстоянии от края стола, обращенного к пользователю, необходимо располагать клавиатуру?";

if (q == 4)

QuestionsMassive[q] = "Как следует отключать прибор от сети?"; if (q == 5)

QuestionsMassive[q] = "Допустимое значение коэффициента отражения для ПК и его устройств";

}

answer1 = (Button) findViewById(R.id.FirstAnswerbutton); answer2 = (Button) findViewById(R.id.SecondAnswerbutton); answer3 = (Button) findViewById(R.id.ThirdAnswerbutton); for (p = 0; p < 6; p++)

UsedQuestionsMassive[p] = -1;

47

perebor = 0; right = 0;

showQuestion(Question);

showAnswers(answer1);

answer1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) {

buttonsClick(0, 3);

}

});

answer2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) {

buttonsClick(1, 4);

}

});

answer3.setOnClickListener(new View.OnClickListener() { public void onClick(View v) {

buttonsClick(2, 5);

}

});

}

public void showQuestion(View view) {

diapazon = new Random().nextInt(QuestionsMassive.length); do {

g=0;

for (p=0;p<6;p++) {

if (UsedQuestionsMassive[p]==diapazon) g=g+1;

}

if (g>0)

diapazon = new Random().nextInt(QuestionsMassive.length); } while (g>0);

for (p=0;p<6;p++) { if (p==diapazon) {

UsedQuestionsMassive[p]=diapazon;

perebor=perebor+1;

}

}

Question.setText(QuestionsMassive[diapazon]);

}

public void showAnswers(View view) { if (diapazon == 0) {

answer1.setText("600-700 мм"); answer2.setText("500-600 мм"); answer3.setText("700-800 мм");

}

if (diapazon == 1) { answer1.setText("Не менее 1 м"); answer2.setText("Не менее 50 см"); answer3.setText("Не менее 1,5 м");

}

if (diapazon == 2) { answer1.setText("Раз в год");

48

answer2.setText("Раз в полтора года"); answer3.setText("Раз в полгода");

}

if (diapazon == 3) { answer1.setText("100-300 мм"); answer2.setText("300-500 мм"); answer3.setText("500-700 мм");

}

if (diapazon == 4) { answer1.setText("За шнур"); answer2.setText("За вилку"); answer3.setText("Не отключать");

}

if (diapazon == 5) { answer1.setText("0,1-0,3"); answer2.setText("0,7-0,9"); answer3.setText("0,4-0,6");

}

}

public void buttonsNotEnabled () { answer1.setEnabled(false); answer2.setEnabled(false); answer3.setEnabled(false);

}

public void buttonsClick (int rightAnswer1, int rightAnswer2) { if (perebor==6) {

buttonsNotEnabled();

if ((right==0)||(right==5)||(right==6))

Question.setText("Вы ответили верно на "+right+" вопросов из 6"); if ((right==2)||(right==3)||(right==4))

Question.setText("Вы ответили верно на "+right+" вопроса из 6"); if (right==1)

Question.setText("Вы ответили верно на "+right+" вопрос из 6");

}

else {

if ((diapazon==rightAnswer1)||(diapazon==rightAnswer2)) right=right+1;

if (result<right) result=right;

showQuestion(Question);

showAnswers(answer1);

}

}

}

<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

49

android:fitsSystemWindows="true"

tools:context="com.example.sly.safety.TestActivity"> <include layout="@layout/content_test" />

</android.support.design.widget.CoordinatorLayout>

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

android:id="@+id/scrollView"

android:fillViewport="true"

android:scrollbars="none">

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout

android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.sly.safety.TestActivity" tools:showIn="@layout/activity_test"> <ImageView

android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/Test_imageView" android:layout_alignParentTop="false" android:layout_alignParentRight="false" android:layout_alignParentEnd="false" android:scaleType="centerCrop" android:src="@drawable/test" android:layout_alignParentStart="false" android:layout_alignParentLeft="false" android:layout_alignParentBottom="false" />

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"

android:textAppearance="?android:attr/textAppearanceLarge"

android:id="@+id/QuestiontextView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:textStyle="italic" android:textAlignment="center" android:textColor="#ffffff" />

<Button

style="?android:attr/buttonStyleSmall" android:layout_width="222dp" android:layout_height="wrap_content" android:id="@+id/FirstAnswerbutton" android:layout_below="@+id/QuestiontextView"

50

android:layout_centerHorizontal="true" android:background="@drawable/roundedbutton" android:layout_marginTop="10dp"/>

<Button

style="?android:attr/buttonStyleSmall" android:layout_width="222dp" android:layout_height="wrap_content" android:id="@+id/SecondAnswerbutton" android:layout_below="@+id/FirstAnswerbutton" android:layout_centerHorizontal="true" android:background="@drawable/roundedbutton" android:layout_marginTop="10dp"/>

<Button

style="?android:attr/buttonStyleSmall" android:layout_width="222dp" android:layout_height="wrap_content" android:id="@+id/ThirdAnswerbutton" android:layout_below="@+id/SecondAnswerbutton" android:layout_centerHorizontal="true" android:background="@drawable/roundedbutton" android:layout_marginTop="10dp"/>

</RelativeLayout>

</LinearLayout>

</ScrollView>

51

Соседние файлы в папке Курсовые работы