App代写 | KIT305 KIT607 Mobile Application Development

这个作业是分别完成安卓跟ios应用的app代写

KIT305 KIT607 Mobile Application Development

SECTION A – ANDROID APPLICATION DEVELOPMENT
Attempt ALL questions from Section A. There are FIVE (5) questions in this section. This section is worth 40 marks, or 33.3% of the examination.
Question 1 (Addresses ILO 2)
Android GUIs are constructed using XML layout resources. Figure 1 shows an image of such an XML layout resource file called activity_character_select.xml.
Figure 1: activity_character_select.xml file.
a. Provide the XML code required for activity_character_select.xml to display the GUI shown in Figure 1. For this task, you only need to declare the XML elements (e.g. Views and ViewGroups) and not any attribute-value pairs (e.g.android:orientation=”vertical”).[10 marks]
b. Explain the purpose of the following lines of code, and describe what would happen if you included this code in an onCreate() function in an Activity and ran it.
super.onCreate(savedInstanceState);
Button btnStartGame = findViewById(R.id.start);
btnStartGame.setText(“Select A Character First”);
btnStartGame.setEnabled(false);
setContentView(R.layout.activity_character_select);[3 marks]
3 KIT305 KIT607 Mobile Application Development Continued…
c. When using a ConstraintLayout, what happens to a View at run-time if you don’t define a vertical constraint on it?[3 marks]
d. List TWO (2) purposes of the strings.xml resource file.[2 marks]
Question 2 (Addresses ILO 2)
a. Describe TWO (2) differences between internal and external storage.[4 marks]
b. Describe TWO (2) advantages and ONE (1) disadvantage of using SharedPreferences on Android.[4 marks]
Question 3 (Addresses ILO 2)
a. In this unit, we have seen multiple uses of key-value pairs in Android.Describe TWO (2) of these uses.[2 marks]
b. Why is it considered good practice to use static Strings for keys in Android like in the sample code below? Use an example in your answer.public static String USERNAME_KEY = “USERNAME”; [2 marks]
Question 4 (Addresses ILO 2)
Intents allow us to open other Activities and send and retrieve data.
a. An intent filter lets us determine which activity to open when our application is launched in different ways. Other than the usual way of launching an application by clicking on its icon on the home screen or app screen, describe TWO (2) other ways an application might be launched on Android.[2 marks]
b. In the code snippet below, explain the purpose of the requestCode,resultCode, and data parameters in the onActivityResult callback.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{

}
[4 marks]
Question 5 (Addresses ILO 2)
Describe TWO (2) differences between local notifications and push notifications.
[4 marks]
4 KIT305 KIT607 Mobile Application Development Continued…
SECTION B – iOS APPLICATION DEVELOPMENT
Attempt ALL questions from Section B. There are FIVE (5) questions in this section. This section is worth 40 marks, or 33.3% of the examination.
Question 6 (Addresses ILO 2)
Consider the iOS Swift application in Figure 6.
Figure 6: An iOS application for a Tic-Tac-Toe game.
(i) (ii)
a. Describe the purpose of IBOutlets and IBActions. List TWO (2) instances where IBOutlets would be used in the application above. List ONE (1) instance where an IBAction would be used in the application above.[4 marks]
b. Explain the difference between a Storyboard and a .XIB file.[2 marks]
5 KIT305 KIT607 Mobile Application Development Continued…
c. The application in Figure 6 has a button for saving the user’s nickname. Complete the code below, so that it saves the user’s nickname (passed in to the function as a parameter) to the standard UserDefaults object,immediately reads the nickname back, and finally prints the name out to the console.
func save(nickname nameStr : String)
{
// get a handle to the defaults system:
let defaults = UserDefaults.standard

// writing defaults:

// reading defaults:

// print to console:
}

