Example of a Prompt
Agent: Document Agent
<aside>
<img src="notion://custom_emoji/be6005d7-8302-4c8e-93fe-03d0d3d71970/12f3c107-d7a8-8009-8054-007a9b09b0b8" alt="notion://custom_emoji/be6005d7-8302-4c8e-93fe-03d0d3d71970/12f3c107-d7a8-8009-8054-007a9b09b0b8" width="40px" />
Using the @Member Information Update use case document as a reference, design the necessary screens and output them in accordance with the @Android Screen Design Template format.
</aside>
Template
# Android App Screen Design Specification
## 1. Basic Information
- Screen ID:
- Screen Name:
- Function Overview:
- Supported OS Version:
- Supported Devices:
## 2. Screen Layout
### 2.1 Layout Structure
Create the structure of the screen using Mermaid according to the following legend. Analyze dependencies by file name and create objects for each file name.
```mermaid
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontFamily': 'arial', 'fontSize': '16px'}}}%%
flowchart TD
A["Screen/Page"]
B>"Component"]
C{"Conditional Branch"}
D[["Form Element"]]
E[("Data Display")]
F(["Action/Button"])
classDef page fill:#d0d1ff,stroke:#333,stroke-width:2px,color:#000
classDef component fill:#ffe680,stroke:#333,stroke-width:2px,color:#000
classDef condition fill:#c2e0c2,stroke:#333,stroke-width:2px,color:#000
classDef form fill:#ffcce0,stroke:#333,stroke-width:2px,color:#000
classDef data fill:#c6c6ff,stroke:#333,stroke-width:2px,color:#000
classDef action fill:#ffb3b3,stroke:#333,stroke-width:2px,color:#000
class A page
class B component
class C condition
class D form
class E data
class F action
%% Apply styles to each node to center the text
style A text-align:center
style B text-align:center
style C text-align:center
style D text-align:center
style E text-align:center
style F text-align:center
| Line Type |
Notation |
Meaning |
|
|
| --> |
Solid Arrow |
Screen transition, parent-child relationship, direct relationship |
|
|
| -.-> |
Dotted Arrow |
Event trigger, action execution |
|
|
| --- |
Text |
--- |
Labeled Line |
Explanation of relationship (transition, inclusion, display, etc.) |
| --o |
White Circle End |
Association (weak coupling) |
|
|
| --\* |
Black Circle End |
Aggregation (strong coupling) |
|
|
2.2 Screen Orientation
- Portrait Support:
- Landscape Support:
- Fixed Orientation:
2.3 Layout Resources
- Layout XML File Name:
- Use of Fragment:
- Use of Custom View:
2.4 Device Support
- Standard Size (5-6 inches):
- Large Screen Devices (7 inches or more):
- Low Resolution Devices:
- High Resolution Devices:
3. UI Components
3.1 Component List
| No |
Component ID |
Type |
Display Text |
Display Condition |
Layout Position |
|
|
|
|
|
|
3.2 Input Item Definition
| No |
Item ID |
Display Name |
Input Type |
Input Restriction |
Max Length |
Required |
Initial Value |
IME Type |
|
|
|
|
|
|
|
|
|
3.3 Input Validation Rules
3.3.1 Text Input
- Allowed Characters:
- Pattern Validation:
- Validation on Focus Loss:
- Validation on Submission:
3.3.2 Numeric Input
- Minimum Value:
- Maximum Value:
- Decimal Places:
- Digit Grouping Display:
3.3.3 Selection Input
- Selection Display Method:
- Selection Data Source:
- Multiple Selection Allowed:
- Default Selection:
3.4 List Display Definition
3.4.1 List Structure
- Used Component:
- Number of Items Displayed:
- Scroll Method:
- Paging Enabled:
3.4.2 List Item
- Layout Resource:
- Display Items:
- Action:
3.5 Animation & Transition
- Screen Display Animation:
- Screen Exit Animation:
- Component Display Animation:
- State Change Animation:
4. Action Definition
4.1 User Action List
| Action ID |
Trigger |
Target Component |
Display Condition |
Enable Condition |
|
|
|
|
|
4.2 Click Action Definition
4.2.1 Button 1
- onClick Implementation:
- Processing Details: 1. 2. 3.
- Transition Destination:
- Transition Parameters:
4.3 Touch Action Definition
4.3.1 Swipe
- onSwipe Implementation:
- Direction:
- Processing Details:
- Constraint Conditions:
4.3.2 Long Press
- onLongClick Implementation:
- Processing Details:
- Display Action:
4.4 System Action Definition
4.4.1 Back Key
- Processing Details:
- Confirmation Dialog Display:
4.4.2 Menu Key
- Menu Items:
- Processing Details:
5. Data Binding
5.1 Data Model
- Model Class Name:
- Main Attributes:
- Use of Data Binding:
5.2 Binding Method
- One-way/Two-way:
- Update Timing:
- Custom Binding:
5.3 LiveData Definition
- LiveData Variable:
- Observed Target:
- Observation Event:
6. Communication & Data Integration
6.1 API Integration
- Endpoint:
- Request Header:
[Header Information]
[Parameter Format]
[Request Format]
- Communication Method:
- Timeout Setting:
6.2 Response Specification
[Response Format]
- Parsing Method:
- Error Response:
[Error Response Format]
6.3 Local Data
- Use of SharedPreferences:
- Use of Room DB:
- Table Definition:
- Cache Strategy:
7. Error & Message Definition
7.1 Validation Error
| Code |
Message |
Display Method |
Display Position |
|
|
|
|
7.2 System Error
| Code |
Message |
Display Method |
Retry Allowed |
|
|
|
|
7.3 Communication Error
| Scenario |
Message |
Display Method |
Recovery Method |
|
|
|
|
7.4 Message Display Method
- Scene for Toast Use:
- Scene for Snackbar Use:
- Scene for AlertDialog Use:
- Scene for Custom View Use:
8. Performance Optimization
8.1 UI Rendering Optimization
- Use of ViewHolder:
- Layout Hierarchy:
- Rendering Cache:
8.2 Memory Management
- Handling Large Bitmaps:
- Leak Check:
- Memory Limit:
8.3 Battery Efficiency
- Background Processing:
- Use of Location Information:
- Use of Sensors:
9. Security Requirements
9.1 Data Security
- Confidential Information Storage Method:
- Encryption Method:
- Communication Encryption:
9.2 Input Value Validation
- Injection Countermeasures:
- Input Sanitization:
- Implementation Location:
9.3 Access Control
- Authentication Required:
- Authentication Implementation Method:
- Permission Control:
10. Accessibility Support
10.1 Content Description
- ContentDescription Setting:
- Focus Order:
- Color Contrast:
10.2 Input Assistance
- Voice Input Support:
- Gesture Support:
- Keyboard Operation Support:
10.3 TalkBack Support
- Screen Reader Support:
- Custom Readout Text:
11. Screen Transition & State Management
11.1 Source Screen
- Screen Name:
- Transition Trigger:
- Passed Parameters:
11.2 Destination Screen
- Screen Name:
- Transition Method:
- Sent Parameters:
11.3 State Saving
- Data to Save:
- onSaveInstanceState Implementation:
- Process Recreation Support:
11.4 Lifecycle Processing
- onCreate:
- onResume:
- onPause:
- onDestroy:
## Output Image
```markdown
# Android App Screen Design Document: Member Information Update Screen
## 1. Basic Information
- Screen ID: member\\_profile\\_update
- Screen Name: Member Information Update Screen
- Function Overview: An update interface that allows members to safely change "Email Address," "Password," and "Profile Image"
- Supported OS Version: Android 8.0 or higher
- Supported Devices: Standard smartphones, tablets
## 2. Screen Layout
### 2.1 Layout Structure
```mermaid
flowchart TD
A["Member Information Update Screen"]
B[["Email Address Input Form"]]
C[["Password Change Form"]]
D[["Profile Image Upload"]]
E(["Validation Message Display"])
F(["Save Button"])
G(["Cancel Button"])
H(["Processing Result Message Area"])
A --> B
A --> C
A --> D
B -.-> E
C -.-> E
D -.-> E
A --> F
A --> G
A -.-> H
2.2 Screen Orientation
- Portrait Support: Yes
- Landscape Support: No
- Fixed Orientation: Portrait only
2.3 Layout Resources
- Layout XML File Name: activity\_member\_profile\_update.xml
- Use of Fragments: Yes (Password change and image upload are modularized)
- Use of Custom Views: Profile image upload area
2.4 Device Support
- Standard Size (5-6 inches): Yes
- Large Screen Devices (7 inches or more): Yes
- Low Resolution Devices: Yes
- High Resolution Devices: Yes
3. UI Components
3.1 Component List
| No |
Component ID |
Type |
Display Text |
Display Condition |
Layout Position |
| 1 |
emailField |
EditText |
Current Email Address |
Always |
Top |
| 2 |
newEmailField |
EditText |
New Email Address |
Always |
Below emailField |
| 3 |
pwdCurrentField |
EditText |
Current Password |
When changing password |
Below email fields |
| 4 |
pwdNewField |
EditText |
New Password |
When changing password |
Below pwdCurrentField |
| 5 |
pwdConfirmField |
EditText |
Re-enter New Password |
When changing password |
Below pwdNewField |
| 6 |
profileImage |
ImageView |
Profile Image |
Always |
Bottom center |
| 7 |
uploadButton |
Button |
Select/Change Image |
Always |
Below image |
| 8 |
saveButton |
Button |
Save |
When input valid |
Bottom right |
| 9 |
cancelButton |
Button |
Cancel |
Always |
Left of saveButton |
| 10 |
messageBox |
TextView |
Validation/Result Message |
As needed |
Entire bottom area |
3.2 Input Item Definition
| No |
Item ID |
Display Name |
Input Type |
Input Restriction |
Max Length |
Required |
Initial Value |
IME Type |
| 1 |
emailField |
Current Email |
text |
Email format |
256 |
Yes |
From member state |
email |
| 2 |
newEmailField |
New Email |
text |
Email format |
256 |
Optional |
Blank |
email |
| 3 |
pwdCurrentField |
Current Password |
password |
8-32 characters |
32 |
Optional |
Blank |
password |
| 4 |
pwdNewField |
New Password |
password |
Strength 8-32 characters |
32 |
Optional |
Blank |
password |
| 5 |
pwdConfirmField |
Re-enter New Password |
password |
Match check |
32 |
Optional |
Blank |
password |
3.3 Input Validation Rules
3.3.1 Text Input
- Allowed Characters: Email allows half-width alphanumerics, @, ., -, \_
- Pattern Validation: Email must follow RFC format
- Validation on Focus Loss: Immediate validation
- Validation on Submission: Comprehensive check of all fields
3.3.2 Numeric Input
3.3.3 Selection Input
- File selection (image upload)
3.4 List Display Definition
3.5 Animation & Transition
- Screen Display Animation: Fade-in
- Screen Exit Animation: Fade-out
- Component Display Animation: Shake on input error
- State Change Animation: Cross-fade when selecting image
4. Action Definition
4.1 User Action List
| Action ID |
Trigger |
Target Component |
Display Condition |
Enabled Condition |
| actSaveProfile |
Tap |
saveButton |
When input valid |
Validation OK |
| actCancelUpdate |
Tap |
cancelButton |
Always |
Always |
| actUploadProfile |
Tap |
uploadButton |
Always |
Always |
4.2 Click Action Definition
4.2.1 Save Button
- onClick Implementation: actSaveProfile
- Processing Content: Validate input → Send API request → Display result
- Destination: On success, transition to My Page screen
- Transition Parameters: Member information update response
4.3 Touch Action Definition
- When tapping image area, show gallery/camera selection modal
4.4 System Action Definition
- On back key press, show confirmation dialog (if unsaved)
5. Data Binding
5.1 Data Model
- Model Class Name: MemberProfileModel
- Main Attributes: email, password, profileImagePath, etc.
- Use of Data Binding: Bidirectional
5.2 Binding Method
- One-way/Bidirectional: Bidirectional
- Update Timing: On input and save
- Custom Binding: Image change
5.3 LiveData Definition
- LiveData Variables: email, password, imagePath, message
- Observed Targets: Each UI element
- Observed Events: Edit/update, save action
6. Communication & Data Integration
6.1 API Integration
- Endpoint: /api/member/update
- Request Header: Includes authentication token
Authorization: Bearer ...
Content-Type: application/json
{
"email": New email address,
"currentPassword": Current password,
"newPassword": New password,
"profileImage": Base64 encoded, etc.
}
- Communication Method: HTTPS POST
- Timeout Setting: 20s
6.2 Response Specification
{
"result": "success | error",
"message": "Detailed message",
"errorField": "email | password | image | null"
}
- Parsing Method: JSON
- Error Response:
{
"result": "error",
"message": "Password incorrect / Email duplicate / Image invalid etc.",
"errorField": "Relevant field"
}
- Error Handling: Display individually for each input field using errorField
6.3 Local Data
- Use of SharedPreferences: Temporary storage for email, etc.
- Use of Room DB: None
- Table Definition: None
- Cache Strategy: Temporary input cache, image cache
7. Error & Message Definition
7.1 Validation Errors
| Code |
Message |
Display Method |
Display Position |
| E\_EMAIL\_FMT |
Email format is incorrect |
Bottom label |
newEmailField |
| E\_EMAIL\_DUP |
Email is already registered |
Bottom label |
newEmailField |
| E\_PWD\_WEAK |
Password strength insufficient |
Bottom label |
pwdNewField |
| E\_PWD\_DIFF |
New passwords do not match |
Bottom label |
pwdConfirmField |
7.2 System Errors
| Code |
Message |
Display Method |
Retry Possible |
| S\_TIMEOUT |
Communication timeout occurred |
Dialog |
Yes |
| S\_SERVER |
Server is down |
Dialog |
Yes |
| S\_SESSION |
Session expired |
Dialog |
No |
7.3 Communication Errors
| Scenario |
Message |
Display Method |
Recovery Method |
| Communication Failure |
Cannot connect to network |
Snackbar |
Retry, Cancel |
| Image Failure |
Image upload failed |
Snackbar |
Re-upload |
7.4 Message Display Method
- Toast Usage Scene: On successful save
- Snackbar Usage Scene: On communication/image failure
- AlertDialog Usage Scene: System errors/confirmation
- Custom View Usage Scene: Input field errors
8. Performance Optimization
8.1 UI Rendering Optimization
- Use of ViewHolder: Not needed (no image list)
- Layout Hierarchy: Designed not to be too deep
- Rendering Cache: Yes (for images)
8.2 Memory Management
- Large Bitmap Handling: Max 2MB for image upload
- Leak Check: Monitored in Fragment
- Memory Limit: Based on standard device
8.3 Battery Efficiency
- Background Processing: Only for image upload
- Use of Location: None
- Use of Sensors: None
9. Security Requirements
9.1 Data Security
- Confidential Data Storage Method: Use OS secure area, encryption
- Encryption Method: AES, etc.
- Communication Encryption: All communication via HTTPS
9.2 Input Validation
- Injection Prevention: Sanitize input values
- Input Sanitization: All fields
- Implementation Location: Both client and server
9.3 Access Control
- Authentication Required: Yes (members only)
- Authentication Implementation Method: Token authentication
- Permission Control: Restrict operations to own data only
10. Accessibility Support
10.1 Content Description
- ContentDescription Setting: Profile image, each input field
- Focus Order: Logical order
- Color Contrast: AAA standard
10.2 Input Assistance
- Voice Input Support: Email field only
- Gesture Support: Long press on image area for re-upload
- Keyboard Operation Support: All fields
10.3 TalkBack Support
- Screen Reader Support: All main items
- Custom Readout Text: Displayed on error/success
11. Screen Transition & State Management
11.1 Source Screen
- Screen Name: My Page / Basic Settings Screen
- Transition Trigger: Tap "Change Member Information" button
11.2 Destination Screen
- Screen Name: My Page or Member Basic Screen
- Transition Method: Finish on successful save, or Dialog → transition
- Send Parameters: Member ID, result information
11.3 State Saving
- Data to Save: Temporary input cache, image path
- onSaveInstanceState Implementation: Restore edit data
- Process Recreation Support: Auto restore edit data
11.4 Lifecycle Processing
- onCreate: Set initial values, load existing information
- onResume: Check session/authentication
- onPause: Temporary save
- onDestroy: Release resources