You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1013 B
Markdown
60 lines
1013 B
Markdown
3 years ago
|
---
|
||
|
type: slide
|
||
|
---
|
||
|
|
||
|
# QuickPlay
|
||
|
## A simple app to quickly use remote players
|
||
|
|
||
|
---
|
||
|
|
||
|
# Features
|
||
|
|
||
|
Easy to learn
|
||
|
Central management
|
||
|
(Theoretically) extensible / modular
|
||
|
Usable on Android 4.4+ (Tested on Marshmallow)
|
||
|
(Android only)
|
||
|
|
||
|
---
|
||
|
|
||
|
# Architecture
|
||
|
|
||
|
```graphviz
|
||
|
digraph "Arch" {
|
||
|
layout=fdp
|
||
|
RP -> Player [style="dotted", dir="both"];
|
||
|
RP[label="Remote player"]
|
||
|
XML -> AppConfig -> PlayerConfig -> {Player Playables HTTP};
|
||
|
UI -> LayoutStrategies;
|
||
|
Person -> UI -> Playables -> Metadata
|
||
|
Metadata -> LayoutStrategies
|
||
|
HTTP[label="HTTP + INI"]
|
||
|
Person, RP, UI, XML, HTTP [shape=box]
|
||
|
}
|
||
|
```
|
||
|
|
||
|
---
|
||
|
|
||
|
# Issues
|
||
|
|
||
|
Understanding Android ecosystem is hard
|
||
|
- unintuitive naming
|
||
|
- complex hierarchy of support libraries
|
||
|
- I didn't find comphrehensive overview
|
||
|
- many APIs are replaced
|
||
|
|
||
|
Quite a lot of boilerplate code (esp. UI)
|
||
|
|
||
|
Visual Studio not refreshing Resource files.
|
||
|
|
||
|
No sensible MPD client library.
|
||
|
|
||
|
---
|
||
|
|
||
|
# Lessons learned
|
||
|
|
||
|
- Basic Android architecture knowledge
|
||
|
- Network and asynchronous coding
|
||
|
- Library patching
|
||
|
|