Страница 1 из 2

Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 08 окт 2012, 09:12
clerik777
Доброго времени суток!

Спасибо Вам за сервис! Очень много полезной информации! Вот хотел бы узнать по поводу формул подсчёта... Есть ли они в программе?

Я бы хотел написать приложение-калькулятор для подсчёта итоговой стоимости стройматериалов. (вводишь сколько метров, какой материал (после выбора выдаёт разную цену) всё это перемножается и получается итоговая стоимость). Я уже давно написал такой типа калькулятор в excel, вот хотел теперь сделать для андроид.

Если у Вас есть какая нибудь литература или интересные ссылки, подкиньте пожалуйста! Спасибо)

Если всё получится, потом выложу свой проект сюда!

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 08 окт 2012, 09:46
math64
Вам нужен сайт со стоимостью материалов.
Программа будет скачивать цены с сохранять в базе данных.
А как работать с базой данных в уроках уже есть.

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 08 окт 2012, 10:04
rezak90
При чём здесь вообще Eclipse? Если вам нужно делать обычные подсчёты (умножение, диление, вычитание, сложение), это всё делается в коде, и IDE здесь не играет роли.

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 08 окт 2012, 13:06
clerik777
Спасибо за быстрые ответы!
math64 писал(а):Вам нужен сайт со стоимостью материалов.
Программа будет скачивать цены с сохранять в базе данных.
А как работать с базой данных в уроках уже есть.
Зачем сайт!? Мне надо сделать калькулятор итоговой стоимости натяжных потолков!
Будет выбираться материал (у каждого своя стоимость)
Будет выбираться сколько метров
Будет указываться сколько углов (и от этого будет зависеть колличество материала, т.е. 4 угла будет плюсоваться 30см к метражу, 5углов=60см)
как-то так! обычным калькулятором сдесь не обойтись!
В excel я просто настроил формулы, теперь вот хочу подобное сделать для андроид.
Спасибо!

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 08 окт 2012, 13:10
Finch
Ну так в чём про6лема? в коде и считай)

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 08 окт 2012, 13:25
rezak90

Код: Выделить всё

int corner = 12, colCorner = 5, result;
result = corner * colCorner;
Log.i("MyTag", "result = " + result);

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 08 окт 2012, 13:46
clerik777
Спасибо большое!

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 08 окт 2012, 15:58
math64
clerik777 писал(а):Зачем сайт!? Мне надо сделать калькулятор итоговой стоимости натяжных потолков!
Я полагал - будет много различных стройматериалов, цены на которые меняются. Вводить всё это в телефоне неудобно, можно ошибиться.
Для натяжных потолков, да нужно другое.
Если комната не прямоугольная - рисовать на экране её форму, зачастую стены не параллельны и т. п.
Кладёте телефон на пол в центре комнаты, горизонтальность проверяете датчиками наклона, делаете снимок.
Если из этого места не видны все углы, делается несколько снимков и склеиваются. Меряется одно из расстояний (можно вычислить по фокусному расстоянию камеры - но вероятно это будет неточно), остальные вычисляются пропорционально, но для контроля тоже можно измерить.

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 09 окт 2012, 11:25
clerik777
попытался найти литературу по вычислениям в коде в поиске, так и не нашёл. может у кого есть подборка ссылок? поделитесь пожалуйста) а по поводу ``телефона на пол`` это что-то из фантастики))

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 09 окт 2012, 11:46
rezak90
clerik777 писал(а):попытался найти литературу по вычислениям в коде в поиске, так и не нашёл. может у кого есть подборка ссылок? поделитесь пожалуйста) а по поводу ``телефона на пол`` это что-то из фантастики))
какое ещё вычисление? Вас что именно интересует, интегралы?
Этих формул мало?
* - умножение
/ - диление
+ - сумма
- - разница

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 09 окт 2012, 12:23
math64
Можно класть не на пол, а на стол или другую горизонтальную поверхность - чтобы при фотографировании не было искажений.
Но Вам, наверно, этого не осилить, если даже по поводу обычных арифметических операций есть вопросы.
Кроме указаных есть % - вычисление остатка от деления.
Типы целые - int -2146483648 ... 2146483647, с плавающей точкой - double.

Код: Выделить всё

int length = 4321; // Длина комнаты (mm)
int width = 3215; // Ширина комнаты (mm)
int pieceLength = 800; // Размер плитки (mm)
int pieceCountLength = (int)((length+pieceLength-1)/pieceLength); // Число плиток по длине
int pieceCountWidth = (int)((width+pieceLength-1)/pieceLength); // Число плиток по ширине
int pieceCount = pieceCountLength * pieceCountWidth;
int cost = pieceCount * price; // стоимость

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 09 окт 2012, 12:26
AndreyI
В java.lang.Math еще полно всяких математических функций.

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 09 окт 2012, 12:55
clerik777
math64 писал(а):Можно класть не на пол, а на стол или другую горизонтальную поверхность - чтобы при фотографировании не было искажений.
Но Вам, наверно, этого не осилить, если даже по поводу обычных арифметических операций есть вопросы.
Кроме указаных есть % - вычисление остатка от деления.
Типы целые - int -2146483648 ... 2146483647, с плавающей точкой - double.

Код: Выделить всё

int length = 4321; // Длина комнаты (mm)
int width = 3215; // Ширина комнаты (mm)
int pieceLength = 800; // Размер плитки (mm)
int pieceCountLength = (int)((length+pieceLength-1)/pieceLength); // Число плиток по длине
int pieceCountWidth = (int)((width+pieceLength-1)/pieceLength); // Число плиток по ширине
int pieceCount = pieceCountLength * pieceCountWidth;
int cost = pieceCount * price; // стоимость

Спасибо большое! Очень наглядный пример!!!! Я только начинаю работать и изучать! Самоучка))) Строго не судите!)

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 09 окт 2012, 13:11
math64
Код не учитывает возможности использования обрезков - но их не всегда можно использовать.

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 12 окт 2012, 17:26
powercat
В любом языке программирования есть ВСЕ необходимые вам арифметические действия...
Вопрос убил, честно говоря...вам надо из экселя все формулы тупо в телефон перенести...а еще проще - файл экселя закиньте на тело и там будете считать...

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 20 окт 2012, 16:11
clerik777
Спасибо за подсказки, всё получается! Но только через нажатие кнопки!
Подскажите! Всё никак не могу найти решение!
Как сделать чтобы после введения в поля двух значений ("X" и "Y") автоматически выводилось итоговое значение, например умножение ("X" * "Y" = "Z")??

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 22 окт 2012, 10:12
damager82
clerik777 писал(а):Спасибо за подсказки, всё получается! Но только через нажатие кнопки!
Подскажите! Всё никак не могу найти решение!
Как сделать чтобы после введения в поля двух значений ("X" и "Y") автоматически выводилось итоговое значение, например умножение ("X" * "Y" = "Z")??
Смотрите в сторону TextWatcher, метод afterTextChanged.

Код: Выделить всё

		EditText et = (EditText) findViewById(R.id.editText1);
		et.addTextChangedListener(new TextWatcher() {
			@Override
			public void onTextChanged(CharSequence s, int start, int before,
					int count) {
			}

			@Override
			public void beforeTextChanged(CharSequence s, int start, int count,
					int after) {
			}

			@Override
			public void afterTextChanged(Editable s) {
				// Действия, необходимые после изменения текста
				// s - строка после изменения
			}
		});

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 22 окт 2012, 12:41
clerik777
спасибо большое!!!

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 26 окт 2012, 14:36
clerik777
Привет ещё раз!

Я попробовал написать обычный калькулятор (вводишь переменную "X" и переменную "Y" = автоматически выводится результат "Z") + добавил сохранение/восстановление введённых данных, если случайно закрыл приложение.

Написал код (ошибок не выводит). Только вот начинаю запускать в эмуляторе - запускается пустой, белый экран. Всю голову изломал, не могу найти косяк.

Подскажите пожалуйста, может я забыл что-то указать.

Вот код main.xml:

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFF" 
android:id="@+id/tableLayout"
android:stretchColumns="1,2,3" 
android:padding="5dp">

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/xxxEditText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="numberDecimal" >

            <requestFocus />
        </EditText>

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="X"
            android:textAppearance="?android:attr/textAppearanceLarge" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/yyyEditText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="numberDecimal" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Y"
            android:textAppearance="?android:attr/textAppearanceLarge" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

<EditText 
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/zzzEditText" 
android:text="@string/zero"
android:gravity="center" 
android:focusable="false"
android:layout_weight="1" 
android:textSize="14sp"
android:cursorVisible="false" 
android:longClickable="false">
</EditText>

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Z"
            android:textAppearance="?android:attr/textAppearanceLarge" />

    </TableRow>

</TableLayout>
Код активити:

Код: Выделить всё

package com.clipsocalc;

import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;



public class MainActivity extends Activity
{
	private static final String ZZZ = "ZZZ";
	
	private double currentZZZ;
	private EditText xxxEditText;
	private EditText yyyEditText;
	private EditText zzzEditText;
	
	public void onCreate(Bundle savedInstanceState, EditText ZZZEditText)
	{
	super.onCreate(savedInstanceState);
	setContentView(R.layout.main);
	if ( savedInstanceState == null )
	{
	currentZZZ = 0.0;
	}
	else
	 {
		currentZZZ = savedInstanceState.getDouble(ZZZ);
			 }

			xxxEditText = (EditText) findViewById(R.id.xxxEditText);
			yyyEditText = (EditText) findViewById(R.id.yyyEditText);
			zzzEditText = (EditText) findViewById(R.id.zzzEditText);
		
			zzzEditText.addTextChangedListener(zzzEditTextWatcher);
	 }
	
	 private void updateStandard()
	 {
	 
	 double itogo = currentZZZ + 30;
	
	 zzzEditText.setText(String.format(" %.02f", itogo));
	

	 }
	 protected void onSaveInstanceState(Bundle outState)
	 {
	 super.onSaveInstanceState(outState);
	
	 outState.putDouble( ZZZ, currentZZZ );
	 }
	
		 private TextWatcher zzzEditTextWatcher = new TextWatcher()
		 {

		 public void onTextChanged(CharSequence s, int start, int before, int count)
		 {
		 try
		 {
		 currentZZZ = Double.parseDouble(s.toString());
		 }
		 catch (NumberFormatException e)
		 {
		 currentZZZ = 0.0;
		 } 
			 updateStandard();
		 } 
		 {
		 }
		 public void beforeTextChanged(CharSequence s, int start, int count, int after)
		 {
		 }


		public void afterTextChanged(Editable s) {
			// TODO Auto-generated method stub
			
		}
		 };
		}
+ в strings - <string name="zero">0.00</string>

Спасибо большое!!!

Re: Усть ли в eclipse формулы подсчёта и будут ли уроки?

Добавлено: 29 окт 2012, 17:56
damager82
clerik777 писал(а):Только вот начинаю запускать в эмуляторе - запускается пустой, белый экран.
Походу дело в стилях. EditText полностью прозрачен и рамка у него светлая.
Если в манифессте ставить android:targetSdkVersion < 11, то все ок и EditText виден.

Попробуйте вручную рамку нарисовать - http://stackoverflow.com/questions/9224 ... n-edittext