Presentation is loading. Please wait.

Presentation is loading. Please wait.

Android 2: A First Project Kirk Scott 1. 2 2.1 Creating a New, Example Android Application Project in Eclipse 2.2 Creating a Virtual Device, an Emulator.

Similar presentations

Presentation on theme: "Android 2: A First Project Kirk Scott 1. 2 2.1 Creating a New, Example Android Application Project in Eclipse 2.2 Creating a Virtual Device, an Emulator."— Presentation transcript:

1 Android 2: A First Project Kirk Scott 1

2 2

3 2.1 Creating a New, Example Android Application Project in Eclipse 2.2 Creating a Virtual Device, an Emulator 2.3 Running an App on the Emulator in Eclipse 2.4 Running the Project on an Attached Device Instead of an Emulator 3

4 2.1 Creating a New, Example Android Application Project in Eclipse 4

5 These overheads give a general overview of what is involved in getting a sample application to work—without even looking at its code, how it works, or what Android features it is making use of or depends on This is the initial monkey work mentioned in the previous set of overheads 5

6 These overheads are based on the initial example app that was given in the tutorial on the Android developer’s Web site at one time The Web site may or may not still use the same example in the same form 6

7 If you discover that something in the overheads doesn’t seem to work, you can go to the tutorial for additional information Unfortunately, as time passes, there may be divergence between what you find in the overheads and what you find on the Web page 7

8 A New Android Application In the Eclipse menu take the option File, New, Android Application Project The result of this is shown in the screenshot on the following overhead 8

9 9

10 In the first box, type in the following: My First App The other boxes will auto-complete as shown in the following screenshot (If the other boxes don’t auto-complete, this is the first stage where you will have to go fish) 10

11 11

12 At the very top there is a warning about the auto-completed package name I have always just used the placeholder that they provide without any problems If things auto-completed as hoped, then you click the Next > button 12

13 I will not show the next screenshots for the wizard Just keep on accepting the defaults and taking Next until you reach the Finish option Notice how this is an area where you’re just doing monkey work God knows what all of the options mean at this point 13

14 Once you click Finish “things will happen” They may happen slowly I have a reasonably powerful machine and it takes things a while to happen There is a progress bar at the bottom which gives you some indication of what’s going on 14

15 The initial Welcome screen may remain visible If so, it covers up what has happened Minimize anything in the way, and with luck, what you will see in the Eclipse environment will look more or less like the screenshot on the following overhead 15

16 16

17 There are several things to notice in this screenshot The simplest and most reassuring is that if you can actually read the fine print, you will see that My First App is a Hello World app Whenever a new app is created using the defaults, this Hello World layout is provided by default 17

18 Obviously you’re not looking at code The name of the file that is being shown has an XML extension What you’re seeing is the layout of the output of the app This is a graphical representation of the layout as provided by the development environment This is not the output showing in the emulator 18

19 If you have an extremely good visual memory, you might notice that this screenshot of the editor doesn’t look quite like the one given at the end of the previous set of overheads For example, the toolbar has disappeared Just like all development environments, you can mistakenly (or intentionally) change what’s shown 19

20 For the purposes of these overheads, it’s just as worthwhile to emphasize that fact as it would be to try to make every screen shot consistent Keep in mind that you can access the tools through the menu if needed 20

21 Also, under the Window option in the menu, you can do various things to restore the contents or appearance of the environment if something seems to have gone missing For example, there is an option to show the toolbar again, an option to open a perspective, an option to reset a perspective, and so on 21

22 2.2 Creating a Virtual Device, an Emulator 22

23 Running the Project on a Virtual Device, an Emulator If you want to run the project using the emulator, you need to use the Android Virtual Device Manager to create a new virtual device Recall that the Android Virtual Device Manager tool was mentioned in the previous set of overheads If you take that tool (or menu option) you should arrive at something similar to the screenshot shown on the following overhead 23

24 24

25 Click the New button to create an Android Virtual Device The window shown in the screenshot on the following overhead comes up 25

26 26

27 It’s shown on the following overhead with the drop down list for Device expanded 27

28 28

29 I tried using various devices For initial test purposes I finally settled on the device at the bottom of the list My theory was that emulation for older, simpler devices might work better or faster than for newer devices On the following overhead the form is shown filled out with representative values for that simple device 29

30 30

31 Using Snapshot Another mystery: At the bottom is a checkbox for the Snapshot option Certain reference sources waffle on the desirability of the Snapshot I recommend not using Snapshot It is possible that this causes things to run more slowly The reference sources indicate that if you do select Snapshot and then make other parameter changes later, this may lead to unexplained problems 31

