Difference between revisions of "Basic Android"

esse quam videri
Jump to: navigation, search
(Created page with '=Android Basics= *App Inventor :Pretty basic web interface an blocks editor to build simple android apps http://appinventor.googlelabs.com/about/ **Setup App Inventor http://app…')
 
(Basics)
(45 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
[[Category:Tech]]
 +
[[Category:Tutorial]]
 +
[[Category:Video Tutorial]]
 +
 
=Android Basics=
 
=Android Basics=
*App Inventor
+
 
:Pretty basic web interface an blocks editor to build simple android apps  
+
 
http://appinventor.googlelabs.com/about/
+
*Install 32 or 64  bit Java JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
**Setup App Inventor http://appinventor.googlelabs.com/learn/setup/
+
 
 +
*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
 
*Android SDK
 +
**http://developer.android.com/sdk/index.html
 +
**Download Android Studio
 +
**For SDK path we will use c:\user\Android
 +
 
*Android NDK
 
*Android NDK
 +
**we're not covering this http://developer.android.com/sdk/ndk/index.html
 +
 +
==Basics==
 +
 +
For the demo please login to https://storefront.iam.local/Citrix/IAMVDIWeb
 +
 +
 +
*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
 +
 +
http://developer.android.com/images/activity_lifecycle.png
 +
 +
==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
 +
 +
<syntaxhighlight lang="java">/** 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);
 +
    }
 +
</syntaxhighlight>
 +
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
 +
 +
handle a click event
 +
<syntaxhighlight lang="java">
 +
btn.setOnClickListener(new View.OnClickListener() {
 +
 +
@Override
 +
public void onClick(View v) {
 +
// TODO Auto-generated method stub
 +
tv.setText(d.About());
 +
}
 +
});</syntaxhighlight>
 +
 +
==Events==
 +
 +
Lots more good reading http://developer.android.com/guide/topics/fundamentals.html
 +
 +
 +
==AVD==
 +
 +
==Dog Class in java==
 +
<syntaxhighlight lang="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);
 +
}
 +
 +
 +
}
 +
</syntaxhighlight>
 +
 +
=In Class Demo=
 +
*Get and install Android Studio this demo uses .086 https://developer.android.com/sdk/installing/studio.html
 +
*Start Android Studio
 +
*Select Configure
 +
[[File:AndroidStudioConfigure.png]]
 +
*Select Android SDK Manager
 +
[[File:AndroidStudioSDKManager.png]]
 +
*Make sure you have a current SDK for this Demo we will use 23.05
 +
[[File:AndroidSDKManagerCurrentVersion.PNG|Alt]]
 +
*Go back to the main menu and select New Project
 +
[[File:AndroidStudioNewProject.PNG|Alt]]
 +
*Name the Project OOPDog and select Next
 +
[[File:AnroidStudioConfigureNewProject.PNG|Alt]]
 +
*Select a Minimum SDK for this demo we will use API15 : IceCreamSandwich
 +
[[File:AnroidStudioConfigureNewProjectSDK.PNG|Alt]]
 +
*Select Blank Activity for the Project template
 +
[[File:AndroidStudioBlankActivity.PNG|Alt]]
 +
*The defaults are fine for the activity name select next
 +
[[File:AnroidStudioNewProjectAcvtivity.PNG|Alt]]
 +
 +
*After a minute or so you can open the Project window if it isn't already open Att-1 or View/Tool Windows/Project
 +
[[File:AndroidStudioShowOpenMyActivity.png|Alt]]
 +
*Add Dog class
 +
[[File:AndroidStudioNewClass.png|Alt]]
 +
*Name the class Dog
 +
[[File:AndroidStudioNewClassName.PNG|Alt]]
 +
 +
*Here is the c# dog class we have been using we need to change it a bit
 +
[[Android Studio CSharpDog Code]]
 +
 +
[[File:AndroidStudioCSharpDog.PNG|Alt]]
 +
 +
*In Java [[Android Studio JavaDog]]
 +
[[File:AndroidStudioJavaDog.PNG|Alt]]

Revision as of 19:32, 5 April 2016


Android Basics

Basics

For the demo please login to https://storefront.iam.local/Citrix/IAMVDIWeb


  • 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

activity_lifecycle.png

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

AndroidStudioConfigure.png

  • Select Android SDK Manager

AndroidStudioSDKManager.png

  • Make sure you have a current SDK for this Demo we will use 23.05

Alt

  • Go back to the main menu and select New Project

Alt

  • Name the Project OOPDog and select Next

Alt

  • Select a Minimum SDK for this demo we will use API15 : IceCreamSandwich

Alt

  • Select Blank Activity for the Project template

Alt

  • The defaults are fine for the activity name select next

Alt

  • After a minute or so you can open the Project window if it isn't already open Att-1 or View/Tool Windows/Project

Alt

  • Add Dog class

Alt

  • Name the class Dog

Alt

  • Here is the c# dog class we have been using we need to change it a bit

Android Studio CSharpDog Code

Alt

Alt