Форум программистов, компьютерный форум CyberForum.ru

Сделать возможной корректную обработку 2 ситуаций - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Рассылка сообщений группе устройств http://www.cyberforum.ru/android-dev/thread1621953.html
Добрый день! Необходимо посылать сообщение из сервера группе устройств. Пишу в Android Studio. Думал использовать Cloud to Device Messaging (C2DM), но нигде не нашел исчерпывающей информации. Подскажите, пожалуйста, как лучше это сделать.
Android NFC-метка вызывает системный сервис Приветствую, может кто сталкивался с проблемой с NFC-метками (для чтения используется NfcAdapter, с метки читается NDEF): - если чистую метку я записываю своей информацией, то в моем приложении она нормально читается - если беру готовую метку, партию которых привез из Китая, то мое запущенное приложение перебивается вызовом системной службы/сервиса с информацией, что прочтена такая-то метка ... http://www.cyberforum.ru/android-dev/thread1621910.html
Android WebView и gif анимация
Делаю приложение где html c гифками (качаются с инета) выводятся на WebView. Все работает до тех пор пока не появится тяжелая гифка, размером 10-20 мб. Приложение перезапускается с ошибкой "Channel is unrecoverably broken and will be disposed!". На ум приходит несколько вариантов: 1. Уменьшать гифку при скачивании. Есть ли такие инструменты? Страдает качество - минус. 2. Прописать в манифесте...
Android Preferences
Как проверить были ли хотя бы раз хранены данные с помощью Preferences
Android Как создать диалоговые окна и всплывающие подсказки http://www.cyberforum.ru/android-dev/thread1621694.html
как организовать: 1. многоэкранные приложения 2. диалоговые окна и всплывающие подсказки 3. приложения со слайдингом 4. распознавание всех поддерживаемых жестов 5. распознавание только части поддерживаемых жестов ???
Android Как сохранить состояние выделенных checkbox и list data в Listactivity? Здравствуйте. Было задание сделать ListView c CheckBox, при нажатии на кнопку Add добавляется случайное число в ListActivity. Если выделить любые чекбоксы, всё должно удаляться. Я это сделал, всё рвботает, но при повороте эмулятора случайные числа пропадают(вместе с чекбоксами) и нужно по новой добвлять числа. Т.е. понятно, что прогрмма прошла через onDestroy и onCreate. Подскажите, пожалуйста,... подробнее

Показать сообщение отдельно
Ssnake707
8 / 8 / 6
Регистрация: 02.02.2015
Сообщений: 137
22.12.2015, 15:13     Сделать возможной корректную обработку 2 ситуаций
Прошу прощение за сообщение выше, отправил случайно
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
 
    final int MENU_RESET_ID = 1;
    final int MENU_QUIT_ID = 2;
 
    EditText etNum1;
    EditText etNum2;
 
    Button btnAdd;
    Button btnSub;
    Button btnMult;
    Button btnDiv;
    Button btnPow;
    Button btnFact;
    Button btnSqr;
    Button btnSqrt;
 
    TextView tvResult;
 
    String oper = "";
 
    /** Called when the activity is first created. */
 
    //@Override
    public int myFact(int num1) {
        if (num1 == 1)
            return 1;
        else return num1*myFact(--num1);
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        etNum1 = (EditText) findViewById(R.id.etNum1);
        etNum2 = (EditText) findViewById(R.id.etNum2);
 
        btnAdd = (Button) findViewById(R.id.btnAdd);
        btnSub = (Button) findViewById(R.id.btnSub);
        btnMult = (Button) findViewById(R.id.btnMult);
        btnDiv = (Button) findViewById(R.id.btnDiv);
 
        btnPow = (Button) findViewById(R.id.btnPow);
        btnFact = (Button) findViewById(R.id.btnFact);
        btnSqr = (Button) findViewById(R.id.btnSqr);
        btnSqrt = (Button) findViewById(R.id.btnSqrt);
 
        tvResult = (TextView) findViewById(R.id.tvResult);
 
        btnAdd.setOnClickListener(this);
        btnSub.setOnClickListener(this);
        btnMult.setOnClickListener(this);
        btnDiv.setOnClickListener(this);
 
        btnPow.setOnClickListener(this);
        btnFact.setOnClickListener(this);
        btnSqr.setOnClickListener(this);
        btnSqrt.setOnClickListener(this);
 
    }
 
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        float num1 = 0;
        float num2 = 0;
        float result = 0;
 
 
        if (TextUtils.isEmpty(etNum1.getText().toString())
                || TextUtils.isEmpty(etNum2.getText().toString())) {
            return;
        }
 
        num1 = Float.parseFloat(etNum1.getText().toString());
        num2 = Float.parseFloat(etNum2.getText().toString());
 
        switch (v.getId()) {
            case R.id.btnAdd:
                oper = "+";
                result = num1 + num2;
                break;
            case R.id.btnSub:
                oper = "-";
                result = num1 - num2;
                break;
            case R.id.btnMult:
                oper = "*";
                result = num1 * num2;
                break;
            case R.id.btnDiv:
                oper = "/";
                result = num1 / num2;
                break;
            case R.id.btnPow:
                oper = "^";
                result = (float)Math.pow(num1, num2);
                break;
            case R.id.btnFact:
                oper = "!";
                result = myFact((int)num1);
                break;
            case R.id.btnSqr:
                oper = "^2";
                result = (float)Math.pow(num1,2);
                break;
            case R.id.btnSqrt:
                oper = "^(1/2)";
                result = (float)Math.pow(num1,0.5);
                break;
            default:
                break;
        }
 
        tvResult.setText(num1 + " " + oper + " " + num2 + " = " + result);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
        menu.add(0, MENU_RESET_ID, 0, "Reset");
        menu.add(0, MENU_QUIT_ID, 0, "Quit");
        return super.onCreateOptionsMenu(menu);
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
        switch (item.getItemId()) {
            case MENU_RESET_ID:
                etNum1.setText("");
                etNum2.setText("");
                tvResult.setText("");
                break;
            case MENU_QUIT_ID:
                finish();
                break;
        }
        return super.onOptionsItemSelected(item);
    }


