Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 17 ноя 2018, 18:37

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 264 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14  След.
Автор Сообщение
СообщениеДобавлено: 04 мар 2015, 16:59 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
Ну так вместо очистки задавай свой текст:
setText("свой текст");

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 04 мар 2015, 18:02 

Зарегистрирован: 28 фев 2015, 12:54
Сообщений: 13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
doter.ua писал(а):
Ну так вместо очистки задавай свой текст:
setText("свой текст");


ахах блин спасибо всё ок


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 апр 2015, 08:05 

Зарегистрирован: 05 апр 2015, 04:41
Сообщений: 7
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
private Result processFunction(String func, Result r)
{
if (func.equals("sin")) {
return new Result(Math.sin(Math.toRadians(r.acc)), r.rest);
} else if (func.equals("cos")) {
return new Result(Math.cos(Math.toRadians(r.acc)), r.rest);
} else if (func.equals("tan")) {
return new Result(Math.tan(Math.toRadians(r.acc)), r.rest);
} else if (func.equals("√")) { //НЕ РАБОТАЕТ
return new Result(Math.sqrt(r.acc), r.rest);
}
else if (func.equals("sqrt")) { // РАБОТАЕТ
return new Result(Math.sqrt(r.acc), r.rest);
}
else {
System.err.println("function '" + func + "' is not defined");
}

return r;
}
}
Взял метод рекурсивного спуска с этого сайта.
Вопрос:
Я ввожу в Edittext например функцию sin(90)= и выводит в ответе 1( правильно)
т.ж sqrt(a) и выводит правильный ответ, но почему-то если ввести √(a) то ответа не выходит никакого
В др методе класса есть проверка принадлежит ли элемент кодировке UNicode. И по идее разницы между sin() и √() не должно быть.

http://m.habrahabr.ru/post/122397/


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 апр 2015, 11:51 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
kavlad писал(а):
private Result processFunction(String func, Result r)
{
if (func.equals("sin")) {
return new Result(Math.sin(Math.toRadians(r.acc)), r.rest);
} else if (func.equals("cos")) {
return new Result(Math.cos(Math.toRadians(r.acc)), r.rest);
} else if (func.equals("tan")) {
return new Result(Math.tan(Math.toRadians(r.acc)), r.rest);
} else if (func.equals("√")) { //НЕ РАБОТАЕТ
return new Result(Math.sqrt(r.acc), r.rest);
}
else if (func.equals("sqrt")) { // РАБОТАЕТ
return new Result(Math.sqrt(r.acc), r.rest);
}
else {
System.err.println("function '" + func + "' is not defined");
}

return r;
}
}
Взял метод рекурсивного спуска с этого сайта.
Вопрос:
Я ввожу в Edittext например функцию sin(90)= и выводит в ответе 1( правильно)
т.ж sqrt(a) и выводит правильный ответ, но почему-то если ввести √(a) то ответа не выходит никакого
В др методе класса есть проверка принадлежит ли элемент кодировке UNicode. И по идее разницы между sin() и √() не должно быть.

http://m.habrahabr.ru/post/122397/


http://www.fileformat.info/info/unicode ... /index.htm

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 06 апр 2015, 10:29 

Зарегистрирован: 05 апр 2015, 04:41
Сообщений: 7
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Во многих калькуляторах есть, например в стандартном от гугл, возможность сделать свайп из правого угла и вместо кнопок с циферками, появятся остальные функцие. Как реализовать этот переход? и что за элемент экрана при перелистывании появляется?
Или если это сложно, то как сделать так, чтобы при нажатии на клавишу, появлялись другие кнопки выше, а EDIT TEXT(СТРОКА с записанными пользователем числами и операторами)
и text view(ответ) оставались на месте


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 16 май 2015, 17:35 

Зарегистрирован: 23 фев 2015, 13:04
Сообщений: 7
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.
Отлично придумано с кнопками в меню "Очистить" и "Выход". Но вот борода, как добрать к этому меню?
На скрине видно, что в эмуляторе (как, впрочем, и на реальном устройстве) пункта "Settings", как в первых уроках, нет.
Как решить?
Вложение:
menuCalculator.png
menuCalculator.png [ 150.89 KiB | Просмотров: 5583 ]


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 23 июл 2015, 15:08 

