diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..d51122f
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+AndroidFundamentalsMai2021
\ No newline at end of file
diff --git a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/MainActivity.java b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/MainActivity.java
index ab7184b..7c6f37e 100644
--- a/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/MainActivity.java
+++ b/app/src/main/java/com/magdamiu/androidfundamentalsmai2021/MainActivity.java
@@ -3,7 +3,9 @@
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
+import android.text.TextUtils;
import android.util.Log;
+import android.util.Patterns;
import android.view.View;
import android.webkit.WebView;
import android.widget.AdapterView;
@@ -21,6 +23,8 @@ public class MainActivity extends AppCompatActivity {
private static final String ANDROID_URL = "https://developer.android.com/";
private EditText editTextName;
+ private EditText editTextEmail;
+ private EditText editTextPhone;
private Button buttonDisplayGreetings;
private TextView textViewGreetings;
@@ -33,20 +37,22 @@ public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- /*setContentView(R.layout.activity_main);*/
- /*setContentView(R.layout.sample);*/
- // setContentView(R.layout.scrollview_sample);
- // setContentView(R.layout.webview_sample);
+ /* setContentView(R.layout.activity_main);
+ setContentView(R.layout.sample);
+ setContentView(R.layout.code_challenge_c2);
+ setContentView(R.layout.scrollview_sample);
+ setContentView(R.layout.webview_sample);
setContentView(R.layout.spinner_sample);
+ setContentView(R.layout.code_challenge2_c3); */
+ setContentView(R.layout.code_challenge1_c3);
- setAndroidVersions();
+ /* setAndroidVersions();
initialiseSpinnerAdapter();
setSpinnerAdapter();
- handlingSpinnerListener();
+ handlingSpinnerListener(); */
- //loadUrl();
-
- // initViews();
+ // loadUrl();
+ initViews();
displayLogs();
}
@@ -60,6 +66,7 @@ private void setAndroidVersions() {
androidVersions.add("kitkat");
}
+
// step 2: initialise adapter for our spinner
// ArrayAdapter is a default adapter
private void initialiseSpinnerAdapter() {
@@ -89,6 +96,7 @@ public void onNothingSelected(AdapterView> adapterView) {
});
}
+
// webview load url
private void loadUrl() {
webView = findViewById(R.id.webViewSample);
@@ -96,11 +104,14 @@ private void loadUrl() {
webView.loadUrl(ANDROID_URL);
}
+
// init views for implementing a first simple form
private void initViews() {
editTextName = findViewById(R.id.editTextName);
buttonDisplayGreetings = findViewById(R.id.buttonDisplayGreetings);
textViewGreetings = findViewById(R.id.textViewGreetings);
+ editTextEmail = findViewById(R.id.editTextEmail);
+ editTextPhone = findViewById(R.id.editTextPhone);
}
private void displayLogs() {
@@ -128,4 +139,28 @@ public void displayGreetingsOnClick(View view) {
Toast.makeText(MainActivity.this, getString(R.string.error_insert_name), Toast.LENGTH_LONG).show();
}
}
+
+ // Course 3: Code Challenge 1
+ public static boolean isValidEmail(CharSequence target) {
+ return (!TextUtils.isEmpty(target) && Patterns.EMAIL_ADDRESS.matcher(target).matches());
+ }
+
+ public static boolean isValidPhone(CharSequence phone) {
+ return (!TextUtils.isEmpty(phone) && Patterns.PHONE.matcher(phone).matches());
+ }
+
+ public void displaySubmitOnClick(View view) {
+ String inputName = editTextEmail.getText().toString();
+ if (!isValidEmail(inputName)) {
+ editTextEmail.setError(getString(R.string.error_insert_email));
+ Toast.makeText(MainActivity.this, getString(R.string.error_insert_email),
+ Toast.LENGTH_LONG).show();
+ }
+ inputName = editTextPhone.getText().toString();
+ if (!isValidPhone(inputName)) {
+ editTextPhone.setError(getString(R.string.error_insert_phone));
+ Toast.makeText(MainActivity.this, getString(R.string.error_insert_phone),
+ Toast.LENGTH_LONG).show();
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/paint.png b/app/src/main/res/drawable/paint.png
new file mode 100644
index 0000000..a6a6092
Binary files /dev/null and b/app/src/main/res/drawable/paint.png differ
diff --git a/app/src/main/res/layout/code_challenge1_c3.xml b/app/src/main/res/layout/code_challenge1_c3.xml
new file mode 100644
index 0000000..5d1cdab
--- /dev/null
+++ b/app/src/main/res/layout/code_challenge1_c3.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/code_challenge2_c3.xml b/app/src/main/res/layout/code_challenge2_c3.xml
new file mode 100644
index 0000000..042d336
--- /dev/null
+++ b/app/src/main/res/layout/code_challenge2_c3.xml
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/code_challenge_c2.xml b/app/src/main/res/layout/code_challenge_c2.xml
new file mode 100644
index 0000000..4463d56
--- /dev/null
+++ b/app/src/main/res/layout/code_challenge_c2.xml
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index d8ce349..1c3127d 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -8,4 +8,12 @@
#FF000000
#FFFFFFFF
#ff3412
+ #FC987E
+ #CDEDD7
+ #7BCCC6
+ #A2C89C
+ #FBC962
+ #FC4481
+ #9B2FAE
+ #7CCBC5
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index e8b2c28..7e0a65a 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -2,6 +2,25 @@
23sp
16dp
+ 5dp
+ 150dp
+ 17dp
+ 120dp
+ 0dp
+ 50dp
+ 10dp
+ 20sp
+ 16sp
+ 2dp
+ 15dp
+ 20dp
+ 128dp
+ 64dp
+ 8dp
+ 16dp
+ 24dp
+ 32dp
+ 32sp
128dp
64dp
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0f8b9c3..df1a6be 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -12,6 +12,26 @@
Please add your name here
Greetings :)
Please insert a name
+ Fill the input with a valid email address
+ Fill the input with a valid phone number
+ This is an orange TextView
+ This is a green TextView
+ This is a blue TextView
+ this is a button
+ This is an EditText
+ This is a new EditText
+ Notify me :)
+ Auto backup
+ This is a green button
+ edit this...
+ paint image
+ text on the left
+ ScrollView: A view group that allows the view hierarchy placed within it to be scrolled. Scroll view may have only one direct child placed within it. To add multiple views within the scroll view, make the direct child you add a view group, for example LinearLayout, and place additional views within that LinearLayout.
+ LOGIN
+ Email
+ Phone
+
+ SUBMIT
TextView 3
TextView 2
TextView 1