college/Summer-2024/CS-3443/Slides/txt/24_Android App Development - Leaderboard App.txt

180 lines
3.4 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Application
Programming
Hend Alkittawi
Leaderboard App
An App to Demo File IO, Exception
Handling, Scroll Views and Dynamic
Image Loading
ANDROID APP DEVELOPMENT
-
Roadmap
-
Gather requirements
-
Design views
-
-
Design model classes
-
-
(layout xml files - setup views ids)
(classes to represent app data)
Design controller
-
(classes to connect the views and model classes with methods
to handle user interactions and to manage the data flow and
update views)
-
Create your data files
ANDROID APP DEVELOPMENT
-
At this point we have most of the tools needed to create an
application.
-
To create an application, start by gathering requirements based on
which tasks and subtasks can be identified.
-
Important questions to ask
-
What is the main purpose of the application?
-
How will the user interact with it?
-
What technology will we use?
WRITING DATA TO A FILE
-
The Assets folder is read-only, we cannot write data to the files
in the Assets folder.
-
What if we need to modify data within a file located in the Assets
folder or create a file for both reading and writing data?
-
A work around this is to create a copy of the file from the Assets
to the AVD memory, then use the “copy file” for reading and writing
data.
-
To write data to a file, create a file in the AVD memory.
-
Once created, the file can be located in the AVD memory by
navigating to View > Tool Windows > Device Explorer then data >
user > 0 > edu.utsa.cs3443.projectName > files
SCROLL VIEWS
-
A ScrollView is a view group that allows the view hierarchy
placed within it to be scrolled.
-
A ScrollView may have only one direct child placed within it.
-
To add multiple views within the ScrollView, make the direct
child you add a view group, for example LinearLayout, and
place additional views within that LinearLayout.
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</ScrollView>
IMAGE VIEWS
-
An ImageView can display an image from the drawable folder
-
statically (hard-code)
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/rowdylogo"/>
-
dynamically (xml and controller class)
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/dynamic_image" />
public void displayImage(String filename){
ImageView dynamicImage = (ImageView) findViewById(R.id.dynamic_image);
int imageResource = getResources().getIdentifier(filename, "drawable", getPackageName());
dynamicImage.setImageResource(imageResource);
}
DYNAMIC LOADING OF VIEWS
-
MainActivity can dynamically place buttons in its layout
(screen)
private void dynamicSetupButton(String player){
// create a layout object
LinearLayout rootLayout = (LinearLayout) findViewById(R.id.root_layout);
Button myButton = new Button(this);
myButton.setText(player);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) { Log.i(TAG, "Clicked on " + myButton.getText()); }
});
// setup the attributes for the button
LinearLayout.LayoutParams buttonAttributes
= new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
// add the button to the layout
rootLayout.addView(myButton, buttonAttributes);
}
DO YOU HAVE ANY
QUESTIONS?
THANK
YOU!
@
hend.alkittawi@utsa.edu
By Appointment
Online