Зарегистрирован: 23 июл 2015, 14:54
Сообщений: 10
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Спасибо за уроки!
Решил продвинуться в написании калькулятора. Убрал, edit-поля, добавил кнопок с цифрами и операциями, поизучал метод ОПН (обратная польская нотация), нашел код на джаве, вставил в свою часть - работает. Однако там вычисления производятся с целочисленными. Там надо менять, если правильно понял, на double или float. Изменение кода для работы с дробными у меня не получилось (изменение на double в процедуре eval выдает ошибку в return st.get(0)) - сказывается отсутствие опыта в джаве. Помогите, пожалуйста, разобраться.

Код с integer:
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1.       static boolean isDelim(char c) {
  2.             return c == ' ';
  3.         }
  4.         static boolean isOperator(char c) {
  5.             return c == '+' || c == '-' || c == '*' || c == '/' || c == '%';
  6.         }
  7.         static int priority(char op) {
  8.             switch (op) {
  9.                 case '+':
  10.                 case '-':
  11.                     return 1;
  12.                 case '*':
  13.                 case '/':
  14.                 case '%':
  15.                     return 2;
  16.                 default:
  17.                     return -1;
  18.             }
  19.         }
  20.         static void processOperator(LinkedList<Integer> st, char op) {
  21.             int r = st.removeLast();
  22.             int l = st.removeLast();
  23.             switch (op) {
  24.                 case '+':
  25.                     st.add(l + r);
  26.                     break;
  27.                 case '-':
  28.                     st.add(l - r);
  29.                     break;
  30.                 case '*':
  31.                     st.add(l * r);
  32.                     break;
  33.                 case '/':
  34.                     st.add(l / r);
  35.                     break;
  36.                 case '%':
  37.                     st.add(l % r);
  38.                     break;
  39.             }
  40.         }
  41.         public static int eval(String s) {
  42.             LinkedList<Integer> st = new LinkedList<Integer>();
  43.             LinkedList<Character> op = new LinkedList<Character>();
  44.             for (int i = 0; i < s.length(); i++) {
  45.                 char c = s.charAt(i);
  46.                 if (isDelim(c))
  47.                     continue;
  48.                 if (c == '(')
  49.                     op.add('(');
  50.                 else if (c == ')') {
  51.                     while (op.getLast() != '(')
  52.                         processOperator(st,op.removeLast());
  53.                     op.removeLast();
  54.                 } else if (isOperator(c)) {
  55.                     while (!op.isEmpty() && priority(op.getLast()) >= priority(c))
  56.                         processOperator(st, op.removeLast());
  57.                     op.add(c);
  58.                     //Toast.makeText(getApplicationContext(),c,Toast.LENGTH_SHORT).show();;
  59.                 } else {
  60.                     String operand = "";
  61.                     while (i < s.length() && Character.isDigit(s.charAt(i)))
  62.                         operand += s.charAt(i++);
  63.                     --i;
  64.                     st.add(Integer.parseInt(operand));
  65.                 }
  66.             }
  67.            while (!op.isEmpty())
  68.                processOperator(st, op.removeLast());
  69.            return st.get(0) ;
  70.         }
  71.  
  72.         public static void main(String[] args) throws Exception {
  73.            String exp = "7+(5*2*8)";
  74.            System.out.println(eval(exp));
  75.         }
  76.  


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 24 июл 2015, 07:23 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
Вы точно во всех местах поменяли Integer на Double?
Собственно примерные изменения:
Integer => Double (везде)
int r => double r
int l => double l
int eval => double eval

Ну и самое узкое место тут:
Код: [ Загрузить ] [ Скрыть ]
Using Java(TM) 2 Platform Standard Edition 5.0 Syntax Highlighting
  1. while (i < s.length() && Character.isDigit(s.charAt(i)))
  2.        operand += s.charAt(i++);


Т.к. в double может встречаться еще и точка. Вероятно так:
Код: [ Загрузить ] [ Скрыть ]
Using Java(TM) 2 Platform Standard Edition 5.0 Syntax Highlighting
  1. while (i < s.length() && (Character.isDigit(s.charAt(i)) || s.charAt(i) == '.'))
  2.        operand += s.charAt(i++);


Пробуйте


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 сен 2015, 21:07 

