给Web套个壳让它变成Android APP,有哪些现有的工具

给Web套个壳让它变成Android APP,有哪些现有的工具,第1张

就我个人而言去除 QT 源生之外, 也使用过H5开发。 你说的WEB套壳应该就是 H5开发。说两款我用过的 Hbuilder + MUI 和 Apicloud 都是基于H5开发的, 会写前端就能进行安卓 苹果 应用的开发。个人比较推荐apicloud, Apicloud有自己的模块中心,有很多别人封装好的底层模块代码, 直接可以通过JS调用, 而且一直在丰富, 这点稍好于Hbuilder。apicloud社区也不错, 每周都有一次 所谓的 专家答疑, 如果是初次使用H5开发 , 还是比较推荐的。

按照aosp的协议,套壳是允许的,合法的。事实上绝大多数开源协议都允许套壳。

有极少的开源协议不允许套壳:这些开源协议规定套壳必须改名,如果你套壳了还用软件原来的名称发布则违反协议。

鸿蒙改掉了所有的含安卓的名称,所以就算是以最严格的那一类开源协议来看,它的套壳也是完全合法的。

因为 Android 本身是基于 Linux 开发,而 Linux 之所以会被开发出来就是因为 Unix 受制于各种专利产生的授权限制,开源许可证就是为了解决这个问题而设计的,AOSP 是一定要遵守的,否则他自己就不能用 Linux,所以法律问题在 Linux 这个层次就已经解决了。

总结如下:

鸿蒙 OS 只要在销售时不内置 Google 自己的服务,例如 Gmail,YouTube 等,无论是 Google 还是美国政府,都是对他无能为力的。

所以要谈自主,鸿蒙的确是自主的,只不过这个自主是一个芬兰人解决的,对此你可以看一下我在回答另一个问题时科普的历史过程。

(1) js调用android的方法:

WebView wView;

wView addJavascriptInterface (Object obj, String interfaceName);

是实例化一个对象,在html的js中调用,第二个参数是实例化对象的别名,如果要使用这个obj,则在js中使用的名字

就是interfaceName。

public class jsWebDemo extends Activity {

WebView wView;

/ Called when the activity is first created /

@Override

public void onCreate(Bundle savedInstanceState) {

superonCreate(savedInstanceState);

setContentView(Rlayoutmain);

wView = (WebView)findViewById(Ridwv1);

WebSettings wSet = wViewgetSettings();

wSetsetJavaScriptEnabled(true);

ProxyBridge pBridge = new ProxyBridge();

wViewaddJavascriptInterface(pBridge, "AliansBridge");

wViewloadUrl("file:///android_asset/indexhtml");

}

private class ProxyBridge {

public int one () {

return 1;

}

}

}

来看一下indexhtml的内容:

<html>

<mce:script language="javascript"><!--

/ This function is invoked by the activity /

function wave() {

alert("1");

documentgetElementById("droid")src="android_wavingpng";

alert("2");

}

// --></mce:script>

<body>

<div id="output">Test page</div>

<a onClick="windowdemoclickOnAndroid()">

<div style="width:100px;

margin:0px auto;

padding:10px;

text-align:center;

border:2px solid #202020;" >

<img id="droid" src="android_normalpng" mce_src="android_normalpng"/><br>

Click me!

</div>

</a>

<input type="submit" value="change to 1" onclick="documentgetElementById('output')innerHTML

=AliansBridgeone()" />

</body>

</html>

这里的AliansBridge即是调用的JAVA对象。

要注意的是,如果你只有一个方法需要被js调用只new一个对象就行:

ProxyBridge pBridge = new ProxyBridge();

wViewaddJavascriptInterface(pBridge, "AliansBridge");

如果你需要调用好多个方法,就要把整个android程序所在的类本身实例化传递进去:

wViewaddJavascriptInterface(this, "AliansBridge");

(2) android调用js的方法:wViewsetWebChromeClient (WebChromeClient client)

