<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Phonebook | 정진영의 포트폴리오</title><link>https://wjdwlsdud.github.io/en/tags/phonebook/</link><atom:link href="https://wjdwlsdud.github.io/en/tags/phonebook/index.xml" rel="self" type="application/rss+xml"/><description>Phonebook</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Fri, 20 Dec 2024 00:00:00 +0000</lastBuildDate><image><url>https://wjdwlsdud.github.io/media/sharing.jpg</url><title>Phonebook</title><link>https://wjdwlsdud.github.io/en/tags/phonebook/</link></image><item><title>Phone Book Application</title><link>https://wjdwlsdud.github.io/en/projects/mobile/</link><pubDate>Fri, 20 Dec 2024 00:00:00 +0000</pubDate><guid>https://wjdwlsdud.github.io/en/projects/mobile/</guid><description>&lt;p&gt;This is a simple mobile app I created for my &amp;ldquo;Mobile Programming&amp;rdquo; course in the 2024 fall semester. This project is a phonebook management app that utilizes fundamental Android features and a database.&lt;/p&gt;
&lt;p&gt;First, I designed a database named phoneDB and a table named phoneTBL. This table stores a name (VARCHAR(20)) and a phone number (VARCHAR(20)). I set a UNIQUE constraint on the name column to prevent duplicates. I included two initial data entries: &amp;ldquo;Hong Gil-dong&amp;rdquo; and my own contact information.&lt;/p&gt;
&lt;p&gt;The main features I implemented are as follows:&lt;/p&gt;
&lt;p&gt;Main Screen (Read Data): On app launch, the app queries the database and displays all saved user names in a ListView. An &amp;ldquo;Add&amp;rdquo; button and an options menu are placed at the bottom.&lt;/p&gt;
&lt;p&gt;Add Contact (Create): Tapping the &amp;ldquo;Add&amp;rdquo; button opens a separate Activity to receive name and phone number input. Upon completion, this information is passed back to the main Activity, saved to the database, and the ListView is immediately refreshed.&lt;/p&gt;
&lt;p&gt;Database Initialization (Delete All): Selecting &amp;ldquo;Initialize&amp;rdquo; from the options menu displays a confirmation dialog. If the user confirms, all content in the database is deleted, and the list is refreshed.&lt;/p&gt;
&lt;p&gt;Data Backup (Export): Through the &amp;ldquo;Backup&amp;rdquo; feature in the options menu, I implemented a function to save all names and phone numbers from the database as a .txt file (named after my student ID) to the /sdcard path.&lt;/p&gt;
&lt;p&gt;Phone App Integration (Intent): When a specific item in the list is clicked, the app retrieves that item&amp;rsquo;s phone number and uses an Intent to immediately launch the default Android phone app with the number pre-filled.&lt;/p&gt;
&lt;p&gt;Update &amp;amp; Delete: A long click on a list item navigates to a separate Activity where the selected item can be modified or deleted. I implemented confirmation dialogs for each action. Upon completion, the changes are reflected in the main Activity&amp;rsquo;s database and ListView in real-time.&lt;/p&gt;</description></item></channel></rss>