JavaScript -> Java (Android Studio), как совместить ..?
дима воротников
JavaScript -> Java (Android Studio), как совместить ..?
на javascript используется библиотека Paper, для того, что бы рисовать (в данном случае по нажатию на экране появляется точка), на компьютере через xampp всё работает, но если кинуть этот же скрипт на webview(android), то скрипты прогружаются, но само рисование не происходит. Возможно что-то надо передавать на майнактивити (возможно на Canvas надо передавать рисование)? так же не понятен мне addJavascriptInterface, может быть в нём проблема, просто не пойму как его описать правильно? и последний вопрос, реально ли вообще это сделать ?
так же обратил внимание, если в index написать так -
и прописать alert в sketch, то alert не появляется, но если прописать -
то alert появляется
вот тоже не понятная магия твориться
index.php
sketch.js (javascritp)
var k;
function onMouseDown(event)
{
k = new Path.Circle(event.point, 30);
k.fillColor = 'green';
console.log(k);
}
MainActivity.java(java)
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final JavaScriptInterface myJavaScriptInterface
= new JavaScriptInterface(this);
mWebView = (WebView) findViewById (R.id.webView);
mWebView.getSettings().setJavaScriptEnabled(true);
// mWebView.addJavascriptInterface(new JsObject(), "injectedObject");
mWebView.loadUrl("file:///android_asset/skatch/index.php");
mWebView.setWebChromeClient(new WebChromeClient());
}
public class JavaScriptInterface {
Context mContext;
JavaScriptInterface(Context c) {
mContext = c;
}
}
@Override
public void onBackPressed() {
if(mWebView.canGoBack()) {
mWebView.goBack();
} else {
super.onBackPressed();
}
}
}
заранее извиняюсь, если что-то коряво объяснил
и заранее спасибо за ответы :)
Ответы:
Imobilazer
PHP?
Чот я не уверен что в приложение встраивается Апач...
ппп
setContentView(mWebView);
|