要用到Handler更新UI,Handler mHandler = new Handler();

mWebViewsetWebChromeClient(new MyWebChromeClient());

mWebViewaddJavascriptInterface(new Object(){

/

This is not called on the UI thread Post a runnable to invoke

loadUrl on the UI thread

/

public void clickOnAndroid() {

mHandlerpost(new Runnable() {

public void run() {

mWebViewloadUrl("javascript:wave()");

}

});

}

}, "demo");

同理,在html中必须有一个名为demo的对象调用clickOnAndroid()方法。

/

Provides a hook for calling "alert" from javascript Useful for

debugging your javascript

/

final class MyWebChromeClient extends WebChromeClient {

@Override

public boolean onJsAlert(WebView view, String url, String message,

JsResult result) {

resultconfirm();

return superonJsAlert(view, url, message, result);

}

}

问题一:如何用eclipse编写安卓程序 方法/步骤

1

1)首先,下载android SDK介绍一种非常简单的方法,一并下载eclipse在百度中输入android SDK,进入搜索界面。选中第一条。

2)如果你已经有eclipse,你可以直接在eclipse中进行android SDK插件的安装。方法就是点击上面菜单里的help,选择install new software进行添加SDK。具体方法见经验如何在eclipse中添加android SDk。

2

进入下载界面后,选择适合自己电脑的SDK进行下载。这里下载的是android开发工具,非常的简单实用,不需要我么重新下载eclipse,在这个下载包中会自带一个eclipse FOR android的develop工具,我们直接在里面就可以进行android的开发。

3

下载完成后解压,解压后我们进入文件名为eclipse的文件夹中。点击eclipse应用程序,运行。运行如图,和我们常用的eclipse是不一样的因为这个是android的开发工具,只适用于开发android。里面有好的插件已经提供给我们,不需要再进行安装。

4

进入eclipse界面后,开始新建android项目。输入新建项目名,如果没有特殊要求,点击next一直至最后完成。开始的配置只是一个大体的框架的构建,这些我们可以以后进行修改,最总要的还是代码的编写。

5

所有配置都完成后就可以开始进行android的开发了。如图:

进行android开发的时候建议不要用拖拽控件的方式,建议直接编写代码。

END

java环境变量配置

1

这里顺便介绍一下java环境变量的配置。

1)首先打开环境变量的界面,添加一个JAVA_HOME的值。右击计算机属性,在左侧有高级设置,进入后就会看见环境变量选项了。

2)在系统变量中建立java_home,将你的java SDK所在的路径放在里面。

2

建立classpath。同样在系统变量中新建一个classpath,在下面输入;即可,不用输入其他的值。

3

运行cmd,测试。按win+R打开命令面板,输入cmd,进入后输入java -version然后回车,接着输入javac,回车,看结果是否与下图相同。

这里需要注意的是java -version的java后面是有空格的。

问题二:如何开发安卓第一个程序Hello World 1

打开eclipse集成sdk开发环境,点击菜单file――》new――》Android application新建安卓项目

2

输入工程名,项目名,还有包名,点击下一步。

3

信心勾选不要更改,点击下一步。

4

这个步骤是选择应用的启动图标,如果想改就改,不想改就点击下一步

5

选中blackActivity,点击下一步

6

输入activity的名称,main的名称,点击下一步。

7

项目创建好了,右键要启动的项目,run as 选中Android application启动项目

8

然后模拟器启动好之后,,helloworld就创建好了

问题三:如何自学 Android 编程 因为项目需要,8月中旬开始决定做安卓的程序,所以马上就开始学习安卓方面的开发知识,把最近的学习实践经历和大家分享分享。不要一开始就下载一大堆资料,视频,然后就不知道做什么了,要给自己定个目标,我要做什么?我怎么达到目标?

我不懂java,但是懂C#和C++,所以我没主张去单独学习java语言,如果你是个最最初的新手,没啥语言基础,那你必须先看看java语言,不要很详细看,因为学习Android中,你也是在学习java。

1 明确目标

没有目标的学习,会感觉到后面没什么成果,在1年前,我也打算学习android开发的,但是目的就是学习,到网上去下载很多学习的视频,然后把开发环境搭建起来,能把Helloworld运行起来,能打些log,Activity之间也能互相切换了,但是后面也就不了了之了,因为不知道学了要干什么。依葫芦画瓢的做了几个例子,因为里面的问题都是已经解决的,所以也没能深入的系统学习。

这次因为产品的需要,要做Android版本,要做的东西一开始就已经设计好了,见摇摇2选1安卓版本,刚开始也不知道里面有些什么技术难度,但是要做的目标已经明确了,而且也没有现成的,碰到问题就查资料,慢慢地解决,这样有的放矢,学习的效果非常好。既有现成的技术可以使用,又有些技术,需要查比较多的资料,这样记忆就比较深刻,所掌握的知识也比较系统。

接下来的一系列文章,我会把在开发摇摇2选1中遇到的问题,给大家详细讲讲,程序虽然小,但是五脏俱全,做Demo和做产品的要求完全不是一个级别,如果Android大牛感觉知识讲的比较浅,那可以绕道,毕竟我是从一个完全的新手开始的。

2 了解安卓开发中比较困难的地方

学习一个新平台,就要知道此平台开发要面临的困难有哪些,不要做到最后,这些问题没有考虑,那就比较糟糕了。在网上搜索了下,安卓开发困难总结如何:

1)安卓系统版本比较多,各版本之间的兼容性是个问题,此为系统碎片。

2)安卓设备千变万化,设备难以统一,每个产品都成为独立,分散的Android碎片。

3)分辨率五花八门。一个产品,可能需要多个界面排版,人工消耗比较大。

看到这张图,有没有头疼的感觉?

总结成一句话:Android的碎片化真是要来开发者的命。

3 搭建开发环境

巧妇难为无米之炊,开发环境肯定是第一件要做的事情,这类的文章已经很多了,我也不多说了,多说也就比较无聊了。感谢吴秦,也是博客园里的一员,他写的很详细了,见这里。

4 查看网友总结的一些经验。

不是什么都查看,开发中遇到什么问题,就去查看什么问题,这样你查到的知识,马上就能深入的实践,这样知识就巩固了。

1)首先当然要看Android的开发文档,里面其实大部分的知识都有了,还有就是SDK自带的Samples。

2)博客园里搜索“Android开发”,会出来一大把,很多网友都是很系统的讲解了。

3)eoe

android社区,里面有很多网友上传了现成的demo代码,里面很多都是模仿现在流行的产品的界面开发,很是不错。

5 掌握调试方法

个人一直认为,调试技巧是开发中最重要的技能,如果调试技能比较差,不知道如何查找问题,那不会是个好的程序员,其技能也不会高到哪里去。

Android做下来,感觉调试这块做的很不错了,这要感谢Eclipse

IDE做的比较不错,但是Android的界面排版部分,真的不敢恭维,Eclips>>

问题四:如何用c++写安卓手机软件? 这个你不容易,安卓是java写的,你学过C和C++想写安卓软件既需要学java语言,又需要学安卓手机的接口,相当于新学,不天天学两三年写不出什么东西的。建议写个win7能用的加壳程序,现在的壳基本上是以前系统上的,win7实用的不多。

问题五:怎样编写安卓手机程序???用什么软件编写 。 说具体点 。 楼主看一下这个教程,或许能帮到您。 panbaidu/703809

问题六:怎样将自己写的程序放到android手机里运行 你是用ECLIPSE开发的程序吧?

如果是的话可以先USB接上手机和电脑,手机打开调试模式然后直接在项目上右键 -伐> 运行方式 -- > android application 可以直接运行

