Skip to content

Instantly share code, notes, and snippets.

@udacityandroid
Created June 15, 2015 18:23
Show Gist options
  • Save udacityandroid/47592c621d32450d7dbc to your computer and use it in GitHub Desktop.
Save udacityandroid/47592c621d32450d7dbc to your computer and use it in GitHub Desktop.
Android for Beginners : Simplified TextView class
/**
* Displays text to the user.
*/
public class TextView extends View {
// String value
private String mText;
// Text color of the text
private int mTextColor;
// Context of the app
private Context mContext;
/**
* Constructs a new TextView with initial values for text and text color.
*/
public TextView(Context context) {
mText = "";
mTextColor = 0;
mContext = context;
}
/**
* Sets the string value in the TextView.
*
* @param text is the updated string to be displayed.
*/
public void setText(String text) {
mText = text;
}
/**
* Sets the text color of the TextView.
*
* @param color of text to be displayed.
*/
public void setTextColor(int color) {
mTextColor = color;
}
/**
* Gets the string value in the TextView.
*
* @return current text in the TextView.
*/
public String getText() {
return mText;
}
/**
* Gets the text color of the TextView.
*
* @return current text color.
*/
public int getTextColor() {
return mTextColor;
}
}
@moiyd
Copy link

moiyd commented Sep 29, 2018

interesting

@AAQ-AND-DEV
Copy link

AAQ-AND-DEV commented Jan 25, 2019

@RanaOsama25 context is essentially the key that grants access to information about your app. It is often passed to newly created objects, to let it know the current state of the app. Also, it is used to access the application-level info, via getApplicationContext(), getBaseContext(), getContext(), and using the keyword 'this'.

The particular file from which you are calling will determine which method can be used to get the context. For example, in the MainActivity.java, we can use getApplicationContext() or getBaseContext() (I believe each will provide the same application-level context, from within MainActivity.)
From other classes, to which a context has been passed, we can use that context to access the application context, via context.getApplicationContext()

the keyword 'this' can be a little tricky to understand. Generally, it refers to the Class in which it is called. So if you call this in the following snippet (you'll want to create a new class and copy and paste, to add the appropriate package name for your testApp.) You'll notice an ERROR for the first line of code within testMethod() following code, because this refers to the testClass class, not a Context (unless that class extends Context).

`import android.content.Context;

public class TestClass {
public void testMethod(Context context){
//will throw compile time error because here 'this' refers to the class TestClass
Context cont = this;
//'this' refers to containing class
TestClass test = this;
//way to get Context from the context passed into method from the calling code
Context context = context.getApplicationContext();
}
}`
By passing in a Context to this method, you can access the ApplicationContext. 'this' will refer to the containing Class. MainActivity is a special Class for Android framework, as one can see in the documentation, (for a number of reasons) but also because it extends Context (via a ContextWrapper), which means calling 'this' will implicitly give you a context.

From the android dev docs:
"It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc."

Here's a good stackOverflow answer: https://stackoverflow.com/questions/3572463/what-is-context-on-android

It's important to know that the keyword 'this' will perform differently in different contexts, as well as possibly vary between languages.

Hope this wasn't confusing. There's much to be learned about Context, but it will make more sense the more you practice.
-AAQ-AND-DEV (aaron Q.)

@aksamitsah
Copy link

Private and Protected?

private only accessable within the class
but , protected will accessable related derived class.

@arsalanfakhar
Copy link

Was here in 2019

@djalilo24
Copy link

nICE

@Alaaba98
Copy link

Alaaba98 commented Apr 2, 2019

What is difference between Private and Protected?

Private get only used in his class , but protected can used in his class and in the same package and derived class

@djalilo24
Copy link

niceeee

@1998tapan
Copy link

I still have error, help please ?!
13

late, but you are missing one closing bracket "}"

@hamzagamal
Copy link

good

@mansourhas
Copy link

2019
this course still relevant!!!

@adyapy
Copy link

adyapy commented Dec 29, 2019

2019
this course still relevant!!!

Yes, very much! If a syntax is deprecated or changed in newer versions of android, android studio will help you with that. But those are very rare in this course. So don't worry, it is still very relevant :)

@collinsnkem
Copy link

This is 2020...

This course might be outdated but it's still very relevant...
I was Here...

@faroukelhamdi
Copy link

faroukelhamdi commented May 9, 2020

Was here! 💯

@SDIDSA
Copy link

SDIDSA commented May 18, 2020

the course is still very relevant imo, it's very professional

@Khusinov
Copy link

It is brilliant))

@mohmed899
Copy link

what dose " @param" mean?

@humandroid01
Copy link

Hello everyone!
Was here 17/07/2020.

@Asadbek-IP
Copy link

perfect

@enockkays
Copy link

@bnil53 # https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
this is Controlling Access to Members of a Class

This link to the java documentation is very helpful, thanks for sharing.

@shiv-am2608
Copy link

super(context);

Thanks!!

@hap2y1122
Copy link

What is difference between Private and Protected?

Private is something like variables or methods you can only access inside the class
Protected is accessible only with the help of child class.

@Mina-kameel
Copy link

Hi All
Why We Create Custom Class (Word)

@hap2y1122
Copy link

Hi All
Why We Create Custom Class (Word)

So we can create our own customized view and use it whereever needed.

@Mina-kameel
Copy link

Hi All
Why We Create Custom Class (Word)

So we can create our own customized view and use it whereever needed.

Thanks
Can we create a Custom Class without Definition of Constructor?

@hap2y1122
Copy link

Hi All
Why We Create Custom Class (Word)

So we can create our own customized view and use it whereever needed.

Thanks
Can we create a Custom Class without Definition of Constructor?

No constructor is needed to define its basic property.

@its-ud
Copy link

its-ud commented Jun 21, 2021

thanks for the documentation

@ytsaxena
Copy link

ytsaxena commented Sep 1, 2021

Where i have to write this i am not getting any idea

@Ritik101
Copy link

Ritik101 commented Sep 8, 2021

Where i have to write this i am not getting any idea

Right click on com.firstapp.miwok and create a java class
Screenshot (6)

@Username977
Copy link

interesting

@Anvarbest89
Copy link

was here 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment