Difference between revisions of "Basic Android"
(→Basics) |
(→Activities) |
||
Line 44: | Line 44: | ||
Get an instance of an object from the R class | Get an instance of an object from the R class | ||
− | <java>/** Called when the activity is first created. */ | + | <syntaxhighlight lang="java">/** Called when the activity is first created. */ |
@Override | @Override | ||
public void onCreate(Bundle savedInstanceState) { | public void onCreate(Bundle savedInstanceState) { | ||
Line 56: | Line 56: | ||
tv.setText(s); | tv.setText(s); | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
notice the cast to the type also notice that the TextView is marked as [http://en.wikipedia.org/wiki/Final_%28Java%29 final] | notice the cast to the type also notice that the TextView is marked as [http://en.wikipedia.org/wiki/Final_%28Java%29 final] | ||
this is so that we can use it in an inner method | this is so that we can use it in an inner method | ||
handle a click event | handle a click event | ||
− | <java> | + | <syntaxhighlight lang="java"> |
btn.setOnClickListener(new View.OnClickListener() { | btn.setOnClickListener(new View.OnClickListener() { | ||
Line 69: | Line 69: | ||
tv.setText(d.About()); | tv.setText(d.About()); | ||
} | } | ||
− | });</ | + | });</syntaxhighlight> |
==Events== | ==Events== |
Revision as of 16:14, 4 April 2016
Contents
Android Basics
- Install 32 or 64 bit Java JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
- App Inventor Pretty basic web interface an blocks editor to build simple android apps http://appinventor.mit.edu/about/
- Setup App Inventor http://appinventor.mit.edu/
- Android SDK
- http://developer.android.com/sdk/index.html
- Download Android Studio
- For SDK path we will use c:\user\Android
- Android NDK
- we're not covering this http://developer.android.com/sdk/ndk/index.html
Basics
- src folder containing all the source
- res folder containing all the resources
folder hierarchy explained http://developer.android.com/tools/projects/index.html
First app demo http://developer.android.com/training/basics/firstapp/running-app.html
App lifecycle http://developer.android.com/guide/components/activities.html
Resources
No DPI or PPI Andoid uses dp density independent pixels or sp scale interdependent pixels http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
also see supporting multiple screens http://developer.android.com/guide/practices/screens_support.html
Activities
Activity life cycle http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle
Get an instance of an object from the R class
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Get the Button and the TextView from the Resource class
Button btn = (Button)this.findViewById(R.id.button1);
final TextView tv = (TextView)this.findViewById(R.id.textView1);
String s = "hello";
tv.setText(s);
}
notice the cast to the type also notice that the TextView is marked as final this is so that we can use it in an inner method
handle a click event
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
tv.setText(d.About());
}
});
Events
Lots more good reading http://developer.android.com/guide/topics/fundamentals.html
AVD
Dog Class in java
public class Dog { public String Name; public int Weight; public String BarkSound; //Constructor public Dog() { this.Name = "fido"; this.Weight = 1; this.BarkSound = "woof"; } public void Eat() { this.Weight++; } public void Poop() { this.Weight--; } public String About() { return String.format("Hello my name is %s. I weigh %s lbs", this.Name, this.Weight); } }
In Class Demo
- Get and install Android Studio this demo uses .086 https://developer.android.com/sdk/installing/studio.html
- Start Android Studio
- Select ConfigureTemplate:AndroidStudioConfigure.png
- Select Android SDK ManagerTemplate:AndroidStudioSDKManager.png
- Make sure you have a current SDK for this Demo we will use 23.05 Template:AndroidSDKManagerCurrentVersion.PNG
- Go back to the main menu and select New ProjectTemplate:AndroidStudioNewProject.PNG
- Name the Project OOPDog and select NextTemplate:AnroidStudioConfigureNewProject.PNG
- Select a Minimum SDK for this demo we will use ASI15 : IceCreamSandwichTemplate:AnroidStudioConfigureNewProjectSDK.PNG
- Select Blank Activity for the Project templateTemplate:AndroidStudioBlankActivity.PNG
- The defaults are fine for the activity name select nextTemplate:AnroidStudioNewProjectAcvtivity.PNG
- After a minute or so you can open the Project window if it isn't already open Att-1 or View/Tool Windows/Project Template:AndroidStudioShowOpenMyActivity.png
- Add Dog class Template:AndroidStudioNewClass.png
- Name the class Dog Template:AndroidStudioNewClassName.PNG
- Here is the c# dog class we have been using we need to change it a bit Android Studio CSharpDog Code
Template:AndroidStudioCSharpDog.PNG
- In Java Android Studio JavaDog