APK文件的话在项目的BIN目录下面

问题七:安卓软件怎么写 写安卓程序的话有好多平台,常用的就是eclipse和myeclipse,我场做安卓开发都是用这两个平台。安装起来也方便,当然,如果您的水平高的话可以直接记事本写代码再编译。。。

问题八:安卓开发软件欢迎界面怎么做 显示一个加载的界面,增加一个延时任务。比如用handler,几秒后再执行跳转到主界面。

问题九:如何学习安卓软件开发 200分 你把android sdk中的开发文档下载到本地,然后eclipse中就有javadoc显示了,你就能在代码里看到每个库函数的用法了。书的话我建议买 精通Android2 ,或者 Android2高级编程 这两本书,讲解的细致,但是一定要结合sdk来看。国内的不要买。。。。(切身体会,千万别买)看完之后就可以自己动手做做项目了。对于java基础,我现在的感觉是 如果要深入学习android平台,java基础一定要好(里边包括各种java类库的用法,本地代码jni什么的)。但如果平时随便做做应用的话,会面向对象编程就完全可以了。

关于鸿蒙系统的争论一直讨论激烈,有人无知,有人浑水摸鱼……各色人种千奇百怪。本来网上关于鸿蒙的文章、科普很多了,作为一个非专业的关注者不想踩雷,可是实在看不下去各种混淆视听,带偏舆论的声音。以我所知,希望简单明了的从我个人认知角度谈一谈,愿对真正关心这个中国自己,华为呕心沥血研究出的万物互联系统有个清晰、明确的认知。

下面我主要从争议最大的鸿蒙是不是安卓套壳和鸿蒙既然不是安卓套壳为什么要兼容安卓APP两个方面来谈一谈。

鸿蒙系统是不是安卓套壳?

上图包括现在存在的手机系统的前世今生和相互关系。鸿蒙在华为没有推出之前,还有诺基亚搞过的塞班系统,后来没能存活。现在是安卓和苹果统领手机系统。可以看出鸿蒙和安卓都是基于Linux开源开发出来的属于同级别的,也就不存在套壳的说法。

上图两部手机都是我的,升级鸿蒙后开机画面已经不同。如果基于安卓,开机画面必有安卓英文。也能说明鸿蒙和安卓是各自基于Linux研发出来的独立系统。不同于基于安卓的OPPO、VIVO、小米的MIUI和华为以前的EMUI,他们共同特点是基于安卓改造的UI,开机画面都有安卓英文,不能称之为手机系统。

还有同样基于Linux,鸿蒙系统是微内核 ,安卓是宏内核。微内核各内核有问题不会相互影响,而不会导致系统崩溃,宏内核就会崩溃。

鸿蒙系统不只是手机系统,他高于安卓和苹果系统的,是万物互联前瞻性的。有人说安卓和苹果也可以和PC、电脑、电视互联。虽然如此但是有本质区别,安卓和苹果需要通过安装APP作为媒介才能做到互联互通,而且延迟、卡顿和鸿蒙没有优势。如果是安装鸿蒙系统的设备,不需要安装APP就可以直接互联,简单方便、快捷。

再说鸿蒙系统既然不是安卓套壳为什么要兼容安卓APP?

这个问题很好回答。第一张图可以看出,安卓和苹果无论从市场占有率和研发时间上都已经无可争议的完全占有了手机系统市场。最早还有诺基亚的塞班,后来国内阿里和移动都出过自己的系统,都别说撼动他们的位置了,最后都无法生存而消失了。

为什么会这样?一个是研发时间早,长时间不断的投入改造升级。另一个庞大的市场占有率和完整成熟系统生态。新生系统面临没生态,没有市场占有率、新生系统成熟度,大众的选择也就一目了然,生存机率比九死一生还难。