Добавлено через 24 минуты
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
 
    final int MENU_RESET_ID = 1;
    final int MENU_QUIT_ID = 2;
 
    EditText etNum1;
    EditText etNum2;
 
    Button btnAdd;
    Button btnSub;
    Button btnMult;
    Button btnDiv;
    Button btnPow;
    Button btnFact;
    Button btnSqr;
    Button btnSqrt;
 
    TextView tvResult;
 
    String oper = "";
 
    /** Called when the activity is first created. */
 
    //@Override
    public int myFact(int num1) {
        if (num1 == 1)
            return 1;
        else return num1*myFact(--num1);
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        etNum1 = (EditText) findViewById(R.id.etNum1);
        etNum2 = (EditText) findViewById(R.id.etNum2);
 
        btnAdd = (Button) findViewById(R.id.btnAdd);
        btnSub = (Button) findViewById(R.id.btnSub);
        btnMult = (Button) findViewById(R.id.btnMult);
        btnDiv = (Button) findViewById(R.id.btnDiv);
 
        btnPow = (Button) findViewById(R.id.btnPow);
        btnFact = (Button) findViewById(R.id.btnFact);
        btnSqr = (Button) findViewById(R.id.btnSqr);
        btnSqrt = (Button) findViewById(R.id.btnSqrt);
 
        tvResult = (TextView) findViewById(R.id.tvResult);
 
        btnAdd.setOnClickListener(this);
        btnSub.setOnClickListener(this);
        btnMult.setOnClickListener(this);
        btnDiv.setOnClickListener(this);
 
        btnPow.setOnClickListener(this);
        btnFact.setOnClickListener(this);
        btnSqr.setOnClickListener(this);
        btnSqrt.setOnClickListener(this);
 
    }
 
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        float num1 = 0;
        float num2 = 0;
        float result = 0;
        Boolean un = false;
 
 
        if (TextUtils.isEmpty(etNum1.getText().toString())
                && TextUtils.isEmpty(etNum2.getText().toString())) {
            return;
        }
 
        if (TextUtils.isEmpty(etNum1.getText().toString())
                || TextUtils.isEmpty(etNum2.getText().toString())) {
            un=!un;
            if (TextUtils.isEmpty(etNum1.getText().toString()){
        num1 = Float.parseFloat(etNum1.getText().toString());
        }else{
        num1 = Float.parseFloat(etNum2.getText().toString());
        }
        }else{
        num1 = Float.parseFloat(etNum1.getText().toString());
            num2 = Float.parseFloat(etNum2.getText().toString());
    }
 
        switch (v.getId()) {
            case R.id.btnAdd:
                if (!un){
                   oper = "+";
                   result = num1 + num2;
                }else{
          // Сообщение об ошибке, не введено второе число
          return;
        }
                break;
            case R.id.btnSub:
        if (!un){
                   oper = "-";
           result = num1 - num2;
                }else{
          // Сообщение об ошибке, не введено второе число
          return;
        }
                break;
            case R.id.btnMult:
        if (!un){
          oper = "*";
          result = num1 * num2;
                }else{
          // Сообщение об ошибке, не введено второе число
          return;
        }
                break;
            case R.id.btnDiv:
        if (!un){
          oper = "/";
          result = num1 / num2;  
                }else{
          // Сообщение об ошибке, не введено второе число
          return;
        }
                break;
            case R.id.btnPow:
        if (!un){
          oper = "^";
          result = (float)Math.pow(num1, num2);
                }else{
          // Сообщение об ошибке, не введено второе число
          return;
        }
                break;
            case R.id.btnFact:
                if (un){
                   oper = "!";
           result = myFact((int)num1);
                }
                break;
            case R.id.btnSqr:
        if (un){
                   oper = "^2";
           result = (float)Math.pow(num1,2);
                }
                break;
            case R.id.btnSqrt:
        if (un){
         oper = "^(1/2)";
         result = (float)Math.pow(num1,0.5);
                }
                break;
            default:{
          result = 0;
         }
                break;
        }
 
        tvResult.setText(num1 + " " + oper + " " + num2 + " = " + result);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
        menu.add(0, MENU_RESET_ID, 0, "Reset");
        menu.add(0, MENU_QUIT_ID, 0, "Quit");
        return super.onCreateOptionsMenu(menu);
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
        switch (item.getItemId()) {
            case MENU_RESET_ID:
                etNum1.setText("");
                etNum2.setText("");
                tvResult.setText("");
                break;
            case MENU_QUIT_ID:
                finish();
                break;
        }
        return super.onOptionsItemSelected(item);
    }
 
Текущее время: 02:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru