aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/mobile-manual_es.html.git
blob: e9af755711dfd0d5de018d5febf3ec1c9efe8546 (plain) (blame)
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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 8.6.9" />
<title></title>
<style type="text/css">
/*
 * compact_subsurface.css, a special style sheet for Subsurface,
 *  modified by Willem Ferguson and derived from:
 *		compact.css, version 1.3 by Alex Efros <powerman@powerman.name>
 * Licence: Public Domain
 *
 * Usage: asciidoc -a theme=compact_subsurface ...
 */

*   { padding: 0;  margin: 0; }
img { border: 0; }

/*** Layout ***/

body                        { margin: 10px 20px; }
#header br                  { display: none; }
#revnumber                  { display: block; }
#toc                        { margin: 1em 0; }
.toclevel2                  { margin-left: 1em; }
.toclevel3		    { margin-left: 2em; }
#footer                     { margin-top: 2em; }

#preamble .sectionbody,
h2,
h3,
h4,
h5                          { margin: 1em 0 0 0; }

.admonitionblock,
.listingblock,
.sidebarblock,
.exampleblock,
.tableblock,
.literalblock               { margin: 1em 0; }
.admonitionblock td.icon    { padding-right: 0.5em; }
.admonitionblock td.content { padding-left:  0.5em; }
.listingblock .content      { padding: 0.5em; }
.sidebarblock > .content    { padding: 0.5em; }
.exampleblock > .content    { padding: 0 0.5em; }
.tableblock caption         { padding: 0 0 0.5em 0; }
.tableblock thead th,
.tableblock tbody td,
.tableblock tfoot td        { padding: 0 0.5em; }
.quoteblock                 { padding: 0 2.0em; }

.paragraph                  { margin: 1em 0 0 0; }
.sidebarblock .paragraph:first-child,
.exampleblock .paragraph:first-child,
.admonitionblock .paragraph:first-child  { margin: 0; }

   .ulist,    .olist,    .dlist,    .hdlist,    .qlist   { margin: 1em 0; }
li .ulist, li .olist, li .dlist, li .hdlist, li .qlist,
dd .ulist, dd .olist, dd .dlist, dd .hdlist, dd .qlist   { margin: 0; }
ul                          { margin-left: 1.5em; }
ol                          { margin-left: 2em; }
dd                          { margin-left: 3em; }
td.hdlist1                  { padding-right: 1em; }

/*** Fonts ***/

body                        { font-family: Verdana, sans-serif; }
#header                     { font-family: Arial,   sans-serif; }
#header h1                  { font-family: Arial,   sans-serif; }
#footer                     { font-family: Georgia, serif;      }
#email                      { font-size: 0.85em; }
#revnumber                  { font-size: 0.75em; }
#toc                        { font-size: 0.9em;  }
#toctitle                   { font-weight: bold; }
#footer                     { font-size: 0.8em; }

h2, h3, h4, h5, .title      { font-family: Arial,   sans-serif; }
h2                          { font-size: 1.5em; }
.sectionbody                { font-size: 0.85em; }
.sectionbody .sectionbody   { font-size: inherit; }
h3                          { font-size: 159%; } /* 1.35em */
h4                          { font-size: 141%; } /* 1.2em */
h5                          { font-size: 118%; } /* 1em */
.title                      { font-size: 106%;   /* 0.9em */
			      font-weight: bold;
			    }

tt, .monospaced             { font-family: monospace; font-size: 106%; } /* 0.9em */
dt, td.hdlist1, .qlist em   { font-family: Times New Roman, serif;
			      font-size: 118%;   /* 1em */
			      font-style: italic;
			    }
.tableblock tfoot td        { font-weight: bold; }

/*** Colors and Backgrounds ***/

h1                          { color: #527bbd; border-bottom: 2px solid silver; }
#footer                     {                 border-top:    2px solid silver; }

h2                          { color: #527bbd; border-bottom: 2px solid silver; }
h3                          { color: #5D7EAE; border-bottom: 2px solid silver; }
h3                          { display: inline-block; }
h4,h5                       { color: #5D7EAE; }

.admonitionblock td.content { border-left: 2px solid silver; }
.listingblock .content      { background: #f4f4f4;   border: 1px solid silver; border-left: 5px solid #e0e0e0; }
.sidebarblock > .content    { background: #ffffee;   border: 1px solid silver; border-left: 5px solid #e0e0e0; }
.exampleblock > .content    {                   border-left: 2px solid silver; }
.quoteblock                 {                   border-left: 5px solid #e0e0e0; }
.tableblock table {
    border-collapse: collapse;
    border-width: 3px;
    border-color: #527bbd;
}
.tableblock table[frame=hsides] { border-style: solid none; }
.tableblock table[frame=border] { border-style: solid;      }
.tableblock table[frame=void]   { border-style: none;       }
.tableblock table[frame=vsides] { border-style: none solid; }
.tableblock table[rules=all] tbody tr *,
.tableblock table[rules=rows] tbody tr * {
    border-top: 1px solid #527bbd;
}
.tableblock table[rules=all] tr *,
.tableblock table[rules=cols] tr * {
    border-left: 1px solid #527bbd;
}
.tableblock table tbody tr:first-child * {
    border-top: 1px solid white; /* none don't work here... %-[] */
}
.tableblock table tr *:first-child {
    border-left: none;
}
.tableblock table[frame] thead tr *,
.tableblock table[frame] thead tr * {
    border-top: 1px solid white;
    border-bottom: 2px solid #527bbd;
}
.tableblock table tr td p.table,
.tableblock table tr td p.table * {
    border: 0px;
}

tt, .monospaced             { color: navy; }

li                          { color: #a0a0a0; }
li > *                      { color: black; }

span.aqua { color: aqua; }
span.black { color: black; }
span.blue { color: blue; }
span.fuchsia { color: fuchsia; }
span.gray { color: gray; }
span.green { color: green; }
span.lime { color: lime; }
span.maroon { color: maroon; }
span.navy { color: navy; }
span.olive { color: olive; }
span.purple { color: purple; }
span.red { color: red; }
span.silver { color: silver; }
span.teal { color: teal; }
span.white { color: white; }
span.yellow { color: yellow; }

span.aqua-background { background: aqua; }
span.black-background { background: black; }
span.blue-background { background: blue; }
span.fuchsia-background { background: fuchsia; }
span.gray-background { background: gray; }
span.green-background { background: green; }
span.lime-background { background: lime; }
span.maroon-background { background: maroon; }
span.navy-background { background: navy; }
span.olive-background { background: olive; }
span.purple-background { background: purple; }
span.red-background { background: red; }
span.silver-background { background: silver; }
span.teal-background { background: teal; }
span.white-background { background: white; }
span.yellow-background { background: yellow; }

span.big { font-size: 2em; }
span.small { font-size: 0.6em; }

span.underline { text-decoration: underline; }
span.overline { text-decoration: overline; }
span.line-through { text-decoration: line-through; }

/*** Misc ***/

.admonitionblock td.icon    { vertical-align: top; }
.attribution                { text-align: right; }

ul                          { list-style-type: disc; }
ol.arabic                   { list-style-type: decimal; }
ol.loweralpha               { list-style-type: lower-alpha; }
ol.upperalpha               { list-style-type: upper-alpha; }
ol.lowerroman               { list-style-type: lower-roman; }
ol.upperroman               { list-style-type: upper-roman; }
.hdlist td                  { vertical-align: top; }


</style>
<script type="text/javascript">
/*<![CDATA[*/
var asciidoc = {  // Namespace.

/////////////////////////////////////////////////////////////////////
// Table Of Contents generator
/////////////////////////////////////////////////////////////////////

/* Author: Mihai Bazon, September 2002
 * http://students.infoiasi.ro/~mishoo
 *
 * Table Of Content generator
 * Version: 0.4
 *
 * Feel free to use this script under the terms of the GNU General Public
 * License, as long as you do not remove or alter this notice.
 */

 /* modified by Troy D. Hanson, September 2006. License: GPL */
 /* modified by Stuart Rackham, 2006, 2009. License: GPL */

// toclevels = 1..4.
toc: function (toclevels) {

  function getText(el) {
    var text = "";
    for (var i = el.firstChild; i != null; i = i.nextSibling) {
      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
        text += i.data;
      else if (i.firstChild != null)
        text += getText(i);
    }
    return text;
  }

  function TocEntry(el, text, toclevel) {
    this.element = el;
    this.text = text;
    this.toclevel = toclevel;
  }

  function tocEntries(el, toclevels) {
    var result = new Array;
    var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
    // Function that scans the DOM tree for header elements (the DOM2
    // nodeIterator API would be a better technique but not supported by all
    // browsers).
    var iterate = function (el) {
      for (var i = el.firstChild; i != null; i = i.nextSibling) {
        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
          var mo = re.exec(i.tagName);
          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
          }
          iterate(i);
        }
      }
    }
    iterate(el);
    return result;
  }

  var toc = document.getElementById("toc");
  if (!toc) {
    return;
  }

  // Delete existing TOC entries in case we're reloading the TOC.
  var tocEntriesToRemove = [];
  var i;
  for (i = 0; i < toc.childNodes.length; i++) {
    var entry = toc.childNodes[i];
    if (entry.nodeName.toLowerCase() == 'div'
     && entry.getAttribute("class")
     && entry.getAttribute("class").match(/^toclevel/))
      tocEntriesToRemove.push(entry);
  }
  for (i = 0; i < tocEntriesToRemove.length; i++) {
    toc.removeChild(tocEntriesToRemove[i]);
  }

  // Rebuild TOC entries.
  var entries = tocEntries(document.getElementById("content"), toclevels);
  for (var i = 0; i < entries.length; ++i) {
    var entry = entries[i];
    if (entry.element.id == "")
      entry.element.id = "_toc_" + i;
    var a = document.createElement("a");
    a.href = "#" + entry.element.id;
    a.appendChild(document.createTextNode(entry.text));
    var div = document.createElement("div");
    div.appendChild(a);
    div.className = "toclevel" + entry.toclevel;
    toc.appendChild(div);
  }
  if (entries.length == 0)
    toc.parentNode.removeChild(toc);
},


/////////////////////////////////////////////////////////////////////
// Footnotes generator
/////////////////////////////////////////////////////////////////////

/* Based on footnote generation code from:
 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
 */

footnotes: function () {
  // Delete existing footnote entries in case we're reloading the footnodes.
  var i;
  var noteholder = document.getElementById("footnotes");
  if (!noteholder) {
    return;
  }
  var entriesToRemove = [];
  for (i = 0; i < noteholder.childNodes.length; i++) {
    var entry = noteholder.childNodes[i];
    if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
      entriesToRemove.push(entry);
  }
  for (i = 0; i < entriesToRemove.length; i++) {
    noteholder.removeChild(entriesToRemove[i]);
  }

  // Rebuild footnote entries.
  var cont = document.getElementById("content");
  var spans = cont.getElementsByTagName("span");
  var refs = {};
  var n = 0;
  for (i=0; i<spans.length; i++) {
    if (spans[i].className == "footnote") {
      n++;
      var note = spans[i].getAttribute("data-note");
      if (!note) {
        // Use [\s\S] in place of . so multi-line matches work.
        // Because JavaScript has no s (dotall) regex flag.
        note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
        spans[i].innerHTML =
          "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
          "' title='View footnote' class='footnote'>" + n + "</a>]";
        spans[i].setAttribute("data-note", note);
      }
      noteholder.innerHTML +=
        "<div class='footnote' id='_footnote_" + n + "'>" +
        "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
        n + "</a>. " + note + "</div>";
      var id =spans[i].getAttribute("id");
      if (id != null) refs["#"+id] = n;
    }
  }
  if (n == 0)
    noteholder.parentNode.removeChild(noteholder);
  else {
    // Process footnoterefs.
    for (i=0; i<spans.length; i++) {
      if (spans[i].className == "footnoteref") {
        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
        href = href.match(/#.*/)[0];  // Because IE return full URL.
        n = refs[href];
        spans[i].innerHTML =
          "[<a href='#_footnote_" + n +
          "' title='View footnote' class='footnote'>" + n + "</a>]";
      }
    }
  }
},

install: function(toclevels) {
  var timerId;

  function reinstall() {
    asciidoc.footnotes();
    if (toclevels) {
      asciidoc.toc(toclevels);
    }
  }

  function reinstallAndRemoveTimer() {
    clearInterval(timerId);
    reinstall();
  }

  timerId = setInterval(reinstall, 500);
  if (document.addEventListener)
    document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
  else
    window.onload = reinstallAndRemoveTimer;
}

}
asciidoc.install(3);
/*]]>*/
</script>
</head>
<body class="article">
<div id="header">
</div>
<div id="content">
<div class="imageblock" style="text-align:center;">
<div class="content">
<img src="mobile-images/banner.jpg" alt="Banner" />
</div>
</div>
<div class="paragraph"><p><span class="big">Subsurface-mobile para Android: MANUAL DE USUARIO</span></p></div>
<div class="paragraph"><p><strong>Manual author</strong>: Willem Ferguson</p></div>
<div id="toc">
  <div id="toctitle">Table of Contents</div>
  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
</div>
<div class="paragraph"><p><span class="blue"><em>Version 1.0, Marzo  2016</em></span></p></div>
<div class="paragraph"><p>Bienvenido a <em>Subsurface</em> un avanzado programa de registro de inmersiones con
extensa infraestructura para describir, organizar, interpretar e imprimir
inmersiones, con botella o a pulmón. <em>Subsurface</em> ofrece muchas ventajas sobre
otras soluciones de software similares, entre ellas se incluye la
compatibilidad con Windows, Mac-OS/X, Linux (muchas distribuciones) y también
Android (en desarrollo un versión para iOS). Además, <em>Subsurface</em> es un
software de código abierto que permite descargar información de inmersiones
desde la mayoría de los ordenadores de buceo.</p></div>
<div class="sect1">
<h2 id="_presentación_de_subsurface_mobile">1. Presentación de  Subsurface-mobile</h2>
<div class="sectionbody">
<div class="paragraph"><p><em>Subsurface-mobile</em> es una extensión del <em>Subsurface</em> que ejecutamos en
ordenadores portátiles o de sobremesa. Corre en teléfonos y tabletas Android y
es una herramienta para ver o compartir información de buceo en el mismo lugar
de la inmersión, donde no suele ser posible disponer de un ordenador completo.
También permite recoger las posiciones GPS donde se realizan las inmersiones.</p></div>
<div class="paragraph"><p>Está en desarrollo una versión de <em>Subsurface-mobile</em> para iOS pero aún no
está lista para probarla.</p></div>
<div class="paragraph"><p>Aunque <em>Subsurface-mobile</em> nos permite introducir y guardar información de
buceo utilizando un dispositivo android, los usuarios de <em>Subsurface-mobile</em>
utilizan, habitualmente, la app como una extension de la versión para
ordenadores de <em>Subsurface</em>. Esto permite el almacenamiento de divelogs en
Internet, que pueden compartirse entre las versiones para Android y PC. Aunque
la versión para ordenador muestra una información mucho más detallada de cada
inmersión, la versión para móvil nos permite tener esta información más
accesible durante un viaje, lo que puede resultar util para demostrar nuestra
experiencia de buceo en tiendas o centros, o simplemente revisar inmersiones
anteriores.</p></div>
<div class="paragraph"><p><em>Subsurface-mobile</em> nos permite:</p></div>
<div class="ulist"><ul>
<li>
<p>
Descargar la información del divelog desde internet.
</p>
</li>
<li>
<p>
Visualizar esta información en un dispositivo Android.
</p>
</li>
<li>
<p>
Editar muchos de los campos de datos del registro, por ejemplo, el
  dive-master, el compañero, las anotaciones, etc.
</p>
</li>
<li>
<p>
Crear y añadir nuevas inmersiones a nuestro divelog. Guardar el divelog
  actualizado en Internet.
</p>
</li>
<li>
<p>
Registrar y aplicar las posiciones GPS de las inmersiones.
</p>
</li>
<li>
<p>
Visualizar las localizaciones de las posiciones GPS en un mapa.
</p>
</li>
</ul></div>
<div class="paragraph"><p>Todas estas posibilidades se comentan con más detalle en el texto siguiente.</p></div>
<div class="paragraph"><p>Lo que <em>Subsurface-mobile</em> no soporta (en estos momentos) es descargar datos
directamente desde el ordenador de buceo. Esto aún debe realizarse desde un
PC. Estamos investigando formas de descargar desde una parte de los
ordenadores de buceo soportados a los dispositivos Android, pero esta parte
aún no esta lista para ser probada.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_instalar_em_subsurface_mobile_em_en_un_dispositivo_android">2. Instalar <em>Subsurface-mobile</em> en un dispositivo Android</h2>
<div class="sectionbody">
<div class="paragraph"><p>Encuentra Subsurface-mobile_ en el Play Store de Google. Busca
<em>Subsurface-mobile</em> e instalalo.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_utilizar_em_subsurface_mobile_em_por_primera_vez">3. Utilizar <em>Subsurface-mobile</em> por primera vez</h2>
<div class="sectionbody">
<div class="paragraph"><p>Al iniciar <em>Subsurface-mobile</em> se muestra una pantalla de presentación
mientras se carga el programa. En algunos dispositivos esto puede llevar
algunos segundos. Tras haber cargado, aparecerá una <em>pantalla de credenciales
de la nube</em> (ver la imagen de la izquierda, a continuación).</p></div>
<div class="imageblock" style="text-align:center;">
<div class="content">
<img src="mobile-images/landingscreen.jpg" alt="FIGURA: Pantalla inicial" />
</div>
</div>
<div class="paragraph"><p>Dado que <em>Subsurface-mobile</em> es totalmente dependiente del registro  guardado
en Internet, introduce una dirección de correo electrónico y la password  para
acceder al servidor de almacenamiento en la nube de <em>Subsurface</em>. Estas
credenciales se obtienen abriendo la versión de <em>Subsurface</em> para ordenador y
pulsando <em>Archivo &#8594; Preferencias &#8594; Red</em>, y se explica en detalle en el manual
de la versión de ordenador de <em>Subsurface</em>. Una vez que se ha creado y
verificado utilizando la versión de ordenador, se  puede utilizar
<em>Subsurface-mobile</em>.</p></div>
<div class="paragraph"><p>Al introducir la password, es posible seleccionar la casilla "Recordar" que
permite a <em>Subsurface-mobile</em> guardar las credenciales para próximas
conexiones (ver la imagen anterior), Tras haber introducido las credenciales,
pulsa el icono del disco, en la parte inferior de la pantalla.
<em>Subsurface-mobile</em> intentará descargar la información guardada en el servidor
y, finalmente, se mostrará una lista de inmersiones (imagen a la izquierda a
continuación).</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_copia_local_del_divelog_y_sincronización_con_internet">4. Copia local del divelog y sincronización con Internet</h2>
<div class="sectionbody">
<div class="paragraph"><p>Una vez que se haya descargado la lista de inmersiones desde Internet,
<em>Subsurface-mobile</em> guardará una copia en el dispositivo móvil. Esto
significa que, si no hay conexión a Internet en el punto de buceo, aún se
puede acceder a la copia local y manipular la información. Si existe conexión
a Internet, <em>Subsurface-mobile</em> accede al registro guardado en la nube para
verificar si la copia local es aún la misma que la remota. Si no fuera así, la
copia local se sincronizará con la versión del servidor.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_algunas_observaciones_sobre_la_interfaz_de_usuario">5. Algunas observaciones sobre la interfaz de usuario</h2>
<div class="sectionbody">
<div class="paragraph"><p>En la parte inferior de muchas de las pantallas de  <em>Subsurface-mobile</em>,
aparece un botón redondo que habilita varias acciones y permite la selección
de la principal acción afirmativa (ver las imágenes anterior y a
continuación). En dispositivos Android, se utiliza el botón "Volver" para
realizar las acciones de cancelar, descartar o volver. Por ejemplo, al editar
una inmersión, pulsar el <em>botón de acciones</em> guarda los cambios, mientras que
el botón "Volver" de Android, puede utilizarse para cancelar la edición sin
guardar los cambios.</p></div>
<div class="imageblock" style="text-align:center;">
<div class="content">
<img src="mobile-images/actionbutton.jpg" alt="FIGURE: Action Button" />
</div>
</div>
<div class="paragraph"><p>Para abrir menús, en vez del tradicional botón tipo "hamburgesa" en la esquina
superior derecha de la pantalla, <em>Subsurface-mobile</em> utiliza una filosofía de
interacción con el usuario diferente, basada en el sistema Kirigami, diseñado
por el equipo de desarrolladores de Plasma. Para abrir el menú principal se
dispone de tres opciones:</p></div>
<div class="ulist"><ul>
<li>
<p>
Pulsar el símbolo de flecha-derecha en la parte inferior izquierda de la
  pantalla (fácil de alcanzar con una sola mano en dispositivos tipo
  smartphone).
</p>
</li>
<li>
<p>
Desplazar hacia la derecha desde el borde de la pantalla.
</p>
</li>
<li>
<p>
Arrastrar hacia la derecha el <em>botón de acciones</em> visible en la mayoría de
  pantallas.
</p>
</li>
</ul></div>
<div class="imageblock" style="text-align:center;">
<div class="content">
<img src="mobile-images/menu.jpg" alt="FIGURE: Dive management subpanel" />
</div>
</div>
<div class="paragraph"><p>Las imágenes anteriores muestran algunas de las características más
importantes del sistema de menús.  A la izquierda está el menú principal que
se activa como se ha explicado antes. En el centro está el menú que se abre al
pulsar la opción <em>GPS</em> desde el principal. A la derecha, el menú que se abre
al pulsar la opción _Manage Dives_desde el principal.</p></div>
<div class="paragraph"><p>De forma similar, el menú contextual (actualmente solo disponible en la
pantalla de detalles de la inmersión) puede abrirse de una de estas tres
formas:</p></div>
<div class="ulist"><ul>
<li>
<p>
Pulsando en el símbolo de la flecha-izquierda en la esquina inferior derecha
  de la pantalla.
</p>
</li>
<li>
<p>
Desplazando hacia la izquierda desde el borde de la pantalla.
</p>
</li>
<li>
<p>
Arrastrando el "botón de acciones" hacia la izquierda.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_visualizar_la_lista_de_inmersiones">6. Visualizar la lista de inmersiones</h2>
<div class="sectionbody">
<div class="paragraph"><p>La mayoría de las acciones de <em>Subsurface-mobile</em> se centran alrededor de las
inmersiones de la lista. Mientras se carga la lista desde la nube, aparece un
mensaje en la parte inferior de la pantalla, indicando que se está accediendo
a la misma (ver imagen izquierda a continuación). Una vez que la lista se ha
cargado, nos podemos desplazar arriba y abajo.
Al pulsar una inmersión de la lista aparecerá una pantalla de <em>Vista de
Detalles</em> para dicho buceo (ver imagen derecha a continuación). En ella se
incluye el perfil de la inmersión, información adicional y notas.</p></div>
<div class="imageblock" style="text-align:center;">
<div class="content">
<img src="mobile-images/divelist.jpg" alt="FIGURE: Dive list screen" />
</div>
</div>
<div class="paragraph"><p>Se pueden visualizar otras inmersiones desplazando la <em>Vista de Detalles</em>
hacia la derecha, para el buceo posterior, o hacia la izquierda para el
anterior.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_editar_los_detalles_de_la_inmersión">7. Editar los detalles de la inmersión.</h2>
<div class="sectionbody">
<div class="paragraph"><p>En la parte inferior de la pantalla, el <em>Botón de Acciones</em> contiene un lápiz
(imagen anterior derecha).
Pulsar el botón hará que se muestre  un panel con casillas de edición que nos
permitirán modificar la información existente, p.e. añadiendo texto a las
notas o cambiando nombres o valores en otras casillas (ver imagen a
continuación). Puede ser necesario desplazar la ventana para poder acceder a
toda la información.  En la parte inferior de la pantalla de edición, el
<em>Botón de Acciones</em> mostrará un icono de <em>Guardar</em>. Púlsalo para guardar los
cambios efectuados. Tras haberlos guardado, la pantalla de la lista de
inmersiones se actualizará y mostrará. Si se desea cancelar la edición se
pulsa el botón "Volver" de Android.</p></div>
<div class="imageblock" style="text-align:center;">
<div class="content">
<img src="mobile-images/editdive.jpg" alt="FIGURE: Dive edit screen" />
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_añadir_una_nueva_inmersión_a_la_lista">8. Añadir una nueva inmersión a la lista</h2>
<div class="sectionbody">
<div class="paragraph"><p>También es posible añadir una inmersión adicional a la lista existente. Desde
el menú principal, pulsar <em>Manage dives &#8594; Add dive manually</em>. Esto abrirá una
pantalla idéntica a la de edición comentada anteriormente. Al añadir
manualmente una inmersión, no se puede añadir un perfil del ordenador de
buceo. Sin embargo, si no se usa un ordenador de buceo, la duración,
profundidad y varias otras informaciones pueden ser introducidas.
El <em>Botón de acciones</em>, en la parte inferior de la pantalla, contendrá el
icono de un disco. Púlsalo para guardar la nueva inmersión. Para cancelar las
ediciones pulsa el botón "Volver" de Android.
La imagen de la izquierda, a continuación, muestra una captura de pantalla de
una inmersión que está siendo creada, y la imagen de la derecha muestra la
misma inmersión en la <em>Vista de detalles</em>.</p></div>
<div class="imageblock" style="text-align:center;">
<div class="content">
<img src="mobile-images/createdive.jpg" alt="FIGURE: Dive edit screen" />
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_borrar_una_inmersión">9. Borrar una inmersión</h2>
<div class="sectionbody">
<div class="paragraph"><p>La <em>Vista de detalles</em> de una inmersión tiene un menú contextual en el lado
derecho que puede activarse como se ha descrito anteriormente (p.e. pulsando
el icono de flecha en la parte inferior derecha de la pantalla o arrastrando
el <em>Botón de acciones</em> hacia la izquierda).
El menú contextual contiene una sola opción: "Delete dive". Si se pulsa esta
opción, la inmersión mostrada en la <em>Vista de detalles</em> será borrada.  Se
dispone de una breve posibilidad de anular el borrado pulsando el botón <em>undo</em>
en el mensaje que aparecerá en la parte inferior de la pantalla. Si no se
pulsa dicho botón la inmersión se borrará.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_mantenimiento_del_divelog">10. Mantenimiento del divelog</h2>
<div class="sectionbody">
<div class="paragraph"><p>Una parte central de <em>Subsurface-mobile</em> es su capacidad para guardar la
información de buceo haciendo uso del almacenamiento en la nube de
<em>Subsurface</em>. Esto proporciona seguridad frente a los daños o la perdida de
la copia del divelog guardada localmente y permite a la versión de sobremesa
de <em>Subsurface</em> acceder a los cambios realizados con el dispositivo móvil.
Se accede a esta capacidad a través del menú principal (arrastrando el <em>Botón
de acciones</em> hacia la derecha, o pulsando la flecha en la parte inferior
izquierda de la pantalla).
Pulsa la opción <em>Manage dives</em> que nos permitirá un nuevo número de acciones:</p></div>
<div class="sect2">
<h3 id="_añadir_manualmente_una_nueva_inmersión">10.1. Añadir manualmente una nueva inmersión</h3>
<div class="paragraph"><p>Se ha descrito anteriormente en la sección referida a la lista de inmersiones.</p></div>
</div>
<div class="sect2">
<h3 id="_subir_el_divelog_al_almacenamiento_en_la_nube_de_em_subsurface_em">10.2. Subir el divelog al almacenamiento en la nube de <em>Subsurface</em></h3>
<div class="paragraph"><p>Se pueden subir las inmersiones contenidas en el dispositivo móvil al
almacenamiento en la nube de  <em>Subsurface</em> pulsando la opción <em>Upload to
cloud</em>. Esto sincronizará los cambios efectuados localmente con el divelog en
el almacenamiento en la nube.</p></div>
</div>
<div class="sect2">
<h3 id="_descargar_el_divelog_desde_internet">10.3. Descargar el divelog desde internet</h3>
<div class="paragraph"><p>En el subpanel <em>Dive managements</em>, pulsa la opción <em>Refresh</em> . Con esto se
consigue que la copia local del dispositivo Android se sincronice con la copia
del divelog en la nube.</p></div>
</div>
<div class="sect2">
<h3 id="_cambiar_las_credenciales_de_acceso_a_la_nube_de_em_subsurface_em">10.4. Cambiar las credenciales de acceso a la nube de <em>Subsurface</em></h3>
<div class="paragraph"><p>Puede que sea necesario cambiar las credenciales de acceso, por ejemplo si
nuestro correo electrónico (usado como credencial) ha cambiado. Para modificar
los datos en <em>Subsuface-mobile</em>, abre el menú principal y pulsa <em>Cloud
credentials</em>. Esto abrirá la pantalla de ajustes para especificar las nuevas
credenciales.</p></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_registrar_puntos_de_buceo_usando_el_gps">11. Registrar puntos de buceo usando el GPS</h2>
<div class="sectionbody">
<div class="paragraph"><p>El hecho de que la mayoría de smartphones dispongan de GPS nos permite
registrar las ubicaciones de las inmersiones. Se puede llevar el teléfono en
el barco de buceo durante la inmersión y se registrarán automáticamente
posiciones a intervalos regulares.
Estas posiciones pueden ser aplicadas a inmersiones de la lista. A
continuación se explica como:</p></div>
<div class="sect2">
<h3 id="_ajustar_el_gps">11.1. Ajustar el GPS</h3>
<div class="paragraph"><p>Abre el menú principal y pulsa <em>GPS &#8594; Preferences</em>. Ahora especifica la forma
en que se deben recoger automáticamente las posiciones (imagen derecha a
continuación). Se puede especificar que los datos se recojan a intervalos
regulares, p.e. cada 10 minutos, o a distancias regulares, p.e. después de que
el barco se haya desplazado más de 200 metros, o una combinación de ambas
opciones. Introduce los parámetros deseados y pulsa el botón "Guardar". El
app está preparada para recoger posiciones GPS.</p></div>
<div class="imageblock" style="text-align:center;">
<div class="content">
<img src="mobile-images/gpssetup.jpg" alt="FIGURE: GPS setup screen" />
</div>
</div>
</div>
<div class="sect2">
<h3 id="_recoger_posiciones_gps">11.2. Recoger posiciones GPS</h3>
<div class="paragraph"><p>Asegúrate de que el GPS del dispositivo Android está activado. En la parte
inferior del menú principal y del submenú <em>GPS</em> hay una casilla seleccionable
<em>Run location service</em>  (imagen derecha a continuación). Selecciona la casilla y
<em>Subsurface-mobile</em> comenzará a tomar lecturas de las posiciones GPS siguiendo
las indicaciones guardadas en las preferencias, como se ha indicado
anteriormente. Despues de la inmersión se puede detener el servicio,
deseleccionando la misma casilla que se había marcado antes.</p></div>
</div>
<div class="sect2">
<h3 id="_guardar_los_datos_del_gps_en_la_nube_de_em_subsurface_em">11.3. Guardar los datos del GPS en la nube de <em>Subsurface</em></h3>
<div class="paragraph"><p>Activa el menú principal y selecciona la opción <em>GPS</em> que despliega el menú de
acciones relacionadas con el GPS (imagen anterior izquierda). Pulsa <em>Upload
GPS data</em> con ello, los datos recogidos en el dispositivo móvil se guardarán
en la nube de <em>Subsurface</em>. Estas posiciones GPS se guardan <strong>separadamente</strong>
del resto de datos del divelog. Todas las posiciones GPS recogidas se
conservan en el dispositivo móvil, independientemente de que se hayan subido o
no.</p></div>
</div>
<div class="sect2">
<h3 id="_visualizar_datos_gps">11.4. Visualizar datos GPS</h3>
<div class="paragraph"><p>Desde el menú GPS (imagen izquierda anterior) seleccionar <em>Show GPS fixes</em>.
Esto mostrará una lista de posiciones GPS recogidas usando en servicio de
ubicación (imagen izquierda a continuación). Se pueden efectuar dos acciones
para cada una de las posiciones, habilitadas si se pulsa el botón (las tres
bandas horizontales de la derecha, ver imagen izquierda a continuación) y se
arrastra la posición hacia la izquierda (imagen derecha a continuación). Esta
acción muestra dos opciones. Pulsar la papelera borra esta posición GPS en
concreto. Pulsar el icono con forma de lágrima (un pin de Google maps) abre
Google Maps en el navegador con un pin que indica la posición exacta en el
mapa de las coordenadas GPS que se están visualizando. Las dos opciones
indicadas, pueden ocultarse de nuevo arrastrando el registro de posición hacia
la derecha.</p></div>
<div class="imageblock" style="text-align:center;">
<div class="content">
<img src="mobile-images/gpsmanagement.jpg" alt="FIGURE: GPS management" />
</div>
</div>
</div>
<div class="sect2">
<h3 id="_aplicar_los_datos_gps_a_las_inmersiones_del_divelog">11.5. Aplicar los datos GPS a las inmersiones del divelog</h3>
<div class="paragraph"><p>Suponiendo que se hayan introducido a mano o descargado desde la nube de
<em>Subsurface</em> todas las inmersiones del divelog, se pueden aplicar las
posiciones GPS a dichas inmersiones. Las posiciones GPS solo pueden aplicarse
a inmersiones que estén en la lista de inmersiones.
Desde el subpanel <em>GPS</em>, pulsar <em>Apply GPS fixes</em>. La lista de inmersiones
contiene la hora de inicio y fin de cada inmersión. <em>Subsurface-mobile</em>
aplicará la primera posición que se encuentre dentro del periodo de duración
del buceo, o la inmediatamente anterior al inicio si no hubiera ninguna dentro
del periodo.</p></div>
</div>
</div>
</div>
</div>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
Last updated 2016-03-13 12:43:54 PDT
</div>
</div>
</body>
</html>