Зарегистрирован: 13 сен 2015, 20:57
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
driversti писал(а):
Отлично придумано с кнопками в меню "Очистить" и "Выход". Но вот борода, как добрать к этому меню?
На скрине видно, что в эмуляторе (как, впрочем, и на реальном устройстве) пункта "Settings", как в первых уроках, нет.
Как решить?
Вложение:
menuCalculator.png

открываете папку res - > папку menu ->menu_main.xml (у меня так называется). Добавляете новый item .
Код: [ Загрузить ] [ Скрыть ]
  1. <item android:id="@+id/reset" android:title="@string/reset" 
  2.         android:orderInCategory="100" app:showAsAction="never" /> 
  3.     <item android:id="@+id/quit" android:title="@string/quit" 
  4.         android:orderInCategory="100" app:showAsAction="never" /> 

И в mainactivity onOptionsItemSelected добавляет
Код: [ Загрузить ] [ Скрыть ]
  1. public boolean onOptionsItemSelected(MenuItem item) { 
  2.         // Handle action bar item clicks here. The action bar will 
  3.         // automatically handle clicks on the Home/Up button, so long 
  4.         // as you specify a parent activity in AndroidManifest.xml. 
  5.         int id = item.getItemId(); 
  6.  
  7.  
  8.         //noinspection SimplifiableIfStatement 
  9.         if (id == R.id.action_settings) { 
  10.             return true; 
  11.         } 
  12.         if (id == R.id.reset) { 
  13.             ed1.setText(""); 
  14.             ed2.setText(""); 
  15.         } 
  16.         if (id == R.id.quit) { 
  17.             finish(); 
  18.         } 
  19.  
  20.         return super.onOptionsItemSelected(item); 
  21.     } 

У меня работает . Но не знаю правильно это .


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 18 сен 2015, 10:57 

Зарегистрирован: 18 сен 2015, 10:39
Сообщений: 3
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Добрый день!

Скорее всего не вижу чего-то очевидного, но тем не менее. При выполнении этого урока столкнулся с проблемами видимо округления: т.е. 1.5 * 1.2 = 1.8000001, 1.2 * 1.3 = 1.5600001
Хотелось бы с этим разобраться, не знаю куда копать.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 18 сен 2015, 16:24 
Аватар пользователя

Зарегистрирован: 20 окт 2012, 12:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
Копей в сторону java, бери учебник и типы изучай

_________________
R.id.team

NullPointerException - что делать???
http://forum.startandroid.ru/viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
http://forum.startandroid.ru/viewtopic.php?f=60&t=3198


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 18 сен 2015, 18:36 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
i.lavrenov писал(а):
Добрый день!

Скорее всего не вижу чего-то очевидного, но тем не менее. При выполнении этого урока столкнулся с проблемами видимо округления: т.е. 1.5 * 1.2 = 1.8000001, 1.2 * 1.3 = 1.5600001
Хотелось бы с этим разобраться, не знаю куда копать.

BigDecemal

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 сен 2015, 13:15 

Зарегистрирован: 18 сен 2015, 10:39
Сообщений: 3
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
doter.ua писал(а):
i.lavrenov писал(а):
Добрый день!

Скорее всего не вижу чего-то очевидного, но тем не менее. При выполнении этого урока столкнулся с проблемами видимо округления: т.е. 1.5 * 1.2 = 1.8000001, 1.2 * 1.3 = 1.5600001
Хотелось бы с этим разобраться, не знаю куда копать.

BigDecemal


doter.ua, спасибо за инфу.
З.Ы. нашел внятное объяснение сути проблемы: http://floating-point-gui.de/basic/


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 19 окт 2015, 02:31 