32 Warning Here is an example of what can go wrong I also tried making a virtual device that was a Nexus tablet (the real hardware we’re working with) The memory option defaulted to a RAM value of 1024 Unfortunately, when I continued with that value of 1024, I got a mystery error 32

33 My Web search informed me that if I changed the RAM value to 512, things should be OK For the device I’ve chosen to illustrate with, I took memory size values of 256 For whatever reason, these values worked, and for the time being, that’s good enough for me 33

34 The usual rules apply: When in doubt, accept the default, if one is given, or make a random guess When things inevitably go wrong, do a Web search to try and find out what it was Stackoverflow has helped me many a time 34

35 Continuing with Virtual Device Creation Once you’ve got the parameters set, click on OK The system can drag on for a noticeable amount of time creating the virtual device Successful completion is indicated by the appearance of the device in the list as shown in the screenshot on the following overhead 35

36 36

37 There is no final OK step after virtual device creation You’re done—and you have to close this window If you just minimize it, it sits there but is still the active window To go on from here, close this window 37

38 2.3 Running an App on the Emulator in Eclipse There are several different ways of running an app in the emulator Later on you will find out that you can create run configurations and debug configurations which are linked to a project That may be a fine way of doing business, but it’s more complicated than necessary initially 38

39 Starting the emulator can take a lot of time In theory, running an app (without an attached device) will cause the system to start the emulator and then cause the app to run on it My experience tells me that this is a bad approach 39

40 The preferable approach: Start the emulator and wait patiently until you have confirmed that it has started Then run the app in it Waiting for the emulator to start may drive you crazy, but this is just a little craziness 40

41 These are bigger crazinesses: Thinking your app doesn’t work, when in fact all that’s happening is the slow starting of the emulator Worse yet, you get impatient waiting for your app to run, don’t realize that the delay is just the slowness of starting the emulator, and you break something by taking an action before the emulate/run sequence is complete 41

42 I repeat: Start the emulator first Wait patiently for it to start Then try to run your app 42

43 Starting the Emulator The Android Virtual Device screen is shown again on the following overhead with the created virtual device in it The screenshot shows the device as being selected and you’ll note a Start… button on the right hand side 43

44 44

45 If you click the Start button the following screen should appear This is the magic moment Click Launch 45

46 46

47 After clicking launch, you should see the screen with the progress bar shown on the following overhead So far so good 47

48 48

49 Even before the previous screen goes away, or at the very least, as soon as it finishes, you should see the emulator on the screen It’s conceivable that you’ll have to close some things to find it It may be hidden In any case, the initial stage of launch shouldn’t take a long time, and you will see something like this, depending on what type of device you chose to emulate 49

50 50

51 Even If Things are Going OK, This is the Painful Part What you need now is patience (potentially a lot of it) and faith The Android message on the emulated device will flash white for an indeterminate period of time The emulator is still launching As long as that process is going on, there’s nothing else that you should do Find something to kill a little time with, because a watched pot never boils 51

52 Edging Towards Success Eventually, with good luck, the emulator will look as shown on the following overhead In the screenshot that is shown, the emulator screen is grayed out 52

53 53

54 If your emulator is grayed out, click and drag over the emulator screen with the mouse This should wake it up, as shown on the following overhead 54

55 55

56 You’re directed to touch the circle On your desktop, click your mouse on it If the apps are shown, as they are in the following screenshot, you have been successful The emulator has been launched and is running 56

57 57

58 Running the Project in the Emulator If you want to run the project (without setting up run or debug configurations) you need a source file for the project open in the Eclipse environment We haven’t actually seen that yet What we’ve seen is the default view, which shows the app layout This is repeated on the following overhead for reference 58

59 59

60 The directory down the left hand side is the project explorer In it you need to find MyFirstApp/src/com.example.myfirstapp/MainAc Double clicking on that will open the file containing the source code for the app in the editor window The screenshot on the following overhead illustrates this 60

61 61

62 In the interests of thoroughness, you can build the project before running it In the menu you would take Project, Build All Sometimes you can also solve mystery problems by taking the Project, Clean… option The first time, and most times, you run something you will not have to take preliminary steps like these 62

63 To run the app, just go to the Run menu in the menu bar and take the Run option in it Or, there is a Run tool in the toolbar which you can click on There’s no need to take the dropdown option on the tool 63

64 The first time you to try to run a app (a project), you may get another dialog box asking what kind of thing you’re trying to run You’re given a list of choices, and the choice you want to make is “Android application” This dialog is shown on the following overhead (for the Wari app, not for MyFirstApp) 64

65 65

66 After choosing the right run type, once again there may be a certain amount of waiting With luck, when you look at the emulator, you’ll see what’s shown in the screen shot on the following overhead (This is back to MyFirstApp, not Wari) 66

67 67

68 Click and drag over the emulator screen, and it comes to life, as shown on the following overhead 68

