Initial Android app implementation

This commit is contained in:
2026-06-08 23:50:28 +09:00
commit ca09dcbd69
18 changed files with 3243 additions and 0 deletions

21
app/build.gradle Normal file
View File

@@ -0,0 +1,21 @@
plugins {
id "com.android.application"
}
android {
namespace "com.example.youtubefavoritesearch"
compileSdk 36
defaultConfig {
applicationId "com.example.youtubefavoritesearch"
minSdk 23
targetSdk 36
versionCode 1
versionName "1.0"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
}

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
<activity
android:name=".MainActivity"
android:documentLaunchMode="never"
android:exported="true"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
<data android:mimeType="text/*" />
</intent-filter>
</activity>
</application>
</manifest>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#2F6FED" />
</shape>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#FFFFFF"
android:pathData="M24,34C24,29.58 27.58,26 32,26H76C80.42,26 84,29.58 84,34V74C84,78.42 80.42,82 76,82H32C27.58,82 24,78.42 24,74V34Z" />
<path
android:fillColor="#2F6FED"
android:pathData="M47,42L68,54L47,66V42Z" />
<path
android:fillColor="#2F6FED"
android:pathData="M31,79L77,79C75.43,75.96 72.24,74 68.72,74H39.28C35.76,74 32.57,75.96 31,79Z" />
</vector>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">YouTube Favorite Search</string>
<string name="share_shortcut_short_label">저장</string>
<string name="share_shortcut_long_label">YouTube 링크 저장</string>
<string name="share_shortcut_disabled_message">YouTube 링크 저장을 사용할 수 없습니다.</string>
</resources>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="@android:style/Theme.Material.Light.NoActionBar">
<item name="android:fontFamily">sans</item>
<item name="android:windowLightStatusBar">true</item>
<item name="android:statusBarColor">#F6F7FA</item>
<item name="android:navigationBarColor">#FFFFFF</item>
<item name="android:colorAccent">#2F6FED</item>
</style>
</resources>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<shortcut
android:shortcutId="save_youtube_link"
android:enabled="true"
android:icon="@mipmap/ic_launcher"
android:shortcutShortLabel="@string/share_shortcut_short_label"
android:shortcutLongLabel="@string/share_shortcut_long_label"
android:shortcutDisabledMessage="@string/share_shortcut_disabled_message">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="com.example.youtubefavoritesearch.MainActivity"
android:targetPackage="com.example.youtubefavoritesearch" />
<categories android:name="com.example.youtubefavoritesearch.category.SAVE_YOUTUBE_LINK" />
</shortcut>
<share-target android:targetClass="com.example.youtubefavoritesearch.MainActivity">
<data android:mimeType="text/plain" />
<data android:mimeType="text/*" />
<category android:name="com.example.youtubefavoritesearch.category.SAVE_YOUTUBE_LINK" />
</share-target>
</shortcuts>