#USE MVVM CROSS
This project should be considered inactive. You should not be using this. Code will be left on lastsnapshot branch.
Tools to simplify creating dialogs for MonoDroid
#USE MVVM CROSS
This project should be considered inactive. You should not be using this. Code will be left on lastsnapshot branch.
Hi,
I tried this solution on Android 4.2 API 17 and the string element shows no value. It works fine in lower versions of Android.
I've reproduced the problem in the latest code base. I've been working out a bunch of the elements, but found a problem whrn scrolling. If you add enough elements to make the list scroll, it will crash in the same location everytime, but not within the call stack of the application, with an OutOfBounds exception.
Just add a bunch of StringElements or whatever your favorite element is and run.
Hi,
I'am trying to create a Monodroid Dialog. For my first test, I copied your example Activity2 into my project and started it with StartActivity(typeof(Activity2)). Unfortunately it fails with the following Exception:
No package identifier when getting value for resource number 0x00000000
LoadLayout failed: Exception of type 'Android.Content.Res.Resources+NotFoundException' was thrown.
Shutting down VM
FATAL EXCEPTION: main
java.lang.NullPointerException
at android.widget.AbsListView.obtainView(AbsListView.java:1432)
at android.widget.ListView.makeAndAddView(ListView.java:1745)
at android.widget.ListView.fillDown(ListView.java:670)
at android.widget.ListView.fillFromTop(ListView.java:727)
at android.widget.ListView.layoutChildren(ListView.java:1598)
at android.widget.AbsListView.onLayout(AbsListView.java:1260)
at android.view.View.layout(View.java:7175)
at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
at android.view.View.layout(View.java:7175)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
at android.view.View.layout(View.java:7175)
at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
at android.view.View.layout(View.java:7175)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1140)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Is it a bug in MonoDroid.Dialog or is it my fault? If you need more Information, let me know. :)
Hi,
When I add an entry element and I type in some letters on my emulator, I get this error:
EntryElement.cs, # 21
Java.Lang.StackOverflowError:
at Android.Runtime.JNIEnv.CallVoidMethod (intptr,intptr,Android.Runtime.JValue[]) [0x00023] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.7-branch/0e9eea34/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:368
at Android.Widget.TextView.set_TextFormatted (Java.Lang.ICharSequence) [0x00034] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.7-branch/0e9eea34/source/monodroid/src/Mono.Android/platforms/android-8/src/generated/Android.Widget.TextView.cs:1604
at Android.Widget.TextView.set_Text (string) [0x00013] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.7-branch/0e9eea34/source/monodroid/src/Mono.Android/platforms/android-8/src/generated/Android.Widget.TextView.cs:1613
at MonoDroid.Dialog.EntryElement.set_Value (string) [0x00012] in /Users/josephanderson/MonoDroid.Dialog/MonoDroid.Dialog/EntryElement.cs:21
at MonoDroid.Dialog.EntryElement.FetchValue () [0x0002a] in /Users/josephanderson/MonoDroid.Dialog/MonoDroid.Dialog/EntryElement.cs:122
at MonoDroid.Dialog.EntryElement.m__1 (object,Android.Text.TextChangedEventArgs) [0x00000] in /Users/josephanderson/MonoDroid.Dialog/MonoDroid.Dialog/EntryElement.cs:93
at Android.Text.TextWatcherImplementor.Android.Text.ITextWatcher.OnTextChanged (Java.Lang.ICharSequence,int,int,int) [0x0000d] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.7-branch/0e9eea34/source/monodroid/src/Mono.Android/src/Android.Text/ITextWatcher.cs:87
at Android.Text.ITextWatcherInvoker.n_OnTextChanged_Ljava_lang_CharSequence_III (intptr,intptr,intptr,int,int,int) [0x00010] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.7-branch/0e9eea34/source/monodroid/src/Mono.Android/platforms/android-8/src/generated/Android.Text.ITextWatcher.cs:145
at (wrapper dynamic-method) object.d49735a1-52e7-4eee-bd40-ec13507c80dc (intptr,intptr,intptr,int,int,int) <IL 0x00024, 0x0006b>
--- End of managed exception stack trace ---
java.lang.StackOverflowError
at android.view.ViewGroup.addFocusables(ViewGroup.java:636)
at android.view.ViewGroup.addFocusables(ViewGroup.java:636)
at android.view.ViewGroup.addFocusables(ViewGroup.java:617)
at android.view.View.getFocusables(View.java:3444)
at android.view.FocusFinder.findNextFocus(FocusFinder.java:109)
at android.view.FocusFinder.findNextFocus(FocusFinder.java:93)
at android.view.ViewGroup.focusSearch(ViewGroup.java:475)
at android.view.ViewGroup.focusSearch(ViewGroup.java:477)
at android.view.ViewGroup.focusSearch(ViewGroup.java:477)
at android.view.ViewGroup.focusSearch(ViewGroup.java:477)
at android.view.ViewGroup.focusSearch(ViewGroup.java:477)
at android.view.View.focusSearch(View.java:3379)
at android.widget.TextView.onCreateInputConnection(TextView.java:4455)
at android.view.inputmethod.InputMethodManager.startInputInner(InputMethodManager.java:942)
at android.view.inputmethod.InputMethodManager.restartInput(InputMethodManager.java:897)
at android.widget.TextView.setText(TextView.java:2607)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.setText(TextView.java:2691)
at android.widget.TextView.setText(TextView.java:2556)
at android.widget.EditText.setText(EditText.java:75)
at android.widget.TextView.setText(TextView.java:2531)
at mono.android.text.TextWatcherImplementor.n_onTextChanged(Native Method)
at mono.android.text.TextWatcherImplementor.onTextChanged(TextWatcherImplementor.java:48)
at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
at android.widget.TextView.handleTextChanged(TextView.java:6172)
at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:6316)
at android.text.SpannableStringBuilder.sendTextChange(SpannableStringBuilder.java:889)
at android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:352)
at android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:269)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:432)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:409)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:28)
at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:583)
at android.view.inputmethod.BaseInputConnection.setComposingText(BaseInputConnection.java:384)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:292)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:73)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
I have downloaded the Zip created last month and tried to test it on the Google Nexus 7. What I find is the elements all appear to work (including the radiogroup which I believe did not do so on a previous version) except for StringElement. I have checked the XML file and tried to modify this without success except I could get the background color to change by inserting the appropriate command into dialog_labelfieldright.xml but the text and the value remained invisible no matter to what color I change it to.
I am not sure whether this is a symptom of the Nexus 7 but it is very surprising to see that no one has reported this as an issue so far.
I am new to githib and don't know how to show people the captured screen image or I would do so if directed.
Hi,
If you add only one section with only one element, when attach the root to adapter you get following error :
Shutting down VM
FATAL EXCEPTION: main
java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:6437)
at android.widget.ListView.measureHeightOfChildren(ListView.java:1256)
at android.widget.ListView.onMeasure(ListView.java:1156)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:15172)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:833)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2148)
at android.view.View.measure(View.java:15172)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1848)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1100)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1273)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:998)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4212)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
at android.view.Choreographer.doCallbacks(Choreographer.java:555)
at android.view.Choreographer.doFrame(Choreographer.java:525)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Sending signal. PID: 14884 SIG: 9
The only fix I found is to add a new section without any information inside.
With more than two sections you never have any problem.
Regards,
Alan
Hi,
In my project:
https://github.com/jmawebtech/MonoDroid.Dialog
When I click on 'This is the String Element', there is no highlight color. Does anyone know why? If I assign a click event, I cannot get a highlight color.
If I remove the click event, the highlight works fine.
The newest MonoDroid no longer requires casting to (int)
Use: parms.AddRule(LayoutRules.CenterVertical);
instead of
parms.AddRule((int)LayoutRules.CenterVertical);
A quick find/replace fiixed it all
Hi,
My click events fail to occur with any element, using StringElement here as an example. Here is my code:
Activity1.cs
var st = new StringElement("Text label", "The Value");
st.Click = new Action(() => Console.WriteLine("Hello"));
var root = new RootElement("Test Root Elem")
{
new Section("Test Header", "Test Footer")
{
cityElement,
new BooleanElement("Push my button", true),
new BooleanElement("Push this too", false),
st,
new BooleanElement("Push my button", true),
new BooleanElement("Push this too", false),
},
new Section("Part II")
{
new StringElement("This is the String Element", "The Value"),
new CheckboxElement("Check this out", true),
new ImageElement(img),
new HtmlElement("Go to Google.com","http://www.google.com")
}
};
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.