-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathsoftware.html
More file actions
317 lines (198 loc) · 12.3 KB
/
software.html
File metadata and controls
317 lines (198 loc) · 12.3 KB
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
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>6. Appendix: Course Software — COMP 313/413 Lecture Notes 1.0 documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/language_data.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="7. Appendix: Course Syllabi" href="syllabus.html" />
<link rel="prev" title="5. Summary" href="summary.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home" alt="Documentation Home"> COMP 313/413 Lecture Notes
</a>
<div class="version">
1.0
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="outline.html">2. Course Outline</a></li>
<li class="toctree-l1"><a class="reference internal" href="basicoop.html">3. Basics of Object-Oriented Programming</a></li>
<li class="toctree-l1"><a class="reference internal" href="devprocess.html">4. Overview of a Lightweight Development Process</a></li>
<li class="toctree-l1"><a class="reference internal" href="summary.html">5. Summary</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">6. Appendix: Course Software</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#required-software">6.1. Required Software</a></li>
<li class="toctree-l2"><a class="reference internal" href="#optional-but-useful-software">6.2. Optional But Useful Software</a></li>
<li class="toctree-l2"><a class="reference internal" href="#recommended-software">6.3. Recommended Software</a></li>
<li class="toctree-l2"><a class="reference internal" href="#alternative-stack">6.4. Alternative Stack</a></li>
<li class="toctree-l2"><a class="reference internal" href="#overview-of-android-development-modes">6.5. Overview of Android Development Modes</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="syllabus.html">7. Appendix: Course Syllabi</a></li>
<li class="toctree-l1"><a class="reference internal" href="todo.html">8. Appendix: TODO</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">COMP 313/413 Lecture Notes</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> »</li>
<li><span class="section-number">6. </span>Appendix: Course Software</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/software.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="appendix-course-software">
<span id="appendix-software"></span><h1><span class="section-number">6. </span>Appendix: Course Software<a class="headerlink" href="#appendix-course-software" title="Permalink to this headline">¶</a></h1>
<p><em>UNDER CONSTRUCTION</em></p>
<div class="section" id="required-software">
<h2><span class="section-number">6.1. </span>Required Software<a class="headerlink" href="#required-software" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://www.oracle.com/java/technologies/javase-jdk11-downloads.html">Java JDK 11</a> (Java 11 update 11.0.8 is the latest version at the time of this writing) - you probably need an Oracle userid to download this version</p>
<ul>
<li><p>You can also download Java 11 from <a class="reference external" href="https://adoptopenjdk.net/">https://adoptopenjdk.net/</a> - be sure to <em>pick OpenJDK 11</em></p></li>
<li><p>When you do the install on Windows you can tell AdoptOpenJDK to add Java 11 to your Path automatically</p></li>
</ul>
</li>
<li><p><a class="reference external" href="http://git-scm.com/downloads">Git</a> (version control system - you can use this directly if Android Studio is not cooperative in updating a GitHub repository)</p>
<ul>
<li><p>You may need to install Git if it’s not automatically part of Android Studio
- You may also need to tell Android Studio where Git is installed, so make a note of which directory/folder it’s installed into</p></li>
<li><p>On OS X, follow these instructions:
- Download the Git dmg file, right-click/CTRL-click on it, and click Open twice, then double click on the pkg file and follow the installation prompts
- Also install xcode: open an OS X Terminal window, enter xcode-select –install, and follow any prompts
- If you have Android Studio open, close and reopen it; it should now find Git OK - if not, Git lives in /usr/bin/git</p></li>
</ul>
</li>
<li><p>An Android-capable IDE</p>
<ul>
<li><p><a class="reference external" href="https://developer.android.com/studio">Android Studio</a> (follow the detailed instructions to install Android Studio and various SDKs)</p></li>
<li><p><a class="reference external" href="https://www.jetbrains.com/idea/">IntelliJ IDEA Community Edition</a> with the Android plugin installed</p></li>
<li><p><a class="reference external" href="https://code.visualstudio.com">Visual Studio Code</a> with a <a class="reference external" href="https://www.linkedin.com/pulse/building-android-apps-using-microsofts-vs-code-instead-saamer-mansoor/">suitable Android extension</a></p></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="optional-but-useful-software">
<h2><span class="section-number">6.2. </span>Optional But Useful Software<a class="headerlink" href="#optional-but-useful-software" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>Secure Shell (SSH - optional)</p>
<ul>
<li><p><a class="reference external" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html</a> (PuTTY/SSH for Windows)</p></li>
<li><p>Secure Shell is already installed in Mac OS X and Linux</p></li>
</ul>
</li>
<li><p>Git GUI client for Windows or Mac (sometimes Android Studio is not cooperative in cloning or updating version-controlled repositories)</p>
<ul>
<li><p><a class="reference external" href="https://desktop.github.com">GitHub Desktop</a></p></li>
<li><p><a class="reference external" href="https://www.sourcetreeapp.com">SourceTree</a></p></li>
</ul>
</li>
</ul>
<p><strong>Also, create a GitHub account here:</strong> <a class="reference external" href="https://github.com">https://github.com</a>, using your Loyola email if you have not done that before.
GitHub is a hosted repository provider, which you will use to create Android Studio solutions to projects throughout the course (using your Loyola email allows you to create private repositories and share them with an unlimited number of other students and me and our TA).</p>
<p>You can run Android tests and apps in an emulator on your workstation or deploy them to your Android phone or tablet (with the required developer settings).
With Robolectric (introduced later in the course), you can run Android tests in an ordinary JVM without the presence of an emulator or device.</p>
</div>
<div class="section" id="recommended-software">
<h2><span class="section-number">6.3. </span>Recommended Software<a class="headerlink" href="#recommended-software" title="Permalink to this headline">¶</a></h2>
<p>These are useful Android Studio/Intellij IDEA plugins:</p>
<ul class="simple">
<li><p>.ignore</p></li>
<li><p>Code Outline</p></li>
<li><p>Key Promoter (helps you learn keyboard shortcuts)</p></li>
</ul>
</div>
<div class="section" id="alternative-stack">
<h2><span class="section-number">6.4. </span>Alternative Stack<a class="headerlink" href="#alternative-stack" title="Permalink to this headline">¶</a></h2>
<p>If you have a Mac and an iOS device, you may consider using XCode for iOS development with deployment to your device.
If you make this choice, you will be largely on your own if you run into problems, though.
<em>Please discuss with your instructor if interested in pursuing this path.</em></p>
<div class="admonition-todo admonition" id="id1">
<p class="admonition-title">Todo</p>
<p>discuss command-line-based Android/Java development environment</p>
</div>
</div>
<div class="section" id="overview-of-android-development-modes">
<h2><span class="section-number">6.5. </span>Overview of Android Development Modes<a class="headerlink" href="#overview-of-android-development-modes" title="Permalink to this headline">¶</a></h2>
<div class="admonition-todo admonition" id="id2">
<p class="admonition-title">Todo</p>
<p>update this section</p>
</div>
<p>Different software is required for each of these.</p>
<ul class="simple">
<li><p>local host
- gradle on command-line
- IDE such as Android Studio (our choice for this course)</p></li>
<li><p>remote host
- ssh, gradle on command-line, copy or download apk to device and install
- entirely in the cloud via a hosted development environment and emulator</p></li>
<li><p>target device
- <a class="reference external" href="https://play.google.com/store/search?q=ide&c=apps&hl=en_US">https://play.google.com/store/search?q=ide&c=apps&hl=en_US</a></p></li>
</ul>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="syllabus.html" class="btn btn-neutral float-right" title="7. Appendix: Course Syllabi" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="summary.html" class="btn btn-neutral float-left" title="5. Summary" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
© Copyright 2014, Konstantin Läufer
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>