diff --git a/AppFinal/.gitignore b/AppFinal/.gitignore new file mode 100644 index 0000000..a4c7838 --- /dev/null +++ b/AppFinal/.gitignore @@ -0,0 +1,9 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures +.externalNativeBuild diff --git a/AppFinal/.idea/compiler.xml b/AppFinal/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/AppFinal/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AppFinal/.idea/copyright/profiles_settings.xml b/AppFinal/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..c7d1c5a --- /dev/null +++ b/AppFinal/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/AppFinal/.idea/gradle.xml b/AppFinal/.idea/gradle.xml new file mode 100644 index 0000000..fe72da5 --- /dev/null +++ b/AppFinal/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + \ No newline at end of file diff --git a/AppFinal/.idea/misc.xml b/AppFinal/.idea/misc.xml new file mode 100644 index 0000000..5d19981 --- /dev/null +++ b/AppFinal/.idea/misc.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AppFinal/.idea/modules.xml b/AppFinal/.idea/modules.xml new file mode 100644 index 0000000..bbcde78 --- /dev/null +++ b/AppFinal/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/AppFinal/.idea/runConfigurations.xml b/AppFinal/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/AppFinal/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/AppFinal/app/.gitignore b/AppFinal/app/.gitignore new file mode 100644 index 0000000..3543521 --- /dev/null +++ b/AppFinal/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/AppFinal/app/build.gradle b/AppFinal/app/build.gradle new file mode 100644 index 0000000..a83ceb0 --- /dev/null +++ b/AppFinal/app/build.gradle @@ -0,0 +1,29 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 25 + buildToolsVersion "25.0.2" + defaultConfig { + applicationId "com.example.administrator.appfinal" + minSdkVersion 15 + targetSdkVersion 25 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + exclude group: 'com.android.support', module: 'support-annotations' + }) + compile 'com.android.support:appcompat-v7:25.1.0' + testCompile 'junit:junit:4.12' +} diff --git a/AppFinal/app/proguard-rules.pro b/AppFinal/app/proguard-rules.pro new file mode 100644 index 0000000..58437ed --- /dev/null +++ b/AppFinal/app/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in C:\Users\Administrator\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/AppFinal/app/src/androidTest/java/com/example/administrator/appfinal/ExampleInstrumentedTest.java b/AppFinal/app/src/androidTest/java/com/example/administrator/appfinal/ExampleInstrumentedTest.java new file mode 100644 index 0000000..e78bf06 --- /dev/null +++ b/AppFinal/app/src/androidTest/java/com/example/administrator/appfinal/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.example.administrator.appfinal; + +import android.content.Context; +import android.support.test.InstrumentationRegistry; +import android.support.test.runner.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumentation test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getTargetContext(); + + assertEquals("com.example.administrator.appfinal", appContext.getPackageName()); + } +} diff --git a/AppFinal/app/src/main/AndroidManifest.xml b/AppFinal/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..1273521 --- /dev/null +++ b/AppFinal/app/src/main/AndroidManifest.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AppFinal/app/src/main/java/com/example/administrator/appfinal/AddNewPeople.java b/AppFinal/app/src/main/java/com/example/administrator/appfinal/AddNewPeople.java new file mode 100644 index 0000000..75a23bd --- /dev/null +++ b/AppFinal/app/src/main/java/com/example/administrator/appfinal/AddNewPeople.java @@ -0,0 +1,202 @@ +package com.example.administrator.appfinal; + +import android.app.DatePickerDialog; +import android.app.Dialog; +import android.content.Intent; +import android.icu.util.Calendar; +import android.icu.util.TimeUnit; +import android.os.AsyncTask; +import android.os.Build; +import android.support.annotation.RequiresApi; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.Button; +import android.widget.DatePicker; +import android.widget.EditText; +import android.widget.TextView; +import android.widget.Toast; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.net.URLEncoder; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + + +public class AddNewPeople extends AppCompatActivity { + + private String TAG = AddNewPeople.class.getSimpleName(); + EditText nameValue; + Button birthDayButton; + TextView textDate; + int day, month, year; + String today; + Button submit; + @RequiresApi(api = Build.VERSION_CODES.N) + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_add_new_people); + variableInicialization(); + + Calendar c = Calendar.getInstance(); + year = c.get(Calendar.YEAR); + month = c.get(Calendar.MONTH)+1; + day = c.get(Calendar.DAY_OF_MONTH); + today = day+"/"+month+"/"+year; + showDate(year, month, day); + actionsInicialize(); + } + + + + private void variableInicialization(){ + birthDayButton = (Button) findViewById(R.id.buttonBirth); + textDate = (TextView) findViewById(R.id.textDate); + nameValue = (EditText) findViewById(R.id.nomeValue); + submit = (Button) findViewById(R.id.submit); + } + + private void actionsInicialize(){ + birthDayButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showDialog(999); + Toast.makeText(getApplicationContext(), "Type the date", + Toast.LENGTH_SHORT) + .show(); + } + }); + submit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + String nameTxt = nameValue.getText().toString(); + String dtNascTxt = textDate.getText().toString(); + + boolean nameIsNull = nameTxt.equals(null); + boolean nameIsEmpty = nameTxt.equals(""); + + boolean dateIsToday = dtNascTxt.equals(today); + + if(dateIsToday || nameIsEmpty || nameIsNull){ + Toast.makeText(getApplicationContext(), "Please add name and birth date", + Toast.LENGTH_SHORT) + .show(); + }else{ + Map urlParams = new HashMap(); + urlParams.put("name", nameTxt); + urlParams.put("birth", dtNascTxt); + new PostBirth(urlParams).execute(); + + + Intent intent = new Intent(getBaseContext(),MainActivity.class); + startActivity(intent); + } + } + }); + } + + private class PostBirth extends AsyncTask{ + Map urlParams; + public PostBirth(Map urlParams){ + this.urlParams = urlParams; + } + + @Override + protected void onPreExecute(){ + super.onPreExecute(); + Toast.makeText(AddNewPeople.this, "Enviando novo aniversário", Toast.LENGTH_LONG).show(); + } + @Override + protected Void doInBackground(Void... arg){ + HttpHandler ht = new HttpHandler(); + String url = "URL TEXT HERE"; + String jsonStr = ht.makePOSTServiceCall(url, urlParams); + + Log.e(TAG, "Response from url " + jsonStr); + if (jsonStr != null) { + try{ + //jsonStr = "{people: "+jsonStr+"}"; + JSONObject jsonObj = new JSONObject(jsonStr); + JSONArray jPeople = jsonObj.getJSONArray("people"); + + for(int i =0; i< jPeople.length();i++) { + JSONObject o = jPeople.getJSONObject(i); + String nome = o.getString("name"); + String birth = o.getString("birth"); + + + HashMap people = new HashMap<>(); + + people.put("name", nome); + people.put("birth", birth); + + //managePeople.add(new ManagePeople("",nome,birth)); + + } + }catch (final JSONException e){ + Log.e(TAG, "Json Parsing Error 1: " + e.getMessage()); + runOnUiThread(new Runnable() { + @Override + public void run() { + Toast.makeText(getApplicationContext(), + "Json Parsing Error 2 " + e.getMessage(), + Toast.LENGTH_LONG).show(); + } + }); + } + }else { + Log.e(TAG, "Não consegui retorno do JASON."); + runOnUiThread(new Runnable() { + @Override + public void run() { + Toast.makeText(getApplicationContext(), + "Não consegui retorno do JASON. verifique o LogCat.", + Toast.LENGTH_LONG).show(); + } + }); + } + return null; + } + @Override + protected void onPostExecute(Void result) { + super.onPostExecute(result); + /* ManagerPeopleAdapter androidAdapter = new ManagerPeopleAdapter(ListPeople.this, managePeople); + + ListView listView = (ListView) findViewById(R.id.people_List); + + listView.setAdapter(androidAdapter);*/ + } + } + + @Override + protected Dialog onCreateDialog(int id) { + if (id == 999) { + DatePickerDialog datePickerBirth = new DatePickerDialog(this, R.style.AlertDialogDtNasc, + myDateListener, year, month, day); + + return datePickerBirth; + } + return null; + } + + private DatePickerDialog.OnDateSetListener myDateListener = new + DatePickerDialog.OnDateSetListener() { + @Override + public void onDateSet(DatePicker arg0, + int arg1, int arg2, int arg3) { + + showDate(arg1, arg2+1, arg3); + } + }; + + private void showDate(int year, int month, int day) { + textDate.setText(day+"/"+month+"/"+year); + } +} diff --git a/AppFinal/app/src/main/java/com/example/administrator/appfinal/HttpHandler.java b/AppFinal/app/src/main/java/com/example/administrator/appfinal/HttpHandler.java new file mode 100644 index 0000000..dbe8310 --- /dev/null +++ b/AppFinal/app/src/main/java/com/example/administrator/appfinal/HttpHandler.java @@ -0,0 +1,101 @@ +package com.example.administrator.appfinal; +import android.util.Log; + +import java.io.BufferedInputStream; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.ProtocolException; +import java.net.URL; +import java.net.URLEncoder; +import java.util.List; +import java.util.Map; + +/** + * Created by bafs on 25/01/2017. + */ + +public class HttpHandler { + + private static final String LOG_TAG = HttpHandler.class.getSimpleName(); + + public HttpHandler() { + + } + + public String makeGETServiceCall(String reqUrl) { + String response = null; + try{ + URL url = new URL(reqUrl); + HttpURLConnection connect = (HttpURLConnection) url.openConnection(); + connect.setRequestMethod("GET"); + connect.setConnectTimeout(15000); + connect.setReadTimeout(10000); + + InputStream in = new BufferedInputStream(connect.getInputStream()); + response = convertStreamToString(in); + + }catch (MalformedURLException e) { + Log.e(LOG_TAG, "MalformedException " + e.getMessage()); + }catch (ProtocolException e) { + Log.e(LOG_TAG, "Protocol Exception " + e.getMessage()); + }catch (IOException e) { + Log.e(LOG_TAG, "IOException " + e.getMessage()); + }catch (Exception e) { + Log.e(LOG_TAG, "Exception " + e.getMessage()); + } + return response; + } + + public String makePOSTServiceCall(String reqUrl, Map values) { + String response = null; + try{ + URL url = new URL(reqUrl); + HttpURLConnection connect = (HttpURLConnection) url.openConnection(); + connect.setRequestMethod("POST"); + connect.setConnectTimeout(15000); + connect.setReadTimeout(10000); + + for (String value:values.keySet()) { + connect.setRequestProperty(value, values.get(value)); + } + + InputStream in = new BufferedInputStream(connect.getInputStream()); + response = convertStreamToString(in); + + }catch (MalformedURLException e) { + Log.e(LOG_TAG, "MalformedException " + e.getMessage()); + }catch (ProtocolException e) { + Log.e(LOG_TAG, "Protocol Exception " + e.getMessage()); + }catch (IOException e) { + Log.e(LOG_TAG, "IOException " + e.getMessage()); + }catch (Exception e) { + Log.e(LOG_TAG, "Exception " + e.getMessage()); + } + return response; + } + + private String convertStreamToString(InputStream is) { + BufferedReader reader = new BufferedReader(new InputStreamReader(is)); + StringBuilder sBuilder = new StringBuilder(); + + String line; + try{ + while ((line = reader.readLine()) != null){ + sBuilder.append(line).append('\n'); + } + }catch (IOException e) { + e.printStackTrace(); + }finally { + try { + is.close(); + }catch (IOException e) { + e.printStackTrace(); + } + } + return sBuilder.toString(); + } +} diff --git a/AppFinal/app/src/main/java/com/example/administrator/appfinal/ListPeople.java b/AppFinal/app/src/main/java/com/example/administrator/appfinal/ListPeople.java new file mode 100644 index 0000000..229fd46 --- /dev/null +++ b/AppFinal/app/src/main/java/com/example/administrator/appfinal/ListPeople.java @@ -0,0 +1,114 @@ +package com.example.administrator.appfinal; + +import android.os.AsyncTask; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.util.Log; +import android.widget.ListAdapter; +import android.widget.ListView; +import android.widget.SimpleAdapter; +import android.widget.Toast; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.HashMap; + +public class ListPeople extends AppCompatActivity { + + private String TAG = ListPeople.class.getSimpleName(); + private ListView lista; + ArrayList managePeople = new ArrayList(); + ListPeople context = ListPeople.this; + + ArrayList> birthlist; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.list_people); + + birthlist = new ArrayList<>(); + lista = (ListView) findViewById(R.id.list); + new GetBirth().execute(); + } + + private class GetBirth extends AsyncTask{ + @Override + protected void onPreExecute(){ + super.onPreExecute(); + Toast.makeText(ListPeople.this, "JSON fazendo downloading", Toast.LENGTH_LONG).show(); + } + + @Override + protected Void doInBackground(Void... arg){ + HttpHandler ht = new HttpHandler(); + String url = "URL TEXT HERE"; + String jsonStr = ht.makeGETServiceCall(url); + + Log.e(TAG, "Response from url " + jsonStr); + if (jsonStr != null) { + try{ + //jsonStr = "{people: "+jsonStr+"}"; + JSONObject jsonObj = new JSONObject(jsonStr); + JSONArray jPeople = jsonObj.getJSONArray("people"); + + for(int i =0; i< jPeople.length();i++) { + JSONObject o = jPeople.getJSONObject(i); + String nome = o.getString("name"); + String birth = o.getString("birth"); + + + HashMap people = new HashMap<>(); + + people.put("name", nome); + people.put("birth", birth); + + birthlist.add(people); + //managePeople.add(new ManagePeople("",nome,birth)); + + } + }catch (final JSONException e){ + Log.e(TAG, "Json Parsing Error 1: " + e.getMessage()); + runOnUiThread(new Runnable() { + @Override + public void run() { + Toast.makeText(getApplicationContext(), + "Json Parsing Error 2 " + e.getMessage(), + Toast.LENGTH_LONG).show(); + } + }); + } + }else { + Log.e(TAG, "Não consegui retorno do JASON."); + runOnUiThread(new Runnable() { + @Override + public void run() { + Toast.makeText(getApplicationContext(), + "Não consegui retorno do JASON. verifique o LogCat.", + Toast.LENGTH_LONG).show(); + } + }); + } + return null; + } + @Override + protected void onPostExecute(Void result) { + super.onPostExecute(result); + /* ManagerPeopleAdapter androidAdapter = new ManagerPeopleAdapter(ListPeople.this, managePeople); + + ListView listView = (ListView) findViewById(R.id.people_List); + + listView.setAdapter(androidAdapter);*/ + + + ListAdapter adapter = new SimpleAdapter(context, + birthlist, R.layout.list_item, + new String[]{"name", "birth"}, + new int[]{R.id.nome, R.id.aniversario}); + lista.setAdapter(adapter); + } + } +} diff --git a/AppFinal/app/src/main/java/com/example/administrator/appfinal/MainActivity.java b/AppFinal/app/src/main/java/com/example/administrator/appfinal/MainActivity.java new file mode 100644 index 0000000..3e54761 --- /dev/null +++ b/AppFinal/app/src/main/java/com/example/administrator/appfinal/MainActivity.java @@ -0,0 +1,46 @@ +package com.example.administrator.appfinal; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.View; +import android.widget.ImageView; +import android.widget.RelativeLayout; + +public class MainActivity extends AppCompatActivity { + + RelativeLayout newBirthAction; + RelativeLayout listAction; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + startItems(); + + setActions(); + } + + private void startItems(){ + newBirthAction = (RelativeLayout) findViewById(R.id.newBirthAction); + listAction = (RelativeLayout) findViewById(R.id.listAction); + } + + private void setActions(){ + newBirthAction.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(getBaseContext(), AddNewPeople.class); + startActivity(intent); + } + }); + + listAction.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(getBaseContext(), ListPeople.class); + startActivity(intent); + } + }); + } +} diff --git a/AppFinal/app/src/main/java/com/example/administrator/appfinal/ManagePeople.java b/AppFinal/app/src/main/java/com/example/administrator/appfinal/ManagePeople.java new file mode 100644 index 0000000..59df9ed --- /dev/null +++ b/AppFinal/app/src/main/java/com/example/administrator/appfinal/ManagePeople.java @@ -0,0 +1,31 @@ +package com.example.administrator.appfinal; + +import java.util.ArrayList; + +/** + * Created by bafs on 23/01/2017. + */ + +public class ManagePeople { + String vSimage; + String vName; + String vBirth; + + public ManagePeople(String vSimage, String vName, String vBirth) { + this.vSimage = vSimage; + this.vName = vName; + this.vBirth = vBirth; + } + + public String getvSimage() { + return vSimage; + } + + public String getvName() { + return vName; + } + + public String getvBirth() { + return vBirth; + } +} diff --git a/AppFinal/app/src/main/java/com/example/administrator/appfinal/ManagerPeopleAdapter.java b/AppFinal/app/src/main/java/com/example/administrator/appfinal/ManagerPeopleAdapter.java new file mode 100644 index 0000000..3a99c8e --- /dev/null +++ b/AppFinal/app/src/main/java/com/example/administrator/appfinal/ManagerPeopleAdapter.java @@ -0,0 +1,45 @@ +package com.example.administrator.appfinal; + +import android.app.Activity; +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.TextView; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by bafs on 23/01/2017. + */ + +public class ManagerPeopleAdapter extends ArrayAdapter{ + + private static final String LOG_TAG = ManagerPeopleAdapter.class.getSimpleName(); + + public ManagerPeopleAdapter(final Activity context, final List managePeople) { + super(context, 0, managePeople); + } + + @Override + public View getView(final int position, final View convertView, final ViewGroup parent){ + View listView = convertView; + if(listView == null){ + listView = LayoutInflater.from(getContext()).inflate( + R.layout.list_item,parent,false + ); + } + + ManagePeople personActual = getItem(position); + + TextView nomePerson = (TextView) listView.findViewById(R.id.nome); + nomePerson.setText(personActual.getvName()); + + TextView niverPerson = (TextView) listView.findViewById(R.id.aniversario); + niverPerson.setText(personActual.getvBirth()); + + return listView; + } +} diff --git a/AppFinal/app/src/main/res/drawable-hdpi/birthday.png b/AppFinal/app/src/main/res/drawable-hdpi/birthday.png new file mode 100644 index 0000000..383b7b3 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-hdpi/birthday.png differ diff --git a/AppFinal/app/src/main/res/drawable-hdpi/date_button.png b/AppFinal/app/src/main/res/drawable-hdpi/date_button.png new file mode 100644 index 0000000..fbd610d Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-hdpi/date_button.png differ diff --git a/AppFinal/app/src/main/res/drawable-hdpi/delete.png b/AppFinal/app/src/main/res/drawable-hdpi/delete.png new file mode 100644 index 0000000..0a07a7a Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-hdpi/delete.png differ diff --git a/AppFinal/app/src/main/res/drawable-hdpi/edit.png b/AppFinal/app/src/main/res/drawable-hdpi/edit.png new file mode 100644 index 0000000..5e01f36 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-hdpi/edit.png differ diff --git a/AppFinal/app/src/main/res/drawable-hdpi/list.png b/AppFinal/app/src/main/res/drawable-hdpi/list.png new file mode 100644 index 0000000..94d086a Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-hdpi/list.png differ diff --git a/AppFinal/app/src/main/res/drawable-hdpi/new_birth.png b/AppFinal/app/src/main/res/drawable-hdpi/new_birth.png new file mode 100644 index 0000000..1115a08 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-hdpi/new_birth.png differ diff --git a/AppFinal/app/src/main/res/drawable-hdpi/profile.png b/AppFinal/app/src/main/res/drawable-hdpi/profile.png new file mode 100644 index 0000000..e5204dd Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-hdpi/profile.png differ diff --git a/AppFinal/app/src/main/res/drawable-ldpi/birthday.png b/AppFinal/app/src/main/res/drawable-ldpi/birthday.png new file mode 100644 index 0000000..1e744cc Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-ldpi/birthday.png differ diff --git a/AppFinal/app/src/main/res/drawable-ldpi/date_button.png b/AppFinal/app/src/main/res/drawable-ldpi/date_button.png new file mode 100644 index 0000000..29e593a Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-ldpi/date_button.png differ diff --git a/AppFinal/app/src/main/res/drawable-ldpi/delete.png b/AppFinal/app/src/main/res/drawable-ldpi/delete.png new file mode 100644 index 0000000..27dba5d Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-ldpi/delete.png differ diff --git a/AppFinal/app/src/main/res/drawable-ldpi/edit.png b/AppFinal/app/src/main/res/drawable-ldpi/edit.png new file mode 100644 index 0000000..300ca40 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-ldpi/edit.png differ diff --git a/AppFinal/app/src/main/res/drawable-ldpi/list.png b/AppFinal/app/src/main/res/drawable-ldpi/list.png new file mode 100644 index 0000000..1bdc96a Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-ldpi/list.png differ diff --git a/AppFinal/app/src/main/res/drawable-ldpi/new_birth.png b/AppFinal/app/src/main/res/drawable-ldpi/new_birth.png new file mode 100644 index 0000000..92e8adb Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-ldpi/new_birth.png differ diff --git a/AppFinal/app/src/main/res/drawable-ldpi/profile.png b/AppFinal/app/src/main/res/drawable-ldpi/profile.png new file mode 100644 index 0000000..46320c3 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-ldpi/profile.png differ diff --git a/AppFinal/app/src/main/res/drawable-mdpi/birthday.png b/AppFinal/app/src/main/res/drawable-mdpi/birthday.png new file mode 100644 index 0000000..256cbed Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-mdpi/birthday.png differ diff --git a/AppFinal/app/src/main/res/drawable-mdpi/date_button.png b/AppFinal/app/src/main/res/drawable-mdpi/date_button.png new file mode 100644 index 0000000..17f652c Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-mdpi/date_button.png differ diff --git a/AppFinal/app/src/main/res/drawable-mdpi/delete.png b/AppFinal/app/src/main/res/drawable-mdpi/delete.png new file mode 100644 index 0000000..e570aa6 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-mdpi/delete.png differ diff --git a/AppFinal/app/src/main/res/drawable-mdpi/edit.png b/AppFinal/app/src/main/res/drawable-mdpi/edit.png new file mode 100644 index 0000000..2e86834 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-mdpi/edit.png differ diff --git a/AppFinal/app/src/main/res/drawable-mdpi/list.png b/AppFinal/app/src/main/res/drawable-mdpi/list.png new file mode 100644 index 0000000..a4e4ec9 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-mdpi/list.png differ diff --git a/AppFinal/app/src/main/res/drawable-mdpi/new_birth.png b/AppFinal/app/src/main/res/drawable-mdpi/new_birth.png new file mode 100644 index 0000000..fc3d3db Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-mdpi/new_birth.png differ diff --git a/AppFinal/app/src/main/res/drawable-mdpi/profile.png b/AppFinal/app/src/main/res/drawable-mdpi/profile.png new file mode 100644 index 0000000..f74eabd Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-mdpi/profile.png differ diff --git a/AppFinal/app/src/main/res/drawable-tvdpi/birthday.png b/AppFinal/app/src/main/res/drawable-tvdpi/birthday.png new file mode 100644 index 0000000..e8f3252 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-tvdpi/birthday.png differ diff --git a/AppFinal/app/src/main/res/drawable-tvdpi/date_button.png b/AppFinal/app/src/main/res/drawable-tvdpi/date_button.png new file mode 100644 index 0000000..305c4bd Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-tvdpi/date_button.png differ diff --git a/AppFinal/app/src/main/res/drawable-tvdpi/delete.png b/AppFinal/app/src/main/res/drawable-tvdpi/delete.png new file mode 100644 index 0000000..856daf3 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-tvdpi/delete.png differ diff --git a/AppFinal/app/src/main/res/drawable-tvdpi/edit.png b/AppFinal/app/src/main/res/drawable-tvdpi/edit.png new file mode 100644 index 0000000..f3102bf Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-tvdpi/edit.png differ diff --git a/AppFinal/app/src/main/res/drawable-tvdpi/list.png b/AppFinal/app/src/main/res/drawable-tvdpi/list.png new file mode 100644 index 0000000..1b32dcc Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-tvdpi/list.png differ diff --git a/AppFinal/app/src/main/res/drawable-tvdpi/new_birth.png b/AppFinal/app/src/main/res/drawable-tvdpi/new_birth.png new file mode 100644 index 0000000..6ff6732 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-tvdpi/new_birth.png differ diff --git a/AppFinal/app/src/main/res/drawable-tvdpi/profile.png b/AppFinal/app/src/main/res/drawable-tvdpi/profile.png new file mode 100644 index 0000000..b90440c Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-tvdpi/profile.png differ diff --git a/AppFinal/app/src/main/res/drawable-xhdpi/birthday.png b/AppFinal/app/src/main/res/drawable-xhdpi/birthday.png new file mode 100644 index 0000000..615c416 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xhdpi/birthday.png differ diff --git a/AppFinal/app/src/main/res/drawable-xhdpi/date_button.png b/AppFinal/app/src/main/res/drawable-xhdpi/date_button.png new file mode 100644 index 0000000..ee88ccf Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xhdpi/date_button.png differ diff --git a/AppFinal/app/src/main/res/drawable-xhdpi/delete.png b/AppFinal/app/src/main/res/drawable-xhdpi/delete.png new file mode 100644 index 0000000..7ae1933 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xhdpi/delete.png differ diff --git a/AppFinal/app/src/main/res/drawable-xhdpi/edit.png b/AppFinal/app/src/main/res/drawable-xhdpi/edit.png new file mode 100644 index 0000000..d14e63f Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xhdpi/edit.png differ diff --git a/AppFinal/app/src/main/res/drawable-xhdpi/list.png b/AppFinal/app/src/main/res/drawable-xhdpi/list.png new file mode 100644 index 0000000..34313de Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xhdpi/list.png differ diff --git a/AppFinal/app/src/main/res/drawable-xhdpi/new_birth.png b/AppFinal/app/src/main/res/drawable-xhdpi/new_birth.png new file mode 100644 index 0000000..7b94846 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xhdpi/new_birth.png differ diff --git a/AppFinal/app/src/main/res/drawable-xhdpi/profile.png b/AppFinal/app/src/main/res/drawable-xhdpi/profile.png new file mode 100644 index 0000000..06e7893 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xhdpi/profile.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxhdpi/birthday.png b/AppFinal/app/src/main/res/drawable-xxhdpi/birthday.png new file mode 100644 index 0000000..9e30635 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxhdpi/birthday.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxhdpi/date_button.png b/AppFinal/app/src/main/res/drawable-xxhdpi/date_button.png new file mode 100644 index 0000000..a1752d1 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxhdpi/date_button.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxhdpi/delete.png b/AppFinal/app/src/main/res/drawable-xxhdpi/delete.png new file mode 100644 index 0000000..c7b875a Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxhdpi/delete.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxhdpi/edit.png b/AppFinal/app/src/main/res/drawable-xxhdpi/edit.png new file mode 100644 index 0000000..40922ec Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxhdpi/edit.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxhdpi/list.png b/AppFinal/app/src/main/res/drawable-xxhdpi/list.png new file mode 100644 index 0000000..add60db Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxhdpi/list.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxhdpi/new_birth.png b/AppFinal/app/src/main/res/drawable-xxhdpi/new_birth.png new file mode 100644 index 0000000..ec31839 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxhdpi/new_birth.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxhdpi/profile.png b/AppFinal/app/src/main/res/drawable-xxhdpi/profile.png new file mode 100644 index 0000000..1dbda55 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxhdpi/profile.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxxhdpi/birthday.png b/AppFinal/app/src/main/res/drawable-xxxhdpi/birthday.png new file mode 100644 index 0000000..eb87838 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxxhdpi/birthday.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxxhdpi/date_button.png b/AppFinal/app/src/main/res/drawable-xxxhdpi/date_button.png new file mode 100644 index 0000000..6d12817 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxxhdpi/date_button.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxxhdpi/delete.png b/AppFinal/app/src/main/res/drawable-xxxhdpi/delete.png new file mode 100644 index 0000000..0c48a68 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxxhdpi/delete.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxxhdpi/edit.png b/AppFinal/app/src/main/res/drawable-xxxhdpi/edit.png new file mode 100644 index 0000000..8531a31 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxxhdpi/edit.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxxhdpi/list.png b/AppFinal/app/src/main/res/drawable-xxxhdpi/list.png new file mode 100644 index 0000000..9229614 Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxxhdpi/list.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxxhdpi/new_birth.png b/AppFinal/app/src/main/res/drawable-xxxhdpi/new_birth.png new file mode 100644 index 0000000..e503eac Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxxhdpi/new_birth.png differ diff --git a/AppFinal/app/src/main/res/drawable-xxxhdpi/profile.png b/AppFinal/app/src/main/res/drawable-xxxhdpi/profile.png new file mode 100644 index 0000000..493559d Binary files /dev/null and b/AppFinal/app/src/main/res/drawable-xxxhdpi/profile.png differ diff --git a/AppFinal/app/src/main/res/layout/activity_add_new_people.xml b/AppFinal/app/src/main/res/layout/activity_add_new_people.xml new file mode 100644 index 0000000..e52c4e1 --- /dev/null +++ b/AppFinal/app/src/main/res/layout/activity_add_new_people.xml @@ -0,0 +1,66 @@ + + + + + + + + + +