diff --git a/multibyte_test/Screenshot_2014-10-01-23-30-00.png b/multibyte_test/Screenshot_2014-10-01-23-30-00.png new file mode 100644 index 00000000..670f82e9 Binary files /dev/null and b/multibyte_test/Screenshot_2014-10-01-23-30-00.png differ diff --git a/multibyte_test/Screenshot_2014-10-01-23-30-20.png b/multibyte_test/Screenshot_2014-10-01-23-30-20.png new file mode 100644 index 00000000..77dd20f8 Binary files /dev/null and b/multibyte_test/Screenshot_2014-10-01-23-30-20.png differ diff --git a/multibyte_test/adb_log.txt b/multibyte_test/adb_log.txt new file mode 100644 index 00000000..a0028930 --- /dev/null +++ b/multibyte_test/adb_log.txt @@ -0,0 +1,95 @@ +D/MyActivity(20387): emit ascii +D/MyActivity(20387): emit ascii2 +D/MyActivity(20387): emit multibyteCharactors +D/MyActivity(20387): event: pong, test_type: socket.io plain ascii, data: abcABC123!"# +D/MyActivity(20387): event: pong, test_type: socket.io object ascii, data: {"ascii":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: socket.io json ascii, data: {"ascii":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: socket.io plain ascii2, data: abcABC123!# +D/MyActivity(20387): event: pong, test_type: socket.io object ascii2, data: {"ascii2":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: socket.io json ascii2, data: {"ascii2":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: socket.io plain multibyteCharactors, data: BDFHJ +D/MyActivity(20387): event: pong, test_type: socket.io object multibyteCharactors, data: {"multibyteCharactors":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io json multibyteCharactors, data: {"multibyteCharactors":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io plain multibyteCharactors2, data: BDFHJ +D/MyActivity(20387): event: pong, test_type: socket.io object multibyteCharactors2, data: {"multibyteCharactors2":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io json multibyteCharactors2, data: {"multibyteCharactors2":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: return data plain, data: abcABC123!"# +D/MyActivity(20387): event: pong, test_type: return data object, data: {"data":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: return data json, data: {"data":"abcABC123!\"#"} +D/dalvikvm(20387): GC_FOR_ALLOC freed 465K, 3% free 17278K/17776K, paused 10ms, total 10ms +D/MyActivity(20387): event: pong, test_type: socket.io plain ascii, data: abcABC123!"# +D/MyActivity(20387): event: pong, test_type: socket.io object ascii, data: {"ascii":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: socket.io json ascii, data: {"ascii":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: socket.io plain ascii2, data: abcABC123!# +D/MyActivity(20387): event: pong, test_type: socket.io object ascii2, data: {"ascii2":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: socket.io json ascii2, data: {"ascii2":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: socket.io plain multibyteCharactors, data: BDFHJ +D/MyActivity(20387): event: pong, test_type: socket.io object multibyteCharactors, data: {"multibyteCharactors":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io json multibyteCharactors, data: {"multibyteCharactors":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io plain multibyteCharactors2, data: BDFHJ +D/MyActivity(20387): event: pong, test_type: socket.io object multibyteCharactors2, data: {"multibyteCharactors2":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io json multibyteCharactors2, data: {"multibyteCharactors2":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: return data plain, data: {"ascii":"abcABC123!"#"} +D/MyActivity(20387): event: pong, test_type: return data object, data: {"data":"{\"ascii\":\"abcABC123!\"#\"}"} +D/MyActivity(20387): event: pong, test_type: return data json, data: {"data":"{\"ascii\":\"abcABC123!\"#\"}"} +D/MyActivity(20387): event: pong, test_type: socket.io plain ascii, data: abcABC123!"# +D/MyActivity(20387): event: pong, test_type: socket.io object ascii, data: {"ascii":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: socket.io json ascii, data: {"ascii":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: socket.io plain ascii2, data: abcABC123!# +D/MyActivity(20387): event: pong, test_type: socket.io object ascii2, data: {"ascii2":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: socket.io json ascii2, data: {"ascii2":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: socket.io plain multibyteCharactors, data: BDFHJ +D/MyActivity(20387): event: pong, test_type: socket.io object multibyteCharactors, data: {"multibyteCharactors":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io json multibyteCharactors, data: {"multibyteCharactors":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io plain multibyteCharactors2, data: BDFHJ +D/MyActivity(20387): event: pong, test_type: socket.io object multibyteCharactors2, data: {"multibyteCharactors2":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io json multibyteCharactors2, data: {"multibyteCharactors2":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: return data plain, data: abcABC123!# +D/MyActivity(20387): event: pong, test_type: return data object, data: {"data":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: return data json, data: {"data":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: socket.io plain ascii, data: abcABC123!"# +D/MyActivity(20387): event: pong, test_type: socket.io object ascii, data: {"ascii":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: socket.io json ascii, data: {"ascii":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: socket.io plain ascii2, data: abcABC123!# +D/MyActivity(20387): event: pong, test_type: socket.io object ascii2, data: {"ascii2":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: socket.io json ascii2, data: {"ascii2":"abcABC123!#"} +D/dalvikvm(20387): GC_FOR_ALLOC freed 488K, 3% free 17303K/17824K, paused 10ms, total 10ms +D/MyActivity(20387): event: pong, test_type: socket.io plain multibyteCharactors, data: BDFHJ +D/MyActivity(20387): event: pong, test_type: socket.io object multibyteCharactors, data: {"multibyteCharactors":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io json multibyteCharactors, data: {"multibyteCharactors":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io plain multibyteCharactors2, data: BDFHJ +D/MyActivity(20387): event: pong, test_type: socket.io object multibyteCharactors2, data: {"multibyteCharactors2":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io json multibyteCharactors2, data: {"multibyteCharactors2":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: return data plain, data: {"ascii2":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: return data object, data: {"data":"{\"ascii2\":\"abcABC123!#\"}"} +D/MyActivity(20387): event: pong, test_type: return data json, data: {"data":"{\"ascii2\":\"abcABC123!#\"}"} +D/MyActivity(20387): event: pong, test_type: socket.io plain ascii, data: abcABC123!"# +D/MyActivity(20387): event: pong, test_type: socket.io object ascii, data: {"ascii":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: socket.io json ascii, data: {"ascii":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: socket.io plain ascii2, data: abcABC123!# +D/MyActivity(20387): event: pong, test_type: socket.io object ascii2, data: {"ascii2":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: socket.io json ascii2, data: {"ascii2":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: socket.io plain multibyteCharactors, data: BDFHJ +D/MyActivity(20387): event: pong, test_type: socket.io object multibyteCharactors, data: {"multibyteCharactors":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io json multibyteCharactors, data: {"multibyteCharactors":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io plain multibyteCharactors2, data: BDFHJ +D/MyActivity(20387): event: pong, test_type: socket.io object multibyteCharactors2, data: {"multibyteCharactors2":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io json multibyteCharactors2, data: {"multibyteCharactors2":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: return data plain, data: あいうえお +D/MyActivity(20387): event: pong, test_type: return data object, data: {"data":"あいうえお"} +D/MyActivity(20387): event: pong, test_type: return data json, data: {"data":"あいうえお"} +D/MyActivity(20387): event: pong, test_type: socket.io plain ascii, data: abcABC123!"# +D/MyActivity(20387): event: pong, test_type: socket.io object ascii, data: {"ascii":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: socket.io json ascii, data: {"ascii":"abcABC123!\"#"} +D/MyActivity(20387): event: pong, test_type: socket.io plain ascii2, data: abcABC123!# +D/MyActivity(20387): event: pong, test_type: socket.io object ascii2, data: {"ascii2":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: socket.io json ascii2, data: {"ascii2":"abcABC123!#"} +D/MyActivity(20387): event: pong, test_type: socket.io plain multibyteCharactors, data: BDFHJ +D/MyActivity(20387): event: pong, test_type: socket.io object multibyteCharactors, data: {"multibyteCharactors":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io json multibyteCharactors, data: {"multibyteCharactors":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io plain multibyteCharactors2, data: BDFHJ +D/MyActivity(20387): event: pong, test_type: socket.io object multibyteCharactors2, data: {"multibyteCharactors2":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: socket.io json multibyteCharactors2, data: {"multibyteCharactors2":"BDFHJ"} +D/MyActivity(20387): event: pong, test_type: return data plain, data: {"multibyteCharactors":"あいうえお"} +D/MyActivity(20387): event: pong, test_type: return data object, data: {"data":"{\"multibyteCharactors\":\"あいうえお\"}"} +D/MyActivity(20387): event: pong, test_type: return data json, data: {"data":"{\"multibyteCharactors\":\"あいうえお\"}"} \ No newline at end of file diff --git a/multibyte_test/android/multibyteChecker/.gitignore b/multibyte_test/android/multibyteChecker/.gitignore new file mode 100644 index 00000000..afbdab33 --- /dev/null +++ b/multibyte_test/android/multibyteChecker/.gitignore @@ -0,0 +1,6 @@ +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build diff --git a/multibyte_test/android/multibyteChecker/app/.gitignore b/multibyte_test/android/multibyteChecker/app/.gitignore new file mode 100644 index 00000000..796b96d1 --- /dev/null +++ b/multibyte_test/android/multibyteChecker/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/multibyte_test/android/multibyteChecker/app/build.gradle b/multibyte_test/android/multibyteChecker/app/build.gradle new file mode 100644 index 00000000..3044dafe --- /dev/null +++ b/multibyte_test/android/multibyteChecker/app/build.gradle @@ -0,0 +1,26 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 19 + buildToolsVersion "20.0.0" + + defaultConfig { + applicationId "com.example.multibytechecker.multibytechecker" + minSdkVersion 19 + targetSdkVersion 19 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + runProguard false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + compile 'com.github.nkzawa:socket.io-client:0.1.3' + compile 'com.google.code.gson:gson:+' +} diff --git a/multibyte_test/android/multibyteChecker/app/proguard-rules.pro b/multibyte_test/android/multibyteChecker/app/proguard-rules.pro new file mode 100644 index 00000000..c722b011 --- /dev/null +++ b/multibyte_test/android/multibyteChecker/app/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/maimuzo/OutOfBackup/android-sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/multibyte_test/android/multibyteChecker/app/src/androidTest/java/com/example/multibytechecker/multibytechecker/ApplicationTest.java b/multibyte_test/android/multibyteChecker/app/src/androidTest/java/com/example/multibytechecker/multibytechecker/ApplicationTest.java new file mode 100644 index 00000000..3ba4165e --- /dev/null +++ b/multibyte_test/android/multibyteChecker/app/src/androidTest/java/com/example/multibytechecker/multibytechecker/ApplicationTest.java @@ -0,0 +1,13 @@ +package com.example.multibytechecker.multibytechecker; + +import android.app.Application; +import android.test.ApplicationTestCase; + +/** + * Testing Fundamentals + */ +public class ApplicationTest extends ApplicationTestCase { + public ApplicationTest() { + super(Application.class); + } +} \ No newline at end of file diff --git a/multibyte_test/android/multibyteChecker/app/src/main/AndroidManifest.xml b/multibyte_test/android/multibyteChecker/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..578cb393 --- /dev/null +++ b/multibyte_test/android/multibyteChecker/app/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + diff --git a/multibyte_test/android/multibyteChecker/app/src/main/java/com/example/multibytechecker/multibytechecker/MyActivity.java b/multibyte_test/android/multibyteChecker/app/src/main/java/com/example/multibytechecker/multibytechecker/MyActivity.java new file mode 100644 index 00000000..12d51a4b --- /dev/null +++ b/multibyte_test/android/multibyteChecker/app/src/main/java/com/example/multibytechecker/multibytechecker/MyActivity.java @@ -0,0 +1,86 @@ +package com.example.multibytechecker.multibytechecker; + +import android.app.Activity; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.TextView; + +import com.github.nkzawa.emitter.Emitter; +import com.github.nkzawa.socketio.client.IO; +import com.github.nkzawa.socketio.client.Socket; + +import java.net.URISyntaxException; + + +public class MyActivity extends Activity { + private static final String TAG = MyActivity.class.getSimpleName(); + private TextView mTextLog; + + + public static final String DEFUALT_SERVER_URL = "http://location.dev.d-p-s.jp"; + private Socket socket; + + private static final String ascii = "abcABC123!\"#"; + private static final String ascii2 = "abcABC123!#"; + private static final String multibyteCharactors = "あいうえお"; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_my); + mTextLog = (TextView) findViewById(R.id.text_log); + + findViewById(R.id.button_ping1).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Log.d(TAG, "emit ascii"); + socket.emit("ping", "android plain ascii", ascii); + socket.emit("ping", "android json ascii", "{\"ascii\":\"" + ascii + "\"}"); + Log.d(TAG, "emit ascii2"); + socket.emit("ping", "android plain ascii2", ascii2); + socket.emit("ping", "android json ascii2", "{\"ascii2\":\"" + ascii2 + "\"}"); + Log.d(TAG, "emit multibyteCharactors"); + socket.emit("ping", "android plain mutibyte charactor", multibyteCharactors); + socket.emit("ping", "android json multibyte charactor", "{\"multibyteCharactors\":\"" + multibyteCharactors + "\"}"); + } + }); + + IO.Options opts = new IO.Options(); + Log.d(TAG, "opts.forceNew: " + opts.forceNew + ", opts.reconnection: " + opts.reconnection); + opts.forceNew = true; + opts.reconnection = false; + + try { + socket = IO.socket(DEFUALT_SERVER_URL, opts); + Log.d(TAG, "set on listeners..."); + socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() { + @Override + public void call(Object... args) { + Log.d(TAG, "connected"); + } + }).on("pong", new Emitter.Listener() { + @Override + public void call(final Object... args) { + try{ + final String dump = "event: pong, test_type: " + args[0] + ", data: " + args[1]; + Log.d(TAG, dump); + runOnUiThread(new Runnable() { + @Override + public void run() { + mTextLog.append(dump + "\n"); + } + }); + } catch (Exception e){ + Log.e(TAG, e.getMessage(), e); + } + } + }); + Log.d(TAG, "try to connect..."); + socket.open(); + } catch (URISyntaxException e) { + e.printStackTrace(); + } + } + +} diff --git a/multibyte_test/android/multibyteChecker/app/src/main/res/drawable-hdpi/ic_launcher.png b/multibyte_test/android/multibyteChecker/app/src/main/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 00000000..96a442e5 Binary files /dev/null and b/multibyte_test/android/multibyteChecker/app/src/main/res/drawable-hdpi/ic_launcher.png differ diff --git a/multibyte_test/android/multibyteChecker/app/src/main/res/drawable-mdpi/ic_launcher.png b/multibyte_test/android/multibyteChecker/app/src/main/res/drawable-mdpi/ic_launcher.png new file mode 100644 index 00000000..359047df Binary files /dev/null and b/multibyte_test/android/multibyteChecker/app/src/main/res/drawable-mdpi/ic_launcher.png differ diff --git a/multibyte_test/android/multibyteChecker/app/src/main/res/drawable-xhdpi/ic_launcher.png b/multibyte_test/android/multibyteChecker/app/src/main/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 00000000..71c6d760 Binary files /dev/null and b/multibyte_test/android/multibyteChecker/app/src/main/res/drawable-xhdpi/ic_launcher.png differ diff --git a/multibyte_test/android/multibyteChecker/app/src/main/res/drawable-xxhdpi/ic_launcher.png b/multibyte_test/android/multibyteChecker/app/src/main/res/drawable-xxhdpi/ic_launcher.png new file mode 100644 index 00000000..4df18946 Binary files /dev/null and b/multibyte_test/android/multibyteChecker/app/src/main/res/drawable-xxhdpi/ic_launcher.png differ diff --git a/multibyte_test/android/multibyteChecker/app/src/main/res/layout/activity_my.xml b/multibyte_test/android/multibyteChecker/app/src/main/res/layout/activity_my.xml new file mode 100644 index 00000000..a8b5a00a --- /dev/null +++ b/multibyte_test/android/multibyteChecker/app/src/main/res/layout/activity_my.xml @@ -0,0 +1,53 @@ + + + + +