鸿蒙系统研发时间晚,缺点很明显。优势后发有前车之鉴和华为做过基于安卓的EMUI对安卓了如指掌,有自己的庞大客户群基础。再一个鸿蒙前期布局就考虑到开拓新用户群和生态建设困难。面对安卓苹果已经完全占有的手机系统和生态环境。华为鸿蒙做了两方面的突围准备。一方面通过以前做安卓UI和同样基于linux的共性,可以通过方舟编译器兼容安卓APP作为过度留住客户群,无缝转鸿蒙系统。这样可以通过不影响客户体验的情况下升级为鸿蒙系统,在没有建立起完整成熟的生态前保留住客户群,换取时间去逐步换掉安卓APP,换成成熟的鸿蒙生态。就避免了,匆忙换鸿蒙系统没有生态系统和系统生态不成熟造成影响体验的负面问题,增加生存、发展机率。另一方面,安卓苹果完全统治手机系统,搏杀难度极高,继续升级客户鸿蒙系统先研发兼容安卓APP,稳定客户群而逐步研发自己的成熟生态替换;再就是华为提出的1+8+N战略。这个1就是手机,8是通过手机鸿蒙系统链接的其它安装鸿蒙系统的PC、电脑、 汽车 、电视……等其它设备,再通过这个8个子系统链接更多设备,做到万物互联。以前是手机为主是关键,在被制裁后,手机市场华为已经拓展乏力,增量大不如前。只好跳过关键的1,从后面的8开始同步发展,这样可以大幅度增加有鸿蒙系统设备的市场占有率,更多占有率就是更多的体验与广告,再稳步发展。这样做也是为了活下去,再发展壮大。

两个问题解答完了,再说一下题外话和我自己手机升级鸿蒙系统后的一些感受。

手机升级鸿蒙系统后感觉屏幕视觉比以前通透、流畅度提高了,耗电没有感觉变化。还增加许多方便的新功能。

大家都知道美国和中国打贸易战已经有两年了,首当其冲就是中兴,因为受制于人中兴接受巨额赔偿,美国监管部门进驻监督,才勉强活下来。然后又先在加拿大非法拘禁孟晚舟,华为没有答应条件,开启了旷日持久的孟晚舟案和起初对的华为制裁到全面制裁。美国举一国之力打压一个中国高 科技 公司,已经说明了华为这个世界五百强的 科技 公司的实力和实至名归。那些说华为研究的鸿蒙系统是“哄蒙”,是真的无知还是别有用心,我们都要坚决的回击,不能让他们混淆视听、浑水摸鱼误导舆论。华为作为世界五百强的 科技 公司,受美国打压已经很难,但是都没有动摇华为人拼搏向上的意志和不屈不挠的精神,冒着九死一生的风险继续艰难前行,为了我国不在交着高昂的专利费还要处处受制于人而奋勇前进。一直有人说鸿蒙就是个笑话,世界上那么多发达国家,为什么只有安卓苹果系统,可见研发生存难度,也间接证明了华为鸿蒙的实力和 科技 含量。外国人都没敢笑话放个屁,你们的质疑哪来的底气?鸿蒙系统是面向世界的,不是说个人或者一个公司弄出来的噱头,这样的玩笑华为这样的世界五百强能拿公司的声誉甚至生命去开玩笑吗?鸿蒙初生在这样世界环境下必然艰难,需要成长和磨砺,需要宽容、时间和客观看待的大众的支持,毕竟是我们国家自己的东西。我一定支持华为和鸿蒙系统,也相信他会越来越好,在世界上和安卓、苹果平起平坐,甚至超越它们!

文笔有限,可能有许多不足之处!欢迎大家理性探讨,留言沟通!

以上就是关于给Web套个壳让它变成Android APP,有哪些现有的工具全部的内容,包括:给Web套个壳让它变成Android APP,有哪些现有的工具、如果鸿蒙OS是安卓的 AOSP 套壳,为什么谷歌不去告华为、webapp套用android的webview的壳子.怎么做数据交互等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/9853557.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存