重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
有,我知道一款,叫做AIDE , AIDE集成开发环境AIDE Android Java IDE:不仅手机适用,平板也能用。在编辑完成后,能直接将代码编译成可执行的APK文件,功能非常全面,可编辑各种语言,对学习者或者工作都有很大的帮助。个人不太建议用于专业工作,感觉在手机上不太好敲代码,错误可能出得比较多。
我们提供的服务有:网站设计、成都网站制作、微信公众号开发、网站优化、网站认证、达日ssl等。为上1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的达日网站制作公司
这个软件自动纠错,智能教学,能让菜鸟随时随地写java,而且安装程序集成jdk,加起来不到100m,推荐给你,你下载可以下载 for java 版的,下面是我手机上用的截图。不过在手机上编写代码实在不推荐,很不方便。
在Android上怎样实现JAVA和JS交互呢?Android的webview是基于webkit内核的,webview中集成了js与java互调的接口函数,通过addJavas criptInterface方法,可以将Java的类注册进webkit,给网页上的js进行调用,而且还可以通过loadUrl方法是给webkit传递一个URL,供浏览器来进行解析,实现Java和js交互。
要想运行网页上的js脚本,webview必须设置支持Javas cript。
Java代码
1mWebview.getSettings().setJavas criptEnabled(true);
然后是设置webview要加载的网页:
web的网页:webView.loadUrl("");
本地的网页:webView.loadUrl(""); //本地的存放在:assets文件夹中
webview做完基本的初始化后我们还要要给它,加进一个回调的代理类Javas criptInterface,并给它一个调用的名称:ncp
Java代码
1mWebView.addJavas criptInterface(new Javas criptInterface(),"ncp");
Javas criptInterface可以是一个普通的Java类,类实现的方法,均可被js回调:
Java代码
final class Javas criptInterface {
public int callOnJs() {
return 1000;
}
public void callOnJs2(String mode) {
//TODO
}
}
Java要调用js的方法,只需知道js的方法名称即可:
Java代码
1mWebView.loadUrl("javas cript:onSaveCallback()");
改成这样
EditText edt = (EditText)MyAndroidActivity.this.findViewById(R.id.edt);
TextView txt = (TextView)MyAndroidActivity.this.findViewById(R.id.txt);
你在String.xml中的那个helloWorld只是一个字符串的键值对和这里没有半点关系
手机上理论上是可以进行java语言编程的,需要下载模拟器,里面内置java所需的编译环境,还有编辑器。
但不建议用手机编程,因为本身屏幕、内存、键盘敲打速度都不及电脑方便。
你可以使用以下代码代替你的 ACTION_CALL(推荐):
Intent intent = new Intent(Intent.ACTION_DIAL);
也可以参考这里,在 manifest 中添加
android.permission.PHONE_CALL
的权限,并且在拨打电话之前检验权限:
//检查是否已经给了权限
int checkpermission= ContextCompat.checkSelfPermission(getApplicationContext(),Manifest.permission.ACCESS_FINE_LOCATION);
if(checkpermission!=PackageManager.PERMISSION_GRANTED){ //没有给权限,申请
//参数分别是当前活动,权限字符串数组,requestcode
ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
// 暂时使用 DIAL 代替 CALL
Intent intent = new Intent(Intent.PHONE_DIAL);
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
} else {
// 直接使用 CALL
Intent intent = new Intent(Intent.PHONE_CALL);
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
}
然后添加一个方法:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
//grantResults数组与权限字符串数组对应,里面存放权限申请结果
if(grantResults[0]== PackageManager.PERMISSION_GRANTED){
// 放已授权的处理方法
}else{
// 放拒绝授权的处理方法
Toast.makeText(MainActivity.this,"拒绝授权",Toast.LENGTH_SHORT).show();
}
}
参考:CSDN