1 Introduo
1.1 O que o GRIDS Stub? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Acerca deste manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
2
2 Funcionalidades
2.1 Page 1 - Frmulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Page 2 - Interpolador de Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
6
Introduo
1.1
1.2
Este manual suporta a utilizao do Stub, pelo que encontra-se organizado por funes
implementadas no Stub. Para alm disto tambm explica como se pode personalizar o aspecto
do Stub. Em cada captulo encontram-se excertos do cdigo relevante para a implementao
da funo e a explicao de como esse cdigo pode ser alterado pelo utilizador.
Caso tenha alguma sugesto ou encontre algum erro neste documento ou na prpria aplicao, envie-nos essa informao para o nosso e-mail, gridsappsteam@gmail.com.
2
2.1
Funcionalidades
Page 1 - Frmulas
O que ?
A primeira funcionalidade implementada no Stub uma calculadora que pode ser personalizada pelo utilizador para resolver at 4 diferentes equaes. Para que as expresses que a
calculadora capaz de resolver no fossem limitadas pelo nmero de variveis, as mesmas, so
introduzidas numa caixa de texto separadas por vrgulas. O algoritmo implementado consegue
reconhecer a quantidade de variveis introduzidas na caixa de texto e armazena-as num vector
coluna que pode ser utilizado no cdigo.
No exemplo seguinte a expresso que se pretende calcular e1 +log10 (5). Os seus argumentos
de entrada, a e b, devem ser introduzidos na caixa de texto separados por vrgulas e na ordem
em que aparecem na equao. Para uma melhor compreenso do funcionamento consulte o
exemplo da figura 1.
10
p u b l i c void compute ( View view ) {
//Hiding the Keyboard
hideKeyboard ( view ) ;
//Getting the EditText and TextView objects
EditText input = ( EditText ) findViewById ( R . id . input ) ;
TextView results = ( TextView ) findViewById ( R . id . results ) ;
LinearLayout resultsLayout = ( LinearLayout ) findViewById ( R . id .
results_layout ) ;
Spinner formulas = ( Spinner ) findViewById ( R . id . spinner ) ;
i n t spinnerSelection = formulas . g e t S e l e c t e d I t e m P o s i t i o n () ;
/
If Compute button is pressed and theres no input, show a
toast warning
Else, continue the computation
/
i f ( input . length () == 0) {
15
//Toast Warning
String toast1 = getResources () . getString ( R . string . toast1 ) ;
Toast . makeText ( g e t A p p l i c a t i o n C o n t e x t () , toast1 , Toast .
LENGTH_LONG ) . show () ;
20
} else {
//Getting the comma separated values to an array, splitting
them
String [] str = input . getText () . toString () . split ( " ," ) ;
i f ( spinnerSelection == 0) {
25
i f ( str . length != 2) {
30
//Toast Warning
String toast2 = getResources () . getString ( R . string .
toast2 ) ;
Toast . makeText ( g e t A p p l i c a t i o n C o n t e x t () , toast2 ,
Toast . LENGTH_LONG ) . show () ;
} else {
//Creating an array of double values
double [] inputValues = new double [ str . length ];
//Converting each value in the input array to double
f o r ( i n t i = 0; i < str . length ; i ++) {
35
40
45
}
} e l s e i f ( spinnerSelection == 1) {
.... continues ....
2.2
O que ?
A segunda funcionalidade do Stub um interpolador de tabelas at 3 colunas. Este interpolador permite ao utilizador obter os valores de duas colunas a partir de um valor conhecido.
O utilizador selecciona a coluna sobre a qual conhece um dado valor e depois na caixa de texto
introduz esse valor. Quando clicar no boto o algoritmo interpola e devolve os valores das
outras duas colunas.
@Override
protected void onCreate ( Bundle s av ed In st an ce Sta te ) {
super . onCreate ( s avedI ns ta nc eS ta te ) ;
setContentView ( R . layout . interpolations ) ;
//Editing the color of the ActionBar (not the best way but it
works)
ActionBar actionBar = g e t Su p p or t A ct i o n Ba r () ;
actionBar . s e t B a c k g r o u n d D r a w a b l e (new ColorDrawable ( Color .
parseColor ( " #005473 " ) ) ) ;
actionBar . s e t D i s p l a y S h o w T i t l e E n a b l e d ( f a l s e ) ; // required to
force redraw, without, gray color
actionBar . s e t D i s p l a y S h o w T i t l e E n a b l e d ( true ) ;
10
15
20
35
40
A introduo dos textos do menu de opo deve ser feita nas linhas 16, 17 e 18 do excerto
anterior, pelo que neste caso deveriam ficar:
(.....)
//declarar um spinner e acrescentarlhe os itens
Spinner list1 = ( Spinner ) findViewById ( R . id . list1 ) ;
List < String > list = new ArrayList < String >() ;
list . add ( " Temperatura " ) ;
list . add ( " Entalpia " ) ;
list . add ( " Entropia " ) ;
ArrayAdapter < String > dataAdapter = new ArrayAdapter < String >
( t h i s , android . R . layout . simple_spinner_item , list ) ;
10
15
20