Зарегистрирован: 20 май 2015, 16:56
Сообщений: 5
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
У меня проблема, хочу создать калькулятор для школы, для вычета средней оценок, что у меня есть
Код: [ Загрузить ] [ Скрыть ]
  1. package net.zak_uska.gridlayouts; 
  2.  
  3. import android.app.Activity; 
  4. import android.os.Bundle; 
  5. import android.view.View; 
  6. import android.widget.Button; 
  7.  
  8. public class MainActivity extends Activity { 
  9.  
  10.     private int mCount = 0; 
  11.  
  12.     Button mResult; 
  13.     Button mResult1; 
  14.     Button mResult2; 
  15.  
  16.  
  17.     /** 
  18.      * Called when the activity is first created. 
  19.      */ 
  20.     @Override 
  21.     public void onCreate(Bundle savedInstanceState) { 
  22.         super.onCreate(savedInstanceState); 
  23.         setContentView(R.layout.activity_main); 
  24.  
  25.         mResult = (Button) findViewById(R.id.resmedia); 
  26.         mResult1 = (Button) findViewById(R.id.et_sign); 
  27.         mResult2 = (Button) findViewById(R.id.resmedia1); 
  28.  
  29.  
  30.  
  31.     } 
  32.  
  33.     public void onButtonClick(View view) { 
  34.         //Вводим переменные, с которыми будем оперировать: 
  35.         float result1 =0; 
  36.         float result2=0; 
  37.         float result=0; 
  38.          
  39.         switch (view.getId()) { 
  40.             case R.id.btn1: 
  41.                 result1=+ ++mCount ; 
  42.                 result = result1+1 ; 
  43.                 result2 = result / result1; 
  44.                 break; 
  45.             case R.id.btn2: 
  46.                 result1=+ ++mCount ; 
  47.                 result =result1+2 ; 
  48.                 result2 = result / result1; 
  49.                 break; 
  50.             case R.id.btn3: 
  51.                 result1=+ ++mCount ; 
  52.                 result = result1+3 ; 
  53.                 result2 = result / result1; 
  54.                 break; 
  55.             case R.id.btn4: 
  56.                 result1=+ ++mCount ; 
  57.                 result = result1+4 ; 
  58.                 result2 = result / result1; 
  59.                 break; 
  60.             default: 
  61.                 break; 
  62.         } 
  63.  
  64.         //настраиваем отображение результата: 
  65.         mResult.setText("Кол-во оценок "+result1+ " есть"); 
  66.         //настраиваем отображение результата: 
  67.         mResult1.setText("Сумма "+result+ " нету"); 
  68.         //настраиваем отображение результата: 
  69.         mResult2.setText("Средняя "+result2+ " есть"); 
  70.     } 
  71.  
не могу сумму подсчитать в коде, гуглю гуглю а примеры разных калькуляции не нахожу.
Задача: Нажимать на оценки и получить кол-во оценок, сумму и среднею. (кому то просто а я третий день туплю )


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 19 окт 2015, 14:48 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
Не "=+", а "+=".

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 окт 2015, 00:20 

Зарегистрирован: 24 янв 2014, 02:45
Сообщений: 13
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Решил расширить калькулятор. Сделать 2 кнопки Результат1 и Результат2. Нажимаешь первую кнопку, открывается первый калькулятор, жмешь вторую второй, а на главной активити выводится результат сложения/вычитания/умножения/деления результата 1 и результата2. Не могу сообразить как вытянуть эти результаты на главную.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 окт 2015, 07:54 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
Андрей Валентинович писал(а):
Решил расширить калькулятор. Сделать 2 кнопки Результат1 и Результат2. Нажимаешь первую кнопку, открывается первый калькулятор, жмешь вторую второй, а на главной активити выводится результат сложения/вычитания/умножения/деления результата 1 и результата2. Не могу сообразить как вытянуть эти результаты на главную.

интентом в extra

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 окт 2015, 15:51 

Зарегистрирован: 24 янв 2014, 02:45
Сообщений: 13
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
doter.ua писал(а):
интентом в extra

Спасибо


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 06 ноя 2015, 19:14 

Зарегистрирован: 20 май 2015, 16:56
Сообщений: 5
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Zak_uska писал(а):
У меня проблема, ...
...не могу сумму подсчитать в коде


решил задачу с суммой, вывел переменную накопления суммы из метода onButtonClick и все четко.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 06 ноя 2015, 19:21 

Зарегистрирован: 24 янв 2014, 02:45
Сообщений: 13
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
doter.ua писал(а):
Андрей Валентинович писал(а):
Решил расширить калькулятор. Сделать 2 кнопки Результат1 и Результат2. Нажимаешь первую кнопку, открывается первый калькулятор, жмешь вторую второй, а на главной активити выводится результат сложения/вычитания/умножения/деления результата 1 и результата2. Не могу сообразить как вытянуть эти результаты на главную.

интентом в extra

А как добавлять списком? Чтоб один результат не заменял другой, а результаты складывались?


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 264 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14  След.

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB