Permalink
Browse files

Hello World.

  • Loading branch information...
0 parents commit f7b2b7f1eafde733cd1ba34e982494cc22776e95 @gliechtenstein gliechtenstein committed Dec 14, 2016
Showing with 34,831 additions and 0 deletions.
  1. +9 βˆ’0 .gitignore
  2. +1 βˆ’0 .idea/.name
  3. +22 βˆ’0 .idea/compiler.xml
  4. +3 βˆ’0 .idea/copyright/profiles_settings.xml
  5. +6 βˆ’0 .idea/encodings.xml
  6. +19 βˆ’0 .idea/gradle.xml
  7. +46 βˆ’0 .idea/misc.xml
  8. +9 βˆ’0 .idea/modules.xml
  9. +12 βˆ’0 .idea/runConfigurations.xml
  10. +6 βˆ’0 .idea/vcs.xml
  11. +76 βˆ’0 CONTRIBUTING.md
  12. +21 βˆ’0 LICENSE
  13. +134 βˆ’0 README.md
  14. +1 βˆ’0 app/.gitignore
  15. +1 βˆ’0 app/.idea/.name
  16. +22 βˆ’0 app/.idea/compiler.xml
  17. +3 βˆ’0 app/.idea/copyright/profiles_settings.xml
  18. +9 βˆ’0 app/.idea/misc.xml
  19. +12 βˆ’0 app/.idea/runConfigurations.xml
  20. +2,203 βˆ’0 app/.idea/workspace.xml
  21. +37 βˆ’0 app/build.gradle
  22. BIN app/gradle/wrapper/gradle-wrapper.jar
  23. +6 βˆ’0 app/gradle/wrapper/gradle-wrapper.properties
  24. +160 βˆ’0 app/gradlew
  25. +90 βˆ’0 app/gradlew.bat
  26. +11 βˆ’0 app/local.properties
  27. +17 βˆ’0 app/proguard-rules.pro
  28. +23 βˆ’0 app/src/main/AndroidManifest.xml
  29. 0 app/src/main/assets/fonts/Amatic-Bold.ttf
  30. 0 app/src/main/assets/fonts/AmaticSC-Regular.ttf
  31. 0 app/src/main/assets/fonts/Chunkfive.otf
  32. 0 app/src/main/assets/fonts/GoodDog.otf
  33. 0 app/src/main/assets/fonts/GreatVibes-Regular.otf
  34. 0 app/src/main/assets/fonts/Pacifico.ttf
  35. +27,710 βˆ’0 app/src/main/assets/parser
  36. BIN app/src/main/ic_launcher-web.png
  37. +59 βˆ’0 app/src/main/java/com/jasonette/seed/Action/JasonCacheAction.java
  38. +39 βˆ’0 app/src/main/java/com/jasonette/seed/Action/JasonLogAction.java
  39. +170 βˆ’0 app/src/main/java/com/jasonette/seed/Action/JasonNetworkAction.java
  40. +83 βˆ’0 app/src/main/java/com/jasonette/seed/Action/JasonSessionAction.java
  41. +97 βˆ’0 app/src/main/java/com/jasonette/seed/Action/JasonUtilAction.java
  42. +44 βˆ’0 app/src/main/java/com/jasonette/seed/Component/JasonButtonComponent.java
  43. +119 βˆ’0 app/src/main/java/com/jasonette/seed/Component/JasonComponent.java
  44. +49 βˆ’0 app/src/main/java/com/jasonette/seed/Component/JasonComponentFactory.java
  45. +135 βˆ’0 app/src/main/java/com/jasonette/seed/Component/JasonImageComponent.java
  46. +114 βˆ’0 app/src/main/java/com/jasonette/seed/Component/JasonLabelComponent.java
  47. +24 βˆ’0 app/src/main/java/com/jasonette/seed/Component/JasonSpaceComponent.java
  48. +174 βˆ’0 app/src/main/java/com/jasonette/seed/Component/JasonTextareaComponent.java
  49. +205 βˆ’0 app/src/main/java/com/jasonette/seed/Component/JasonTextfieldComponent.java
  50. +179 βˆ’0 app/src/main/java/com/jasonette/seed/Core/JasonModel.java
  51. +101 βˆ’0 app/src/main/java/com/jasonette/seed/Core/JasonParser.java
  52. +1,318 βˆ’0 app/src/main/java/com/jasonette/seed/Core/JasonViewActivity.java
  53. +232 βˆ’0 app/src/main/java/com/jasonette/seed/Helper/JasonHelper.java
  54. +15 βˆ’0 app/src/main/java/com/jasonette/seed/Helper/JasonSettings.java
  55. +17 βˆ’0 app/src/main/java/com/jasonette/seed/Launcher/Launcher.java
  56. +558 βˆ’0 app/src/main/java/com/jasonette/seed/Section/ItemAdapter.java
  57. +105 βˆ’0 app/src/main/java/com/jasonette/seed/Section/JasonLayout.java
  58. BIN app/src/main/res/mipmap-hdpi/ic_launcher.png
  59. BIN app/src/main/res/mipmap-mdpi/ic_launcher.png
  60. BIN app/src/main/res/mipmap-xhdpi/ic_launcher.png
  61. BIN app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  62. BIN app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  63. +6 βˆ’0 app/src/main/res/values/arrays.xml
  64. +6 βˆ’0 app/src/main/res/values/colors.xml
  65. +4 βˆ’0 app/src/main/res/values/ids.xml
  66. +4 βˆ’0 app/src/main/res/values/strings.xml
  67. +7 βˆ’0 app/src/main/res/values/styles.xml
  68. +24 βˆ’0 build.gradle
  69. +17 βˆ’0 gradle.properties
  70. BIN gradle/wrapper/gradle-wrapper.jar
  71. +6 βˆ’0 gradle/wrapper/gradle-wrapper.properties
  72. +160 βˆ’0 gradlew
  73. +90 βˆ’0 gradlew.bat
  74. +1 βˆ’0 settings.gradle
@@ -0,0 +1,9 @@
+*.iml
+.gradle
+/local.properties
+/.idea/workspace.xml
+/.idea/libraries
+.DS_Store
+/build
+/captures
+.externalNativeBuild
@@ -0,0 +1 @@
+Android
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="CompilerConfiguration">
+ <resourceExtensions />
+ <wildcardResourcePatterns>
+ <entry name="!?*.java" />
+ <entry name="!?*.form" />
+ <entry name="!?*.class" />
+ <entry name="!?*.groovy" />
+ <entry name="!?*.scala" />
+ <entry name="!?*.flex" />
+ <entry name="!?*.kt" />
+ <entry name="!?*.clj" />
+ <entry name="!?*.aj" />
+ </wildcardResourcePatterns>
+ <annotationProcessing>
+ <profile default="true" name="Default" enabled="false">
+ <processorPath useClasspath="true" />
+ </profile>
+ </annotationProcessing>
+ </component>
+</project>
@@ -0,0 +1,3 @@
+<component name="CopyrightManager">
+ <settings default="" />
+</component>
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Encoding">
+ <file url="PROJECT" charset="UTF-8" />
+ </component>
+</project>
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="GradleSettings">
+ <option name="linkedExternalProjectsSettings">
+ <GradleProjectSettings>
+ <option name="distributionType" value="LOCAL" />
+ <option name="externalProjectPath" value="$PROJECT_DIR$" />
+ <option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.14.1" />
+ <option name="modules">
+ <set>
+ <option value="$PROJECT_DIR$" />
+ <option value="$PROJECT_DIR$/app" />
+ </set>
+ </option>
+ <option name="resolveModulePerSourceSet" value="false" />
+ </GradleProjectSettings>
+ </option>
+ </component>
+</project>
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="EntryPointsManager">
+ <entry_points version="2.0" />
+ </component>
+ <component name="NullableNotNullManager">
+ <option name="myDefaultNullable" value="android.support.annotation.Nullable" />
+ <option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
+ <option name="myNullables">
+ <value>
+ <list size="4">
+ <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
+ <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
+ <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
+ <item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
+ </list>
+ </value>
+ </option>
+ <option name="myNotNulls">
+ <value>
+ <list size="4">
+ <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
+ <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
+ <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
+ <item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
+ </list>
+ </value>
+ </option>
+ </component>
+ <component name="ProjectLevelVcsManager" settingsEditedManually="false">
+ <OptionsSetting value="true" id="Add" />
+ <OptionsSetting value="true" id="Remove" />
+ <OptionsSetting value="true" id="Checkout" />
+ <OptionsSetting value="true" id="Update" />
+ <OptionsSetting value="true" id="Status" />
+ <OptionsSetting value="true" id="Edit" />
+ <ConfirmationsSetting value="0" id="Add" />
+ <ConfirmationsSetting value="0" id="Remove" />
+ </component>
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+ <output url="file://$PROJECT_DIR$/build/classes" />
+ </component>
+ <component name="ProjectType">
+ <option name="id" value="Android" />
+ </component>
+</project>
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ProjectModuleManager">
+ <modules>
+ <module fileurl="file://$PROJECT_DIR$/Android.iml" filepath="$PROJECT_DIR$/Android.iml" />
+ <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
+ </modules>
+ </component>
+</project>
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="RunConfigurationProducerService">
+ <option name="ignoredProducers">
+ <set>
+ <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
+ <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
+ <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
+ </set>
+ </option>
+ </component>
+</project>
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="VcsDirectoryMappings">
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
+ </component>
+</project>
@@ -0,0 +1,76 @@
+# How to contribute to Jasonette
+
+## **Want to help with documentation?**
+
+If you would like to contribute to the [documentation](https://jasonette.github.io/documentation/), let's discuss on the [documentation repository](https://github.com/Jasonette/documentation/issues).
+
+## **Do you have a bug report or a feature request?**
+
+* **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/Jasonette/JASONETTE-Android/issues).
+
+* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/Jasonette/JASONETTE-Android/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
+
+
+## **Did you write a patch that fixes a bug?**
+
+* Open a new GitHub pull request with the patch.
+
+* Don't fork `master` branch. **Fork `develop` branch and send a pull request to `develop`.
+
+* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
+
+## **Did you write a cool extension?**
+
+Feel free to fork the project and [write your own extension](https://jasonette.github.io/documentation/advanced)
+
+If you wrote a cool extension, please share it with the community in the [slack channel](https://jasonette.now.sh).
+
+## **Do you have other types of questions?**
+
+* Ask any question about how to use Jasonette on the [Jasonette Slack channel](https://jasonette.now.sh).
+
+## **Project Structure**
+
+### Class hierarchy
+![hierarchy](https://raw.githubusercontent.com/gliechtenstein/images/master/android_hierarchy.png)
+
+Here's a brief walkthrough of how the project is structured:
+
+ - java
+ - com.jasonette.seed
+ - **Action**: Where all [actions](https://jasonette.github.io/documentation/actions/) are implemented. The implementation follows [the convention described here](https://jasonette.github.io/documentation/advanced/#2-extend-actions).
+ - **Component**: Implements [components](https://jasonette.github.io/documentation/components/), following [the convention described here](https://jasonette.github.io/documentation/advanced/#1-extend-ui-components).
+ - **Core**: Core logic that handles action dispatch, view construction, templating, and some native system actions.
+ - JasonModel: Deals with all the data associated with JasonViewActivity.
+ - JasonParser: Handles template parsing. Calls `parser.js`.
+ - JasonViewActivity: The main Jason view.
+ - **Helpe**
+ - JasonHelper: Various helper methods
+ - JasonSettings: Helper methods for app-wide settings
+ - **Launcher**
+ - You can ignore this, this just launches the app.
+ - **Section**: Implements [sections](https://jasonette.github.io/documentation/document/#bodysections)
+ - ItemAdapter: data binding for the scrolling section items.
+ - JasonLayout: Deals with layout.
+ - assets
+ - parser.js: The javascript powered JSON templating engine.
+ - res
+ - values
+ - strings.xml: Config strings
+
+### What files you will be touching
+
+####User
+In most cases, the only thing you will ever need to touch is the `res/values/strings.xml` file. This is where you set the main url your app will launch from, and the title of the app.
+
+####Advanced
+Sometimes you may want to write an [extension](https://jasonette.github.io/documentation/advanced/#extension). In this case you may need to deal with:
+ - `Action`: To write action extension
+ - `Component`: To write UI component extension
+
+####Guru
+If you find a bug **anywhere in the code**, or have any improvements anywhere else, please feel free to:
+ 1. Fork the `develop` branch
+ 2. Create a feature branch
+ 3. Fix
+ 4. Send a pull request
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2016 gliechtenstein
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
@@ -0,0 +1,134 @@
+[![logo](https://raw.githubusercontent.com/gliechtenstein/images/master/jasonette.png)](http://www.jasonette.com)
+
+# [Jasonette](https://www.jasonette.com)
+
+[https://www.jasonette.com](https://www.jasonette.com)
+
+Create your own native Android app with nothing but JSON. Then send it over the Internet.
+
+Looking for an iOS version? [See here](https://www.github.com/Jasonette/JASONETTE-iOS)
+
+<br>
+
+##β˜… Jasonette fetches this JSON markup from a server:
+
+![json](https://raw.githubusercontent.com/gliechtenstein/images/master/json.png)
+
+##β˜… And self-constructs into the following native app, in realtime:
+
+![instagram](https://github.com/Jasonette/Instagram-UI-example/blob/master/images/instagram-android.gif)
+
+<br>
+
+#Cool things about Jasonette
+
+- **100% NATIVE**: Jasonette maps JSON into native components and native function calls. There is no gimmick. There is no magic.
+- **App loads over HTTP**: Your app exists 100% as JSON, and loads from the cloud. No more hard-coding.
+- **An app in 30 minutes**: No kidding, build an app in 30 minutes.
+- **Lowest possible learning curve**: No programming experience required. There's only one thing you need to know: JSON. Which means you can build an app without "becoming a programmer".
+
+<br>
+
+# [Quickstart](https://www.jasonette.com)
+Visit [the website](http://www.jasonette.com) to get started.
+
+<br>
+
+# More Examples
+Try playing these on Jasonette and watch them turn into native apps in front of your eyes!
+
+* [Jasonpedia](https://github.com/Jasonette/Jasonpedia) Tutorial demo app that includes all Jasonette feature implementations.
+* [Instagram](https://github.com/Jasonette/Instagram-UI-example) An Instagram UI, 100% powered by JSON.
+* [Twitter](https://github.com/Jasonette/Twitter-UI-example) A Twitter UI, 100% powered by JSON.
+
+<br>
+
+# Technical Highlights
+
+##1. One JSON to rule them all
+
+Jasonette simplifies the entire app building process down to nothing more than:
+
+1. Write a JSON markup
+2. Add the JSON url to Jasonette
+3. Press `play`
+
+This is possible because Jasonette came up with a way to **fit an entire app worth of logic into a single declarative JSON that just worksβ„’.** This JSON grammar is used to express **every aspect of your app**, such as:
+
+1. Draw sophisticated [**views**](https://jasonette.github.io/documentation/document)
+2. Call [**device API methods**](https://jasonette.github.io/documentation/actions/#api)
+3. Chain method calls to [**perform complex logic**](https://jasonette.github.io/documentation/actions/#b-handling-another-actions-result)
+4. Respond to [**system events**](https://jasonette.github.io/documentation/actions/#system-events) and [**user interaction**](https://jasonette.github.io/documentation/actions/#a-handling-user-interaction)
+5. Even change the JSON itself dynamically using [**templates**](https://jasonette.github.io/documentation/templates).
+
+<br>
+
+##2. App-over-HTTP
+Until now, the only thing JSON could send over the Internet was raw data. Normally apps would fetch remote data from the server for a connected experience, but the actual app logic would be hard-coded on the client side. This makes it hard to update and extend apps.
+
+But what happens when you can express an entire app logic as JSON?
+
+**Then apps can be stored, processed, shared, and sent over the Internet just like any other JSON.** Watch below where we update the JSON on a [JSON pastebin server](https://www.jasonbase.com), and the app changes immediately to reflect the new markup:
+
+![remote control](http://i.giphy.com/3o7TKrdmlX5uD7RszK.gif)
+
+<br>
+
+##3. Designed to be extended or integrated
+Currently Jasonette covers all the essential native APIs and components, which means you can build pretty much any app you can imagine. But Jasonette is very flexible.
+
+###A. Extensible
+If you don't see a feature you want, you can simply extend Jasonette. Just follow the convention. Want to learn more? [Ask here](https://github.com/gliechtenstein/jasonette-android#questions-and-support)
+
+###B. Integrate existing code
+Since Jasonette is simply a Java project, You can even integrate Jasonette with your existing Android project if you want. This way you can use Jasonette for just a small part of your app without having to completely switch to a new way of programming. Want to learn more? [Ask here](https://github.com/gliechtenstein/jasonette-android#questions-and-support)
+
+<br>
+
+# Bugs and feature requests
+
+Have a bug or a feature request regarding the Jasonette code itself? [Please open a new issue](https://github.com/Jasonette/JASONETTE-Android/issues/new).
+
+<br>
+
+# Questions and Support
+Follow or join these channels for questions and support, and to keep updated on latest releases and announcements.
+
+<table class='equalwidth follow'>
+ <tr>
+ <td>
+ <a href='https://jasonette.now.sh'>
+ <b>Slack</b><br><br>
+ <img src='https://raw.githubusercontent.com/gliechtenstein/images/master/slack_smaller.png'>
+ <br>
+ <img src="https://jasonette.now.sh/badge.svg">
+ </a>
+ </td>
+ <td>
+ <a href='https://forum.jasonette.com'>
+ <b>Forum</b><br><br>
+ <img src='https://raw.githubusercontent.com/gliechtenstein/images/master/discourse_smaller.png'>
+ <br>
+ Visit >
+ </a>
+ </td>
+ <td>
+ <a href='https://www.twitter.com/jasonclient'>
+ <b>Twitter</b><br><br>
+ <img src='https://raw.githubusercontent.com/gliechtenstein/images/master/twitter_smaller.png'>
+ <br>
+ Follow >
+ </a>
+ </td>
+ </tr>
+</table>
+
+<br>
+
+# Contribute
+There are many ways to contribute. But first, please [read the contributing guideline](CONTRIBUTING.md)
+
+<br>
+
+# License
+Jasonette is released under the [MIT License](http://www.opensource.org/licenses/MIT).
@@ -0,0 +1 @@
+/build
@@ -0,0 +1 @@
+Seed
Oops, something went wrong.

0 comments on commit f7b2b7f

Please sign in to comment.