https://github.com/bitbrain/magicwizard-android-1.x
!!!DEPRECATED!!! Android app for "Magic - The Gathering" players in order to count life points.
https://github.com/bitbrain/magicwizard-android-1.x
Last synced: 2 months ago
JSON representation
!!!DEPRECATED!!! Android app for "Magic - The Gathering" players in order to count life points.
- Host: GitHub
- URL: https://github.com/bitbrain/magicwizard-android-1.x
- Owner: bitbrain
- Created: 2013-06-18T19:55:04.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2013-10-31T13:31:35.000Z (over 12 years ago)
- Last Synced: 2025-04-07T19:46:56.367Z (12 months ago)
- Language: Java
- Homepage:
- Size: 718 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
MagicWizard for Android
---
Android app for "Magic - The Gathering" players in order to count life points.
## Download
You can download the newest version [here](http://magicwizard.my-reality.de).
## Development
This app is still under development and we want to improve this software each day. We play 'Magic - The Gathering' and we want to put our best effort into this project. If you attempt to join us, read the next section.
### Requirements
To work on this project, you will need:
* Fork this project via ```git clone repository-url```
* Basic experience in [Java and Android development](http://www.youtube.com/playlist?list=PL301ACBB31D739F72)
* [Eclipse IDE](http://www.eclipse.org/downloads/) (Indigo preferred)
* [Android SDK](http://developer.android.com/sdk/index.html) including ADT
* [SlidingMenu](https://github.com/jfeinstein10/SlidingMenu) library on GitHub
**Hint**: Don't use the [ADT bundle](http://developer.android.com/sdk/index.html) of Google, because it doesn't fit with with Indigo yet and [causes strange errors](https://github.com/MyRealityCoding/magicwizard-android/issues/11).
#### Sliding Menu
To configure the sliding menu, download the code (or fork it via git). Afterwards you open Eclipse and follow the steps:
1. Go to ```File -> New -> Others..```
2. Afterwards select ```Android -> Android Project from Existing Code```
3. Select the ```library``` folder of the downloaded sliding menu project
4. Click ```finish```
**Hint**: Put the ```SlidingMenu``` folder in the same folder where the ```magicwizard-android``` folder is. Then you won't have to change the library's path in the project settings.
Everything complete? Then you should know, that you can fork this repository on order to make improvements! Just go on and make a pull request. Maybe it has a chance to get approved!
#### Linux hint
If you are using a 64 bit based architecture, install the ia libraries first, in order to generate the ```R.java``` files properly:
```text
sudo apt-get install ia32-libs
```
It is also important to place the ```SlidingMenu``` project folder in the same folder with the ```magicwizard-android``` project folder.
### Project Structure
The project structure looks as follows:
```
src/myreality/development/magicwizard/ <- Contains sources
activities/ <- Contains all activities
components/ <- Contains all business logic components
layouts/ <- Provides custom layouts
widgets/ <- Provides custom widgets
util/ <- Contains utility classes and interfaces
res/ <- Contains resources (images,meta data)
AndroidManifest.xml <- Contains general Android configuration
README.md <- Documentation of the software
```
## Getting started
Before you write a single line of code, ensure that you're in the right branch. Never touch the ```master``` branch. Instead, use always the active milestone branch as a reference.
### Language support
If you want to add a language, create a new folder in ```res/```, called ```values-xx``` where ```xx``` is the language code of your country. Afterwards copy the existing ```strings.xml``` file from ```values-en``` into your folder and rewrite the content to your language. Afterwards create a pull request with an explanation which language you have chosen.
Currently are the following languages supported:
* **German** (de)
* **English** (en)
* **French** (fr)
* **Dutch** (nl)
Feel free to submit new translations!
### Components
The basic concept of this app is to create components and map them to a specific view. Each view has an own id. Without going into much detail, you can write an own component:
```java
public class MyComponent implements Component {
@Override
public void onActivity(Activity context) {
// Is called after layout is loaded
}
@Override
public void handle(Activity context) {
// Do something here with the context!
}
}
```
Afterwards you have to register your component in the ```SimpleComponentHandlerFactory``` class and map it to a specific input:
```java
handler.addComponent(R.id.btn_my_action, new MyComponent());
```
The handler will be processed by the current activity context.
### Toasts
Android provides so called ```Toast``` objects in order to show small popup messages. This app has an own wrapper implementation to provide custom toasts for the following types of type ```ToastType```:
* **SUCCESS**: Should be used when something good happened
* **INFO**: Should be used to inform the user
* **FAIL**: Should be used when something bad happened
It is very easy to make a simple toast message. You only need the ```Context``` (e.g. your current ```Activity```):
```java
MagicToast.show(context, "This is your text", ToastType.SUCCESS);
```
That's it!