0.1.0-0-pre.1
This commit is contained in:
19
Android/README.md
Normal file
19
Android/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
<!-- file: Android/README.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Android
|
||||
|
||||
Squelette du frontend Android multi-module.
|
||||
|
||||
La baseline définit les frontières Java et les modules, mais ne fige pas encore Android Gradle Plugin, SDK/NDK, SDL3 AAR ni le pipeline Cargo/NDK. Ces éléments seront ajoutés ensemble dans la prerelease Android exécutable afin d'éviter une fausse configuration partiellement fonctionnelle.
|
||||
|
||||
Structure cible :
|
||||
|
||||
```text
|
||||
Android/
|
||||
├── common/
|
||||
├── game-reflex-poc/
|
||||
└── game-snake-poc/
|
||||
```
|
||||
|
||||
`common` deviendra une Android Library. Chaque module jeu deviendra une application indépendante et réutilisera directement les crates Rust du workspace racine sans les recopier.
|
||||
4
Android/build.gradle
Normal file
4
Android/build.gradle
Normal file
@@ -0,0 +1,4 @@
|
||||
// file: Android/build.gradle
|
||||
// version: 1
|
||||
|
||||
// Android Gradle Plugin and repositories are intentionally introduced in the dedicated executable Android prerelease.
|
||||
4
Android/common/build.gradle
Normal file
4
Android/common/build.gradle
Normal file
@@ -0,0 +1,4 @@
|
||||
// file: Android/common/build.gradle
|
||||
// version: 1
|
||||
|
||||
// This module will become the reusable Android library containing SDLActivity integration and common platform services.
|
||||
@@ -0,0 +1,19 @@
|
||||
// file: Android/common/src/main/java/com/sasedev/games/common/NativeBridge.java
|
||||
// version: 1
|
||||
|
||||
package com.sasedev.games.common;
|
||||
|
||||
/** Stable Java side of the future Java/JNI platform bridge. */
|
||||
public final class NativeBridge {
|
||||
private NativeBridge() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the bridge contract version.
|
||||
*
|
||||
* @return bridge contract version
|
||||
*/
|
||||
public static int contractVersion() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// file: Android/common/src/main/java/com/sasedev/games/common/SaseGameActivity.java
|
||||
// version: 1
|
||||
|
||||
package com.sasedev.games.common;
|
||||
|
||||
/**
|
||||
* Common Android activity boundary for games.sasedev applications.
|
||||
*
|
||||
* <p>The executable Android delta will make this class extend SDLActivity once the SDL3 AAR is introduced.</p>
|
||||
*/
|
||||
public abstract class SaseGameActivity {
|
||||
/**
|
||||
* Returns the stable identifier of the game hosted by the activity.
|
||||
*
|
||||
* @return game identifier
|
||||
*/
|
||||
public abstract String gameId();
|
||||
}
|
||||
4
Android/game-reflex-poc/build.gradle
Normal file
4
Android/game-reflex-poc/build.gradle
Normal file
@@ -0,0 +1,4 @@
|
||||
// file: Android/game-reflex-poc/build.gradle
|
||||
// version: 1
|
||||
|
||||
// This module will become the Reflex POC Android application.
|
||||
@@ -0,0 +1,15 @@
|
||||
// file: Android/game-reflex-poc/src/main/java/com/sasedev/games/reflex/ReflexActivity.java
|
||||
// version: 1
|
||||
|
||||
package com.sasedev.games.reflex;
|
||||
|
||||
import com.sasedev.games.common.SaseGameActivity;
|
||||
|
||||
/** Android-specific host declaration for the Reflex POC. */
|
||||
public final class ReflexActivity extends SaseGameActivity {
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public String gameId() {
|
||||
return "game-reflex-poc";
|
||||
}
|
||||
}
|
||||
5
Android/game-reflex-poc/src/main/res/values/strings.xml
Normal file
5
Android/game-reflex-poc/src/main/res/values/strings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<!-- file: Android/game-reflex-poc/src/main/res/values/strings.xml -->
|
||||
<!-- version: 1 -->
|
||||
<resources>
|
||||
<string name="app_name">Reflex POC</string>
|
||||
</resources>
|
||||
4
Android/game-snake-poc/build.gradle
Normal file
4
Android/game-snake-poc/build.gradle
Normal file
@@ -0,0 +1,4 @@
|
||||
// file: Android/game-snake-poc/build.gradle
|
||||
// version: 1
|
||||
|
||||
// This module will become the Snake POC Android application.
|
||||
@@ -0,0 +1,15 @@
|
||||
// file: Android/game-snake-poc/src/main/java/com/sasedev/games/snake/SnakeActivity.java
|
||||
// version: 1
|
||||
|
||||
package com.sasedev.games.snake;
|
||||
|
||||
import com.sasedev.games.common.SaseGameActivity;
|
||||
|
||||
/** Android-specific host declaration for the Snake POC. */
|
||||
public final class SnakeActivity extends SaseGameActivity {
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public String gameId() {
|
||||
return "game-snake-poc";
|
||||
}
|
||||
}
|
||||
5
Android/game-snake-poc/src/main/res/values/strings.xml
Normal file
5
Android/game-snake-poc/src/main/res/values/strings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<!-- file: Android/game-snake-poc/src/main/res/values/strings.xml -->
|
||||
<!-- version: 1 -->
|
||||
<resources>
|
||||
<string name="app_name">Snake POC</string>
|
||||
</resources>
|
||||
8
Android/settings.gradle
Normal file
8
Android/settings.gradle
Normal file
@@ -0,0 +1,8 @@
|
||||
// file: Android/settings.gradle
|
||||
// version: 1
|
||||
|
||||
rootProject.name = "games-sasedev-android"
|
||||
|
||||
include(":common")
|
||||
include(":game-reflex-poc")
|
||||
include(":game-snake-poc")
|
||||
Reference in New Issue
Block a user