sandbox

print((200 * 7)/2)
print("Hello from the ios team")

variable function

var name = "jack"
var introduction = "I'm \(name),"

var nobleGoal = "skill up"
var yourDream = " and I used to dream of building an app that could \(nobleGoal)."

print(introduction + yourDream)

try again

var language = "swift"
var epiphany = " Then, one day, I discovered \(language)."

print(epiphany)

concatenate variable each other

var language = "java"
var nobleGoal = "AR"

var condition = "Then I knew that, programming in \(language). "
var result = "I could make my dream of \(nobleGoal) a realilty."

var end = condition + result
print(end)

style

<TextView
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:layout_marginBottom="16dp"
	android:layout_marginTop="16dp"
	android:text="@string/toppings"
	style="@style/CustomText"
	android:textAllCaps="true" />

Themes of App
https://material.io/guidelines/style/color.html

-color primary
-color primary dark
-color account

email intent android

commont intent
https://developer.android.com/guide/components/intents-common.html

public void addEvent(String title, String location, Calendar begin, Calendar end) {
    Intent intent = new Intent(Intent.ACTION_INSERT)
            .setData(Events.CONTENT_URI)
            .putExtra(Events.TITLE, title)
            .putExtra(Events.EVENT_LOCATION, location)
            .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, begin)
            .putExtra(CalendarContract.EXTRA_EVENT_END_TIME, end);
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }
}
public void composeEmail(String[] addresses, String subject) {
    Intent intent = new Intent(Intent.ACTION_SENDTO);
    intent.setData(Uri.parse("mailto:")); // only email apps should handle this
    intent.putExtra(Intent.EXTRA_EMAIL, addresses);
    intent.putExtra(Intent.EXTRA_SUBJECT, subject);
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }
}

support localization
https://developer.android.com/guide/topics/resources/localization.html

What’s inside an Intent?

Action, data uri, category, component, extras

Example mas intent
ACTION_VIEW
geo:47.6, -122.3

Example dial intent
ACTION_DIAL
tel:2125551212

Common intent guide
https://developer.android.com/guide/components/intents-common.html?utm_source=udacity&utm_medium=course&utm_campaign=android_basics

static final int REQUEST_IMAGE_CAPTURE = 1;
static final Uri mLocationForPhotos;

public void capturePhoto(String targetFilename) {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT,
            Uri.withAppendedPath(mLocationForPhotos, targetFilename));
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
        Bitmap thumbnail = data.getParcelable("data");
        // Do other work with full size photo saved in mLocationForPhotos
        ...
    }
}
 public void submitOrder(View view){

 	Intent intent = new Intent(Intent.ACTION_VIEW);
 	intent.setData(Uri.parse("geo:47.6, 122.3"));
 	if (intent.resolveActivity(getPackageManager()) != null){
 		startActivity(intent);
 	}
 }

check box

	public void decrement(View view){
		quantity = quantity - 1;
		displayQuantity(quantity);
	}

	public void submitOrder(View view){
		CheckBox = whippedCreamCheckBox = (CheckBox) findViewById(R.id.whipped_cream_checkbox);
		boolean hasWhippedCream = whippedCreamCheckBox.isChecked();
		Log.v("MainActivity", "Has whipped cream; " + hasWhippedCream);

		int price = calculatePrice();
		String priceMessage = createOrderSummary(price, hasWhippedCream);
		displayMessage(priceMEssage);
	}

	private int calculatePrice(){ return quantity * 5; }

	private String createOrderSummary(int price, boolean addWhippedCream){
		String priceMessage = "Name: Lyla the Labyrinth";
		priceMessage += "\nQuantity: " + quantity;
		priceMessage += "\nTotal: $" + price;
		priceMessage += "\nThank you!";
		return priceMessage;
	}

java data types

java data types
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

boolean: true and false

	public void decrement(View view){
		quantity = quantity - 1;
		displayQuantity(quantity);
	}

	public void submitOrder(View view){
		int price = calculatePrice();
		log.v("MainActivity", "The price is " + price);

		String priceMessage = createOrderSummary(price);
		displayMessage(priceMessage);
	}
	public void decrement(View view){
		quantity = quantity - 1;
		displayQuantity(quantity);
	}

	public void submitOrder(View view){
		CheckBox = whippedCreamCheckBox = (CheckBox) findViewById(R.id.whipped_cream_checkbox);

		int price = calculatePrice();
		String priceMessage = createOrderSummary(price);
		displayMessage(priceMEssage);
	}

checkbox

 public class MyActivity extends Activity {
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);

         setContentView(R.layout.content_layout_id);

         final CheckBox checkBox = (CheckBox) findViewById(R.id.checkbox_id);
         if (checkBox.isChecked()) {
             checkBox.setChecked(false);
         }
     }
 }

Add or remove parameter

	public void submitOrder(View view){
		int price = quantity * 5;
		String priceMessage = "Total: $" + price;
		priceMessage = priceMessage + "\nThank you!";
		displayMessage(priceMessage);

		calculatePrice(quantity, 10);
	}

	private void calculatePrice(int quantity, int pricePerCup){
		int price = quantity * pricePerCup;
	}

java keywords
abstract continue for new switch
assert*** default goto* package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum**** instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp** volatile
const* float native super while

common android views
https://s3-us-west-1.amazonaws.com/udacity-content/PDFs/Common+Android+Views+Cheat+Sheet+(1).pdf

unread emails

int unreadEmails = “10”; -> quotes should be string.
int unreadEmails = 10; -> should be camel case
intunreadEmails = 10; -> needed space and this one is definitely problem

integer number; computer recognize int
int int; variable name cannot be a java keyword
int integer;

String currentlyPlaying = “Pinocchio – Penguin Prison”;
string currentlyPlaying = “Fantasy – Alina Baraz & Galimatias”;
String currentlyPlaying = “Call Me Up – Chromeo”

String-name = “Katherine”
String “name” = “Kunal”;
String name on profile = “Lyla”;

int weekday = 5;
int weekend = 9;
int optimalHours = 7*8;
int actualHours = weekday;
actualHours = actualHours + weekend*2;
int solution = optimalHours – actualHours;
display(solution)
solution:-33

public class MainActivity extends AppCompactActivity{
	
	public void voteDacicola(View view){
		int dacicolaVotes = 0;
		dacicolaVotes = dacicolaVotes + 1;
	}
	public void votePepcity(View view){
		int pepcityVote;
		pepcityVotes = pepcityVotes + 1;
	}
	public void showMeVotes(View view){
		display(dacicolaVotes + "vs. " + pepcityVotes);
	}
}