69 69

70 Just to reiterate the obvious: What was shown earlier was the static layout of the app as displayed in the development environment That was essentially a visual editor view of how the app would look when it ran What we have just seen is the actual appearance of the running app in the emulator 70

71 2.4 Running the Project on an Attached Device Instead of an Emulator 71

72 Most of you have probably run an app that was already on a device Some of you have probably downloaded an app from the Internet, installed it, and run it on a device We are now interested in the steps for installing an app directly from a development environment and running it on a device 72

73 The 3 Steps for Installing and Running an App from Your Development Environment Getting the Device Ready – You have to get into developer mode so that you it’s possible to transfer the app to the device Downloading and Installing the Driver – You need a USB driver in order to transfer through a USB port Running the App on the Device – Then you can run the app on the device 73

74 Background For reference purposes, these overheads were prepared with the following: Windows 7 Eclipse, as already described 74

75 A Nexus 7 tablet The fact that it was the Nexus 7 tablet is relevant to the specific instructions for getting the device ready The process of accessing the device settings an making it possible to install an app in the way described may differ on different kinds of hardware 75

76 Getting the Device Ready On the running device, go to the App screen Tap on Settings Under System, find About tablet Tap Build number 7 times When you return from doing this you should find Developer options under System 76

77 Take Developer options Under Debugging, enable USB debugging You can now connect the device to your system using a USB cable 77

78 Downloading and Installing the Driver For information on the Nexus 7 USB driver, if you want any, go to the Android Web site: A search on “USB driver” will take you to a page that has information on the driver The driver is only necessary when developing in a Windows environment 78

79 You have a choice on getting the driver Either you can download from the Web page mentioned above Or you can use the Android SDK Manager from the ADT bundle in Eclipse If you’re following these overheads and using the development environment as explained in them, using the SDK Manager is easier 79

80 Using the manager is so easy, there’s not much to say about it Remember that the tool was introduced in the previous set of overheads Find the tool in the Eclipse environment and click on it Find the line for the driver, possibly scrolling down to do so Click that line and follow any instructions 80

81 Doing it by Hand (Not Recommended) If for some reason you want to download and install the driver the hard way, here is a brief list of the steps involved: Note which folder the driver is saved in Right click on the “computer” icon on your machine Take the Manage option Select the Device Manager on the left Find and expand the Other devices 81

82 Find the Nexus 7 device in the list You may find the Nexus 7 device somewhere else depending on your situation When you find the Nexus 7 device, right click on it Take the Update Driver Software… option Follow the directions and browse to the location where the driver was saved to Blah blah blah 82

83 Running the App on the Device The assumption at this point is that you successfully installed the driver and your device is attached with a USB cable Open your app in Eclipse Take the Run tool or the Run option in the menu 83

84 This should cause the Android Device Chooser to appear on the screen, with the Nexus 7 device in the list This is shown on the following overhead Note that the area showing the actual attached device is distinct from the area that shows any emulators 84

85 85

86 Select your device and click OK The magic should happen The app should run on your device In addition to running, it will effectively be installed on the device at the time it runs If you go to the apps screen you’ll find the little green Android icon for it and you can run it from there in the future 86

87 Woes On your system you may discover that the Google driver doesn’t install through the tool You may also discover that you follow the directions for installation by hand, and MS Windows overrides this installation and replaces the driver with its preferred driver— which is not the correct one for a Google device 87

88 This happened to me on my system I searched the Web for solutions and spent many hours trying, but I couldn’t solve the problem It seems that some versions of Windows (for example, Windows 7 Professional) are locked down in some way, and if there is a way to stop the default “helpful, secure” behavior, I have not found it 88

89 If this happens to you: I can offer sympathy I can suggest that you look for a solution, and if you find one, hope that you share it with me for the benefit of future students In the case of no success, I can only recommend that you get access to a machine with a different version of Windows and see if you can get it to work there 89

90 I did get this to work on one machine with a different version of Windows And for what it’s worth: Note that the special Google driver is only needed in a Windows environment If, by chance, you’re developing in Linux environment, for example, you are apparently free of this curse. 90

91 Summary and Mission This is the end of the description of the first project As noted, it was only about nuts and bolts The presentation had nothing to do with code or the components of the app Those topics will be pursued in the following sets of overheads 91

92 You have two missions, neither of which are graded homework: 1. Get “Hello World” to work on an emulated virtual device in whatever development environment you’re using 2. Get “Hello World” to work on a real attached Android device 92

93 The End 93

Download ppt "Android 2: A First Project Kirk Scott 1. 2 2.1 Creating a New, Example Android Application Project in Eclipse 2.2 Creating a Virtual Device, an Emulator."

Similar presentations

Ads by Google