[6 marks]
d. Explain the purpose of a Navigation Controller. How would you change the text of the back button on screen (ii) in Figure 6?[2 marks]
Question 7 (Addresses ILO 2)
a. What are segues in iOS?[2 marks]
b. Consider the following Swift code snippet from a subclass of UIViewController.
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
{
if segue.identifier == “OpenSettingsScreen”
{
// do stuff
}
}
What is the purpose of the identifier in the code above and how would you specify an identifier for a segue in the Interface Builder?[4 marks]
6 KIT305 KIT607 Mobile Application Development Continued…
Question 8 (Addresses ILO 2)Swift is the standard programming language for developing iOS applications.
a. What would be the console output of the follow Swift program?
var things = [String : String]()
things[“Yellow”] = “Pineapple”
things[“Blue”] = “Blueberry”
things.updateValue(“Pen”, forKey: “Blue”)
var song = “I have a ”
for i in 0…2
{
song.append(“\(things[“Yellow”]!), “)
}
song.append(“I have a “)
for i in 0..<2 { song.append(“\(things[“Blue”]!), “) } song.append(“\(things[“Yellow”]!) \(things[“Blue”]!)!”) var str = “”” I love to sing, watch: “\(song)” Hope you enjoyed my song! “”” print(str) [4 marks] b. What is an Optional type? Provide a code example that illustrates how you would use the ! operator as part of your answer. [4 marks] c. Consider the following Swift function declaration. Give an example of how you would call this function in your code. func rateTeacher(_ name:String, score rating:Int) [2 marks] 7 KIT305 KIT607 Mobile Application Development Continued… Question 9 (Addresses ILO 2) Sketch the output of the following Swift code: //Create 3 rectangular structures: let r1 = CGRect(x:50.0, y:50.0, width:100.0, height:100.0); let r2 = CGRect(x:0, y:0, width:50.0, height:50.0); let r3 = CGRect(x:50, y:0, width:50.0, height:50.0); //Instantiate the 3 views: let v1 = UIView() let v2 = UIView() let v3 = UIView() //Set the view frames to the rectangles: v1.frame = r1; v2.frame = r2; v3.frame = r3; //Set the background colours: v1.backgroundColor = .red v2.backgroundColor = .blue v3.backgroundColor = .green //Set a transform: v1.transform = CGAffineTransform(rotationAngle: CGFloat(45 * Double.pi/180.0)) v1.transform = v1.transform.scaledBy(x: 1, y: 2) //Attach the views: view.addSubview(v1) v1.addSubview(v2) v1.addSubview(v3) [6 marks] Question 10 (Addresses ILO 2) Table Views are a way of listing data in iOS applications. a. Table Views can have either dynamic prototypes or static cells. When might you use static cells? [1 mark] b. Describe the purpose of the following override functions in a UITableViewController: (i) func numberOfSections(in tableView:) -> Int

(ii) func tableView(numberOfRowsInSection section: Int) -> Int

(iii) func tableView(cellForRowAt indexPath: IndexPath) -> UITableViewCell [3 marks]
8 KIT305 KIT607 Mobile Application Development Continued…
SECTION C – DESIGN AND USABILITY
Attempt ALL questions from Section C. There are TWO (2) questions in this section. This section is worth 20 marks, or 16.7% of the examination.
Question 11 (Addresses ILOs 3, 4, and 5)
Consider the lo-fi prototype for teachers to mark students during class in Figure 11.
Figure 11: A lo-fi prototype of a tutorial marking application with (i) a class selection screen, (ii) a screen for marking students, (iii) a screen for adding and deleting (iv) new grade items.
9 KIT305 KIT607 Mobile Application Development Continued…
a. Write a well-designed think-aloud task for testing the “Add Grade Item” feature of the prototype in Figure 11.[2 marks]
b. Explain how the test task you created in part (a) is concrete and does not lead the user.[4 marks]
c. Does the prototype in Figure 11 show an example of meeting the usability goal forgiving or does it show an example of being failure-resistant? Justify your answer.[2 marks]
d. Does the prototype in Figure 11 make good use of Don Norman’s Usability Principles of consistency? Justify your answer.[2 marks]
e. Of the six usability goals/key aspects described in the week 2 lectures, which one do you think is the most important for an application such as the one shown in Figure 11? Justify your answer.[2 marks]
Question 12 (Addresses ILOs 3, 4, and 5)
a. List TWO (2) advantages and TWO (2) disadvantages of lo-fi prototypes.[4 marks]
b. Explain the difference between formative and summative think-aloud study designs. Include in your answer the advantages and disadvantages of each approach.[4 marks]
10 KIT305 KIT607 Mobile Application Development Continued…
SECTION D – SHORT ANSWER QUESTIONS TO THE SEMESTER READINGS Attempt ALL questions from Section D. There are TWO (2) questions in this section. This section is worth 10 marks, or 8.3% of the examination.
Question 13 (Addresses ILOs 1 and 5)
Consider the resource you read during semester titled Guerrilla HCI by Jakob Nielsen(1994).
a. According to Nielsen, why do some developers not conduct usability testing?[2 marks]
b. What is the difference between a horizontal and vertical prototype? Give a simple example of what a horizontal and a vertical prototype might contain when designing an application for watching movie trailers/previews.[4 marks]
Question 14 (Addresses ILOs 1 and 5)
Consider the paper you read during semester titled Getting the Right Design and the Design Right: Testing Many is Better Than One. Describe TWO (2) advantages to testing multiple prototypes that the authors identified.[4 marks]
11 KIT305 KIT607 Mobile Application Development
SECTION E – CROSS-PLATFORM DEVELOPMENT
Attempt ALL questions from Section E. There are TWO (2) questions in this section. This section is worth 10 marks, or 8.3% of the examination.
Question 15 (Addresses ILOs 1 and 5)
a. Explain the difference between the web-based cross-platform and mobile-web methods of development.[4 marks]
b. What is responsive design and how does it relate to Tim Berners-Lee’s vision of the one-web?[2 marks]
Question 16 (Addresses ILOs 1 and 5)
c. Why are native applications generally faster than applications developed using Cordova?[2 marks]
d. We can make Cordova applications look like native applications. What is one major problem that can happen when using this approach?[2 marks]