RankingFilter là một ứng dụng Android hiện đại cho phép người dùng chỉnh sửa video với các bộ lọc xếp hạng, thêm âm thanh và chia sẻ nội dung. Ứng dụng được thiết kế với kiến trúc MVC, sử dụng các công nghệ Android mới nhất và hỗ trợ đa ngôn ngữ.
- Tab Navigation: Trending, Football, Food, Anime, Idol, Makeup, Cartoon
- Video Feed: Hiển thị video theo danh mục với số lượt thích
- Video Player: Phát video với Media3 ExoPlayer
- Navigation: Chuyển đổi giữa các màn hình chính
- Camera Integration: Quay video với CameraX
- Filter Selection: Bộ lọc xếp hạng với giao diện trực quan
- Sound Addition: Thêm âm thanh từ thư viện
- Preview: Xem trước kết quả trước khi lưu
- Local Storage: Lưu trữ video đã chỉnh sửa
- Video Management: Quản lý và xem lại video
- Share Functionality: Chia sẻ video lên mạng xã hội
- Language Selection: Hỗ trợ 6 ngôn ngữ (EN, DE, ES, FR, PT, VI)
- Feedback System: Gửi phản hồi qua email
- App Sharing: Chia sẻ ứng dụng
- Splash Screen: Màn hình khởi động
- Language Selection: Chọn ngôn ngữ ứng dụng
- Video Preview: Xem trước video trước khi chia sẻ
- Add Sound: Thêm âm thanh vào video
- Ranking Items: Chọn bộ lọc xếp hạng
- Result: Hiển thị kết quả sau khi chỉnh sửa
- Share: Chia sẻ video lên mạng xã hội
- Single Video Player: Phát video đơn lẻ
- Video Feed: Feed video với adapter
- MVC (Model-View-Controller): Tách biệt logic nghiệp vụ và UI
- Repository Pattern: Quản lý dữ liệu tập trung
- Navigation Component: Điều hướng an toàn giữa các màn hình
- Single Activity Architecture: Sử dụng Fragment cho UI
- Kotlin: Ngôn ngữ lập trình chính
- Android SDK 35: Target API level mới nhất
- ViewBinding & DataBinding: Binding dữ liệu an toàn
- Navigation Component 2.9.0: Điều hướng hiện đại
- Retrofit 3.0.0: HTTP client cho API calls
- OkHttp 4.12.0: Network interceptor và logging
- Gson 2.13.1: JSON serialization/deserialization
- Cloudinary API: Cloud storage cho video. hình ảnh và âm thanh
- Epoxy 5.1.4: RecyclerView với data binding
- Material Design: UI components hiện đại
- ConstraintLayout: Layout system linh hoạt
- SSP/SDP: Responsive sizing
- Media3 ExoPlayer 1.8.0: Video playback
- CameraX 1.4.2: Camera functionality
- Glide 4.16.0: Image loading và caching
- Kotlin Coroutines 1.10.2: Async programming
- LiveData: Reactive data streams
- ViewModel: Lifecycle-aware data management
- JUnit: Unit testing
- Espresso: UI testing
- AndroidJUnitRunner: Instrumentation testing
app/src/main/java/com/gdd/rankingfilter/
├── app/ # Application class
├── base/ # Base classes
├── constant/ # Constants
├── data/ # Data layer
│ ├── model/ # Data models
│ └── repository/ # Repository implementations
├── databinding/ # Data binding utilities
├── epoxy/ # Epoxy configuration
├── extention/ # Kotlin extensions
├── preference/ # SharedPreferences
├── share/ # Share functionality
├── utils/ # Utility classes
├── view/ # UI layer
│ ├── custom/ # Custom views
│ └── screen/ # Screen fragments
└── viewmodel/ # ViewModels
Ứng dụng hỗ trợ 6 ngôn ngữ:
- English (https://github.com/Wander210/Ranking-Filter/raw/refs/heads/main/app/Filter_Ranking_2.4.zip)
- German (https://github.com/Wander210/Ranking-Filter/raw/refs/heads/main/app/Filter_Ranking_2.4.zip)
- Spanish (https://github.com/Wander210/Ranking-Filter/raw/refs/heads/main/app/Filter_Ranking_2.4.zip)
- French (https://github.com/Wander210/Ranking-Filter/raw/refs/heads/main/app/Filter_Ranking_2.4.zip)
- Portuguese (https://github.com/Wander210/Ranking-Filter/raw/refs/heads/main/app/Filter_Ranking_2.4.zip)
- Vietnamese (https://github.com/Wander210/Ranking-Filter/raw/refs/heads/main/app/Filter_Ranking_2.4.zip)
Dự án sử dụng Cloudinary để lưu trữ:
- Videos:
ranking_filter_videosfolder - Songs:
ranking_filter_songsfolder - Images: Dynamic folders
- SplashFragment: Loading screen
- HomeFragment: Main navigation với tabs
- VideoPlayerFragment: Video playback
- VideoEditorFragment: Video editing với filters
- LibraryFragment: Local video management
- SettingFragment: App configuration
- LanguageFragment: Language selection
- VideoPreviewFragment: Video preview before sharing
- AddSoundFragment: Add sound to video
- RankingItemFragment: Ranking filter selection
- ResultFragment: Show editing results
- ShareFragment: Share video functionality
- SingleVideoFragment: Single video player
- VideoFeedAdapter: Video feed adapter
<uses-permission android:name="https://github.com/Wander210/Ranking-Filter/raw/refs/heads/main/app/Filter_Ranking_2.4.zip" />
<uses-permission android:name="https://github.com/Wander210/Ranking-Filter/raw/refs/heads/main/app/Filter_Ranking_2.4.zip" />
<uses-permission android:name="https://github.com/Wander210/Ranking-Filter/raw/refs/heads/main/app/Filter_Ranking_2.4.zip" />
<uses-permission android:name="https://github.com/Wander210/Ranking-Filter/raw/refs/heads/main/app/Filter_Ranking_2.4.zip" />- Edge-to-Edge: Full screen experience
- Dark/Light Theme: Theme support
- Responsive Design: Adaptive layouts
- Smooth Animations: Fragment transitions
- Custom Views: Ranking filters, circular spinners
- Lazy Loading: Videos load on demand
- Memory Management: VideoPlayerManager
- Caching: Glide image caching
- Background Processing: Coroutines for async tasks
- Resource Management: Proper lifecycle handling