Articles of java

Javascript回调函数传递给Android

我有一个用Java实现的javascript接口,由我在webview中加载的javascript代码调用。 JS Inside webview: Android.myFunction(function(data){ console.log(data); }); Java的: public class JavaScriptInterface { Context context; WebView webView; JavaScriptInterface(Context c, WebView w) { context = c; webView = w; } public void myFunction(String callback) { //when I log callback, it is “undefined” String someData = “Yay for data”; String js = “javascript:(function() { ” + “var callback […]

如何从HttpResponse打印出返回的消息?

我的Android手机上有这个代码。 URI uri = new URI(url); HttpPost post = new HttpPost(uri); HttpClient client = new DefaultHttpClient(); HttpResponse response = client.execute(post); 我有一个asp.net webform应用程序,在页面加载这个 Response.Output.Write(“It worked”); 我想从HttpReponse中获取此响应并将其打印出来。 我该怎么做呢? 我尝试了response.getEntity().toString()但它似乎打印出内存中的地址。 谢谢

setTimeOut()javascript到Android的等价物是什么?

我需要setTimeOut(call function(),milliseconds);的等效代码setTimeOut(call function(),milliseconds); 对于Android。 setTimeOut(call function(),milliseconds);

在Android上运行NodeJS的可行选项(2017年8月)

有许多旧的SO线程处理在Android上运行NodeJS。 其中大多数不再可行(JXCore)和/或提供令人困惑,过时,不完整或错误的信息。 因此,我调查了目前(截至2017年8月)可行的方法,并find了三个可能的候选人。 要在他们之间做出决定,我想知道: 这些方法之间的主要区别 每种方法的特定专业人员和骗局 可能遇到障碍,挑战和缺点 你知道其他可行的替代方案吗? 可行的方法是 : 运行包含NodeJS ( J2V8 )的V8 javascript引擎 直接使用NodeJS,嵌入为本机库( node-on-android ) 将React Native与NodeJS app-as-a-service( react-native-node )相结合 除此之外,我还find了许多相关的有趣资源: NPM在没有root的情况下直接使用Termux安装NodeJS(不适用于最终用户) LiquidCore – 原生移动微应用程序devenv(未调查,有趣的概念) dna2oslab – 有一个用于节点可执行文件的工作NodeJS构建脚本 为Android构建NodeJS – 博客提供有用的编译技巧和示例项目

Cordova PhoneGap从2.2.0升级到5.1.1

我有Cordova应用程序,版本2.2.0。 现在我要升级,我已经做了升级部分,升级后,应用程序图像不显示,它来了空白屏幕。 即使是闪屏也没来。 这是我的代码 现在我达到了某种程度。 我模拟的应用程序是关于SQLitePlugin问题。 当Open数据库说db.cordova没有定义时 如何安装数据库 – 将数据库从db文件夹复制到android安装位置。 这工作得很好。 这是我的数据库: var DB = new Object(); DB.isDBSupported = false; DB.isDBCreated = false; DB.vocabDB = null; DB.tables = [‘userResponses’, ‘wordGroups’, ‘words’, ‘wordMapping’, ‘checkExists’, ‘patch_version’] DB.createdTables = 0; DB.setupCallback = null; DB.curQP = null; DB.accountStatus = false; DB.sfx = true; DB.showWarnings = true; DB.firstLaunch = false; […]

使用GSAP的Android webview:尝试删除非JNI本地引用,转储线程

在使用Nexus5仿真器的Android Studio 1.4中,每次在webview中使用GSAP都有3Danimation(x,y,rotationX,rotationY,rotationZ)时,logcat会发出大量此消息: Attempt to remove non-JNI local reference, dumping thread 这似乎不会影响我的webapp的行为,除了产生消息时的一些口吃,这对于需要几秒钟完成的animation来说是多次。 关于如何停止的任何想法,或者这甚至是一个问题? 更新:我的测试设备,三星Galaxy S4上没有出现错误。 所以它可能只是一个模拟器问题。

Android主线程阻塞WebView线程

我一直在努力解决在WebView对JavaScript进行同步调用(带有返回值)的问题,并尝试缩小为什么它不起作用的地方和原因。 似乎WebView线程在主线程等待来自它的响应时阻塞 – 由于WebView在单独的线程上运行,因此不应该这样。 我把这个小样本放在一起,相当清楚地展示了它(我希望): main.xml中: MyActivity.java: package com.example.myapp; import android.app.Activity; import android.os.Build; import android.os.Bundle; import android.util.Log; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.JavascriptInterface; import android.webkit.WebViewClient; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; public class MyActivity extends Activity { public final static String TAG = “MyActivity”; private WebView webView; private JSInterface JS; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); […]

在Android上使用addJavascriptInterface()传递JavaScript对象

是否可以使用addJavascriptInterface()将JavaScript对象从JavaScript传递给Java? 这些方面的东西: var javaScriptObject = {“field1″:”string1”, “field2″:”string2”}; JavaScriptInterface.passObject(javaScriptObject); 如何在Java端捕获这样的调用? 设置接口以发送字符串没有问题,但是当我发送一个对象时,我在Java端收到null。

如何让Android TableLayout填满屏幕?

我正在与Android糟糕的布局系统作斗争。 我正试着让桌子填满屏幕(简单吧?)但是这太难了。 我让它以某种方式在XML中工作,如下所示: 但是,我不能让它在Java中工作。 我已经尝试了一百万种LayoutParams组合,但没有任何效果。 这是我最好的结果,它只填充屏幕的宽度,而不是高度: table = new TableLayout(this); // Java. You suck. TableLayout.LayoutParams lp = new TableLayout.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT); table.setLayoutParams(lp); // This line has no effect! WHYYYY?! table.setStretchAllColumns(true); for (int r = 0; r < 2; ++r) { TableRow row = new TableRow(this); for (int c = 0; c < 2; ++c) { […]

Android Turn-by-Turn API?

Android 2.0有转弯的方向 ,但是,我还没有看到在2.0 SDK中暴露的API。 是否有任何forms化的计划来公开API调用新的turn-by-turnfunction?