精华内容
下载资源
问答
  • Android将网页做成app– Jsoup网络解析框架 Jsoup能够获得网页数据,而我们在制作app的数据来源为一些公开网站,比如;干活集中营,豆瓣,知乎之类的。不过目前主流框架模式是Retrofit&RxJava。然而这种方法局限性...

    Android将网页做成app– Jsoup网络解析框架
    Jsoup能够获得网页数据,而我们在制作app的数据来源为一些公开网站,比如;干活集中营,豆瓣,知乎之类的。不过目前主流框架模式是Retrofit&RxJava。然而这种方法局限性很大,主要获取的数据都是很规范的,不能随意获得对应网页任意的数据。

    我们使用Jsoup做app时,需要对照网站源码来做,这样能够让我们快速获得自己想要的数据。

    首先做一下准备工作,打开网页https://xjh.haitou.cc/wh/uni-1/after/hold/page-1,我们使用浏览器的开发者模式
    这里写图片描述
    我们可以看到一行代码对应网页中的位置,这样方便我们写程序。

    我首先放出完整代码,然后再一步一步的讲解
    添加依赖

    compile 'org.jsoup:jsoup:1.9.2'

    代码

    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            TextView tv = (TextView)findViewById(R.id.tv);
            tv.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    new Thread(new Task()).start();
                }
            });
    
        }
    
        class Task implements Runnable {
            @Override
            public void run() {
                Log.v("test","start");
                String url = "http://xjh.haitou.cc/wh/uni-1/after/hold/page-1/";
                Connection conn = Jsoup.connect(url);
                // 修改http包中的header,伪装成浏览器进行抓取
                conn.header("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:32.0) Gecko/    20100101 Firefox/32.0");
                Document doc = null;
                try {
                    doc = conn.get();
                } catch (IOException e) {
                    e.printStackTrace();
                }
    
                // 获取tbody元素下的所有tr元素
                Elements elements = doc.select("tbody tr");
                for(Element element : elements) {
                    String companyName = element.select("div.company").first().text();
                    //String companyName = element.select("td.cxxt-title").first().text();
                    String time = element.select("td.text-left").first().text();
                    String address = element.select("td.text-ellipsis").first().text();
                    Log.v("test","---------------------------------");
                    Log.v("test","公司:"+companyName);
                    Log.v("test","宣讲时间:"+time);
                    Log.v("test","具体地点:"+address);
                    Log.v("test","---------------------------------");
                }
    
                Log.v("test","end");
            }
        }
    }
    

    首先从网页获取数据,是属于网络操作必须另起一个线程运行代码,

    conn.header("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:32.0) Gecko/    20100101 Firefox/32.0");
    Document doc = null;
    

    然后这个伪装成浏览器这步,基本成惯例,代码看起来是伪装成火狐浏览器。

                try {
                    doc = conn.get();
                } catch (IOException e) {
                    e.printStackTrace();
                }
    
                // 获取tbody元素下的所有tr元素
                Elements elements = doc.select("tbody tr");
    

    这个获得Elements元素,这个在网页开发者模式里可以看到tr这个标签代表着一条宣传会信息,其中有公司名,举办地点,举办时间等等。这个tbody是它自定义的标签,所以很好找,这个tbody在网站源代码就一个,所以能够确定唯一性。对于select函数唯一性很重要,然后它空了一行加tr,这说明是在找tbody标签的所有的tr标签。

    for(Element element : elements) {
        String companyName = element.select("div.company").first().text();
        //String companyName = element.select("td.cxxt-title").first().text();
        String time = element.select("td.text-left").first().text();
        String address = element.select("td.text-ellipsis").first().text();
        Log.v("test","---------------------------------");
        Log.v("test","公司:"+companyName);
        Log.v("test","宣讲时间:"+time);
        Log.v("test","具体地点:"+address);
        Log.v("test","---------------------------------");
    }
    

    这就是一个tr一个tr的解析获得数据。这里可以看到select函数的另一个用法,通过 标签名+.+类名 来获得一个元素,这个很重要,后来获得最终的数据都是使用这个函数。

    获得数据如下
    09-28 13:16:20.736 22136-22310/zzw.myapplication V/test: start
    09-28 13:16:27.006 22136-22310/zzw.myapplication V/test: ———————————
    09-28 13:16:27.006 22136-22310/zzw.myapplication V/test: 公司:深圳市星河互动科技有限公司
    09-28 13:16:27.006 22136-22310/zzw.myapplication V/test: 宣讲时间:2017-09-28 14:00 (今天)
    09-28 13:16:27.006 22136-22310/zzw.myapplication V/test: 具体地点:华科1号楼2楼报告厅
    09-28 13:16:27.006 22136-22310/zzw.myapplication V/test: ———————————
    09-28 13:16:27.006 22136-22310/zzw.myapplication V/test: 公司:深圳中兴飞贷金融科技有限公司

    还有很多就不贴出来了

    想要掌握Jsoup其实很简单,毕竟使用的函数很少,过程都是固定的。

    目前到此结束了,其实这距离做成app,还需要形成实体类,然后填充数据,界面完成。不过我不搞了,接下来大家自由发挥,换一个自己想做的网站,比如:B站
    下期再见。

    展开全文
  • 使用uni-app把h5网页封装安卓app

    千次阅读 2020-09-21 13:22:22
    文章目录简介创建一个uni-app项目使用web-view组件设置内嵌的页面高度为100%运行测试去除title元素 简介 uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及...

    简介

    uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。
    官网地址: https://uniapp.dcloud.io/

    开发需要使用到HBuilderX软件
    下载地址: https://www.dcloud.io/hbuilderx.html

    创建一个uni-app项目

    在这里插入图片描述

    使用web-view组件

    在这里插入图片描述

    修改 page/index/index.vue文件,把web-view 标签的src属性换成你的应用的访问路径

    <template>
    	<view class="content">
    	  <web-view :webview-styles="webviewStyles" src="http://www.baidu.com"></web-view>
    	</view>
    </template>
    
    <script>
    	export default {
    		data() {
    			return {
    				title: 'Hello'
    			}
    		},
    		onLoad() {},
    		methods: {}
    	}
    </script>
    

    设置内嵌的页面高度为100%

    <style>
    	.webviewStyles{
    		height: 100vh !important;
    	}
    	.content {
    		height: 100vh !important;
    	}
    	iframe{
    		height: 100% !important;
    	}
    </style>
    

    运行测试

    在这里插入图片描述

    重浏览器自带的手机网页模拟器中可以看到页面上方有个一个title

    在这里插入图片描述

    重页面的源代码中可以看到uni-page-wrapper标签是内嵌的网页主题内容,title内容在uni-page-header标签里面
    在这里插入图片描述

    去除title元素

    在App.vue文件中添加样式

    /*每个页面公共css */
    <style>
    	    /*隐藏head标签*/	
    	   uni-page-head{display: none;} 
    	   /*body高度100%*/
    	   uni-page-wrapper{height: 100% !important;}
    </style>
    
    

    刷新页面可以看到title内容已经消失了。
    在这里插入图片描述

    发布安卓app

    在这里插入图片描述

    • 勾选Android,取消iOS的勾选
    • 证书选择测试的证书
    • 点击打包
    • 打包完成会在HBuilderX程序的控制台输出一个下载链接,下载即可。
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    展开全文
  • 用html5了一个web通讯软件,现在需求是可不可以它转化手机app,我昨天弄了下android studio软件,按照网上的例子来,能做出最简单的手机app。但是android的xml都是控件,html是标签,如果我xml替换html...
  • 移动 App 开发 Native App-原生开发 开发技术 原生的 Android 平台 原生的 iOS 平台 JavaScript bridge 用于原生应用中的 Web 和原生平台进行交互。...原生应用中的 Web 怎么? Native APP 指的...

    移动 App 开发

    在这里插入图片描述

    Native App-原生开发

    开发技术

    • 原生的 Android 平台
    • 原生的 iOS 平台

    JavaScript bridge

    用于原生应用中的 Web 和原生平台进行交互。

    https://github.com/lzyzsd/JsBridge

    • 博学谷 - 在职加薪课
      • 《和原生交互的 Web 开发》

    原生应用中的 Web 怎么做?

    在这里插入图片描述

    Native APP 指的是原生程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强,需要用户下载安装使用。(简单来说,原生应用是特别为某种操作系统开发的,比如iOS、Android等等,它们是在各自的移动设备上运行的)

    该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。

    原生应用程序是某一个移动平台(比如iOS或安卓)所特有的,使用相应平台支持的开发工具和语言(比如iOS平台支持Xcode和Objective-C,安卓平台支持Eclipse和Java)。原生应用程序看起来(外观)和运行起来(性能)是最佳的。

    iOS

    • 语言:Object-C、Swift
    • 开发工具:XCode
    • 操作系统:macOS

    Android:

    • 语言:Java、Kotlin
    • 开发工具:Eclipse、Android Studio
    • 操作系统:Windows、macOS、Linux 都支持

    优点

    • 直接依托于操作系统,交互性最强,性能最好

      相比于其它模式的交互,原生APP体验是最优的

    • 功能最为强大,特别是在与系统交互中,几乎所有功能都能实现

      得益于原生是直接依托于系统的,所以可以直接调用官方提供的api,功能最为全面(比如本地资源操作,通知,动画等)

    缺点

    • 开发成本高,无法跨平台,不同平台Android和iOS上都要各自独立开发

      Android上基于Java开发,iOS上基于OC或Swift开发,相互之间独立,必须要有各自的开发人员

    • 更新缓慢,特别是发布应用商店后,需要等到审核周期

      原生应用更新是一个很大的问题,Android中还能直接下载整包APK进行更新,但是iOS中,如果是发布AppStore,必须通过AppStore地址更新,而每次更新都需要审核,所以无法达到及时更新

    • 维护成本高

      同开发一样,项目上线后,维护起来也很为01-麻烦

    Web App-网页开发

    Web App 指采用Html5写出的App,不需要下载安装。类似于现在所说的轻应用。生存在浏览器中的应用,基本上可以说是触屏版的网页应用。(Web应用本质上是为移动浏览器设计的基于Web的应用,它们是用普通Web开发语言开发的,可以在各种智能手机浏览器上运行)

    Web App开发即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。

    HTML5应用程序使用标准的Web技术,通常是HTML5、JavaScript和CSS。这种只编写一次、可到处运行的移动开发方法构建的跨平台移动应用程序可以在多个设备上运行。虽然开发人员单单使用HTML5和JavaScript就能构建功能复杂的应用程序,但仍然存在一些重大的局限性,具体包括

    会话管理、安全离线存储以及访问原生设备功能

    (摄像头、日历和地理位置等)。

    优点

    • 开发成本低,可以跨平台,调试方便,开发速度最快

      web app一般只需要一个前端人员开发出一套代码,然后即可应用于各大主流浏览器(特殊情况可以代码进行下兼容),没有新的学习成本,而且可以直接在浏览器中调试

    • 维护成本低

      同上,如果代码合理,只需要一名前端就可以维护多个web app

    • 更新最为快速

      由于web app资源是直接部署在服务器端的,所以只需要替换服务器端的文件,用户访问是就已经更新了(当然需要解决一些缓存问题)

    • 无需安装App,不会占用手机内存

      通过浏览器即可访问,无需安装,用户就会比较愿意去用

    缺点

    • 性能低,用户体验差

      由于是直接通过的浏览器访问,所以无法使用原生的API,操作体验不好

    • 依赖于网络,页面访问速度慢,耗费流量

      Web App每次访问都需要去服务端加载资源访问,所以必须依赖于网络,而且网速慢时访问速度很不理想,特别是在移动端,如果网站优化不好会无故消耗大量流量

    • 功能受限,大量功能无法实现

      只能使用Html5的一些02-特殊api,无法调用原生API,所以很多功能存在无法实现情况

    • 临时性入口,用户留存率低

      这既是它的优点,也是缺点,优点是无需安装,缺点是用完后有时候很难再找到,或者说很难专门为某个web app留存一个入口,导致用户很难再次使用

    Hybrid App-混合开发

    在这里插入图片描述

    Hybrid APP指的是半原生半Web的混合类App。需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是 Web 。

    混合应用程序让开发人员可以把HTML5应用程序嵌入到一个细薄的原生容器(WebView - 认为是一个浏览器)里面,集原生应用程序和HTML5应用程序的优点(及缺点)于一体。

    混合应用大家都知道是原生应用和Web应用的结合体,采用了原生应用的一部分、Web应用的一部分,所以必须在部分在设备上运行、部分在Web上运行。不过混合应用中比例很自由,比如Web 占90%,原生占10%;或者各占50%。

    有些应用最开始就是包了个原生客户端的壳,其实里面是HTML5的网页,后来才推出真正的原生应用。比较知名的APP,比如手机百度和淘宝客户端 Android版,走的也是Hybrid App的路线,不过手机百度里面封装的不是WebView,而是自己的浏览内核,所以体验上更像客户端,更高效。

    优点

    • 开发成本较低,可以跨平台,调试方便

      Hybrid模式下,由原生提供统一的API给JS调用,实际的主要逻辑有Html和JS来完成,而由于最终是放在webview中显示的,所以只需要写一套代码即可,达到跨平台效果,另外也可以直接在浏览器中调试,很为方便

      最重要的是只需要一个前端人员稍微学习下JS api的调用即可,无需两个独立的原生人员

      一般Hybrid中的跨平台最少可以跨三个平台:Android App,iOS App,普通webkit浏览器

    • 维护成本低,功能可复用

      同上,如果代码合理,只需要一名前端就可以维护多个app,而且很多功能还可以互相复用

    • 更新较为自由

      虽然没有web app更新那么快速,但是Hybrid中也可以通过原生提供api,进行资源主动下载,达到只更新资源文件,不更新apk(ipa)的效果

    • 针对新手友好,学习成本较低

      这种开发模式下,只需要前端人员关注一些原生提供的API,具体的实现无需关心,没有新的学习内容,只需要前端人员即可开发

    • 功能更加完善,性能和体验要比起web app好太多

      因为可以调用原生api,所以很多功能只要原生提供出就可以实现,另外性能也比较接近原生了

    • 部分性能要求的页面可用原生实现

      这应该是Hybrid模式的最多一个好处了,因为这种模式是原生混合web,所以我们完全可以将交互强,性能要求高的页面用原生写,然后一些其它页面用JS写,嵌入webview中,达到最佳体验

    缺点

    • 相比原生,性能仍然有较大损耗

      这种模式受限于webview的性能桎梏,相比原生而言有不少损耗,体验无法和原生相比

    • 不适用于交互性较强的app

      这种模式的主要应用是:一些新闻阅读类,信息展示类的app;但是不适用于一些交互较强或者性能要求较高的app(比如动画较多就不适合)

    相关技术

    共同点:

    • 把网页打包成移动 App
    • 使你的 Web 程序可以访问手机原生能力

    Cordova

    Cordova是Apache软件基金会的一个产品。其前身是PhoneGap,由Nitobi开发,2011年10月,Adobe收够了Nitobi,并且PhoneGap项目也被贡献给Apache软件基金会。Apache在2012年12月,发布了Cordova,截止到2015年12月,最新版面是3.0。

    该框架的目标用户群体是原生开发者,其设计初衷是希望用户群体能够通过跨平台开发的方法降低原生开发的成本。为此,开发人员需要安装原生开发环境,配置工程,使用HTML5、CSS3、JS和原生SDK生成应用。
    
    Cordova的优势很明显,可以使用的框架、原生接口、支持平台都很多。但是,外国人写的东西,公司使用后,出现的技术问题难以解决。同时,其在使用 jQuery Mobile、Sencha Touch等前端框架的时候,有特效启动慢、页面切换慢、数据请求慢的特点。
    

    APPCan

    AppCan成立于2010年,2011年推出产品并测试,2012年正式推出品牌,2013年商业模式成型,2014年开发者注册约70w。AppCan不是开源平台,同时,企业版和部分插件是收费的。换句话说,AppCan只是一个卖软件的商业公司。我们认为:这会对其市场的占有率有着直接影响,闭源而没有垄断,所以前景不会太好。

    DCloud

    DCloud大部分产品开源,W3C会员单位,HTML5中国产业联盟的发起公司之一,在HTML5这个行业有一定的江湖地位。旗下四款产品:HBuilder、5+ Runtime、MUI、流应用都是弥补并扩展HTML5特性的产品。该公司的理念就是解决HTML5的性能、工具、能力三方面的问题。MUI是一款不错的前端框架,性能比 jQuery Mobile、Bootstrap好很多,主要区别:

    • 设计思路不同,MUI坚持用原生JS做,不依赖jQuery或者Angularjs。

    • MUI调用了5+ Runtime的底层原生加速,比不带原生加速的框架更快。

      但是,DCloud毕竟是个新平台,发展才2年,新产品内部存在的Bug还需要很多的测试。在其官方社区中,不少开发者也在呼吁DCloud尽快完善文档和框架。

    API Cloud

    APICloud提供原生应用的功能模块(设备访问,界面布局,开放SDK等),开发者可以通过JS调用。前端工程师负责页面布局,UI展现,及简单的交互,原生模块负责性能方面和功能实现,两者结合形成一个完整的应用。同时APICloud提供了云数据库的功能,前端不必了解PHP,Node.js等后端语言,通过JS接口或Restful API实现数据库的增删改查。

    但是APICloud的更新速度很快,版本不太稳定。而且,它是为不懂APP开发的人士准备的,不适合科技公司和程序员。
    

    四种方式对比

    在这里插入图片描述

    在这里插入图片描述

    跨平台开发 Native App

    特点:使用类似于 Web 技术的方式来开发 Native App。

    在这里插入图片描述

    相关开发技术

    React Native(主流)

    • 公司:Facebook
    • 技术栈:React

    Weex(使用不多)

    • 公司:Apache 开源基金会
    • Vue.js 技术栈

    Flutter(未来趋势)

    • 公司:Google
    • 它提供了官方的原生 UI 组件
    • 比 RN、Weex 之类的体验更好
    • 开发语言:Dart(和 JavaScript 很像)
    • 商业应用:闲鱼

    优点

    • 虽然说开发成本大于Hybrid模式,但是小于原生模式,大部分代码可复用

      相比于原生模式,这种模式是统一用JS写代码,所以往往只需要一名成员投入学习,即可完成跨平台app的开发,而且后续代码封装的好,很多功能可复用

    • 性能体验高于Hybrid,不逊色与原生

      这种模式和Hybrid不一样,Hybrid中的view层实际上还是dom,但是这种模式的view层是虚拟dom,所以性能要高于Hybrid,距离原生差距不大

      这种模式可以认为是用JS写原生,即页面用JS写,然后原生通过Bridge技术分析JS,将JS内容单独渲染成原生Android和iOS,所以也就是为什么性能不逊色原生

    • 开发人员单一技术栈,一次学习,跨平台开发

      这种模式是统一由JS编写,有着独特的语法,所以只需要学习一次,即可同时开发Android和iOS

    • 社区繁荣,遇到问题容易解决

      这应该是React Native的很大一个优势,不像Hybrid模式和原生模式一样各自为营,这种模式是Facebook统一发起的,所以有一个统一的社区,里面有大量资源和活跃的人员,对开发者很友好

    缺点

    • 虽然可以部分跨平台,但并不是Hybrid中的一次编写,两次运行那种,而是不同平台代码有所区别

      这种模式实际上还是JS来写原生,所以Android和iOS中的原生代码会有所区别,如果需要跨平台,对开发人员有一定要求

      当然了,如果发展了有一定时间,组件库够丰富了,那么其实影响也就不大了,甚至会比Hybrid更快

    • 开发人员学习有一定成本

      虽然社区已经比较成熟了,但是一个新的普通前端学习起来还是有一定学习成本的,无法像Hybrid模式一样平滑

    • 学习成本大,对开发人员技术要求比较高

    • 不懂原生开发很难驾驭好

    • 说是使用 Web 技术进行开发,还是多少得学点儿原生 App 开发,才能处理好跨平台。

    • 前期投入比较大,后劲很足。

    另类 App(Web 技术为主导)

    小程序

    • 微信小程序
    • 百度小程序
    • 头条小程序
    • 支付宝小程序
    • 。。。

    统一开发平台

    • taro
    • uni-app

    微网页

    • 微信公众号
    • 百度直达号
    • 。。。

    快应用(不温不火,iPhone 不参与很难搞起来)

    • 各大手机厂商联合制定推出的一种方式,类似于小程序
    • 使用 Web 技术进行开发, 而且提供了在 Web 中访问手机硬件等底层交互的 API
    • 属于混合 App 的一种方式

    PWA(网站离线访问技术,没有 iPhone 不参与)

    • 它可以让网站拥有一个类似于 App 的入口
    • 提供了网站的离线应用访问
    • Google 在推动
    • 手机端目前只能在 安卓手机的 Chrome 浏览器运行

    各大开发模式对比

    Native AppWeb AppHybrid AppReact Native App
    原生功能体验优秀良好接近优秀
    渲染性能非常快接近快
    是否支持设备底层访问支持不支持支持支持
    网络要求支持离线依赖网络支持离线(资源存本地情况)支持离线
    更新复杂度高(几乎总是通过应用商店更新)低(服务器端直接更新)较低(可以进行资源包更新)较低(可以进行资源包更新)
    编程语言Android(Java),iOS(OC/Swift)js+html+css3js+html+css3主要使用JS编写,语法规则JSX
    社区资源丰富(Android,iOS单独学习)丰富(大量前端资源)有局限(不同的Hybrid相互独立)丰富(统一的活跃社区)
    上手难度难(不同平台需要单独学习)简单(写一次,支持不同平台访问)简单(写一次,运行任何平台)中等(学习一次,写任何平台)
    开发周期较短中等
    开发成本昂贵便宜较为便宜中等
    跨平台不跨平台所有H5浏览器Android,iOS,h5浏览器Android,iOS
    APP发布App StoreWeb服务器App StoreApp Store

    如何选择开发模式

    目前有多种开发模式,那么我们平时开发时如何选择用哪种模式呢?如下

    选择纯Native App模式的情况

    • 性能要求极高,体验要求极好,不追求开发效率

      一般属于吹毛求疵的那种级别了,因为正常来说如果要求不是特别高,会有Hybrid

    选择Web App模式的情况

    • 不追求用户体验和性能,对离线访问没要求

      正常来说,如果追求性能和体验,都不会选用web app

    • 没有额外功能,只有一些信息展示

      因为web有限制,很多功能都无法实现,所以有额外功能就只能弃用这种方案了

    选择Hybrid App模式的情况

    • 大部分情况下的App都推荐采用这种模式

      这种模式可以用原生来实现要求高的界面,对于一些比较通用型,展示型的页面完全可以用web来实现,达到跨平台效果,提升效率

      当然了,一般好一点的Hybrid方案,都会把资源放在本地的,可以减少网络流量消耗

    选择React Native App模式的情况

    • 追求性能,体验,同时追求开发效率,而且有一定的技术资本,舍得前期投入

      React Native这种模式学习成本较高,所以需要前期投入不少时间才能达到较好水平,但是有了一定水准后,开发起来它的优势就体现出来了,性能不逊色原生,而且开发速度也很快

    选择其它方案

    • 小程序(目前移动 App 中开发最低的,体验也是仅次于原生+跨平台NativeApp)

    如何分辨一个 App 是原生做的还是 Web 做的

    1、看断网情况

    通过断开网络,刷新页面,观察内容缓存情况来有个大致的判断,可以正常显示的就是原生写的,显示404或者错误页面的就是html页面。

    3、看复制文章的提示,需要通过对比才能得出结果。

    比如文章资讯页面可以长按页面试试,如果出现文字选择,粘贴功能的是H5页面,否则是native原生的页面。

    有些原生APP开放了复制粘贴功能或者关闭了,而H5的CSS屏蔽了复制选择功能等情况,需要通过对目标测试APP进行对比才可知。

    在支付宝APP、蚂蚁聚宝是可以判断的。

    4、看加载的方式

    如果在打开新页面导航栏下面有一条加载线的话,这个页面就是H5页面,如果没有就是原生的。

    5、看app顶部,导航栏是否会有关闭的操作

    如果APP顶部导航栏当中出现了关闭的按钮或者关闭的图标,那么当前的页面是H5页面,原生的不会出现(除非设计开发者特意设计),美团、大众点评的APP、微信APP当加载H5过多的时候,左上角会出现关闭两个字。

    6、判断页面下拉刷新的时候(前提是要有下拉刷新的功能)

    如果页面没有明显刷新现象的是原生的,如果有明显刷新现象(比如闪一下)的是H5页面(Ios和Android)。比如淘宝的众筹页面。

    7、下拉页面的时候显示网址提供方的一定是H5页面。

    在这里插入图片描述(https://s5.51cto.com/wyfs02/M02/93/64/wKiom1kKyzWDcmeRAARsWiUM4mA579.png-wh_500x0-wm_3-wmp_4-s_2902533966.png)

    8、利用系统开发人员工具

    找到手机的设置,开发者选项,显示布局边界,选择开启后再去查看APP整体布局边界,这样所有应用控件布局就会一目了然。

    如果是native APP那么每个按钮、文字、图片都是红色的线显示这个控件的布局情况。如下图的微信:

    在这里插入图片描述(https://s5.51cto.com/wyfs02/M02/93/63/wKioL1kKzGzTEtNCAAXhWJHYlgI333.png-wh_500x0-wm_3-wmp_4-s_3312311617.png)

    如果是web APP那么应该就是一个webview去加载网页,webview作为一个控件,只有一个边界框,即只有屏幕边才有红色线,如下图:

    在这里插入图片描述(https://s1.51cto.com/wyfs02/M00/93/63/wKioL1kKzXDhS9IMAAb9O0qy84c885.png-wh_500x0-wm_3-wmp_4-s_1494819383.png)

    混合APP 则是native 与 webview 混排的界面,如下图红色线框是各控件的绘制边界,中间那一大块布局丰富的界面没有显示出很多边界红线,就是网页实现的。如下图的京东:

    在这里插入图片描述(https://s1.51cto.com/wyfs02/M01/93/63/wKioL1kKzjWjSa77AA10F9eHjLU763.png-wh_500x0-wm_3-wmp_4-s_2780626697.png)

    展开全文
  • 1、介绍 ...想要在网页端唤起App。首先,你必须在App 中设置有 URL Schemes 。设置的位置如下图所示: 我们本次demo 就使用上图的 URL Schemes 为 “ WebCallApp”。 3、我们找到我们工程的AppD

    1、介绍

         在App的开发中,App之间的相互跳转启动频频出现。这也是最近开发中常见的要求。怎么达到要求呢?请跟我往下看。。


    2、做准备

    想要在网页端唤起App。首先,你必须在App 中设置有 URL Schemes 。设置的位置如下图所示:


    我们本次demo 就使用上图的 URL Schemes 为  “ WebCallApp”。

    3、我们找到我们工程的AppDelegate.m 文件,并写下该方法,如下:

    -(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options;

    在写该方法的时候有需要注意的地方,在代码中已经标示出来

    -(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
        if (url) {
            /**
             第一种>>
             
             在网页上打开App
             作用:只是打开App
             
             使用方法》
             在网页里的调用代码如下::
             WebCallApp://
             
             第二种>>
             
             在网页上跳转到指定的页面
             作用: 某个页面的跳转
             
             使用方法》
             在网页里的调用代码如下::
             WebCallApp://togo=AAAXXX
             
             AAAXXX 的介绍:
             
             1、AAAXXX 肯定是一个字符串
             2、可以是一个JSON 串
             3、也可以是一个单一的只表示一个对象的标示名字
             */
            
             /**
              举例子:
              跳转到“风情*紫女”的页面
              
              给 “风情*紫女” 页面,规定一个标示  fqznVC
              */
            NSString * acceptUrl = [url.absoluteString componentsSeparatedByString:@"togo="].lastObject;
            /**
             发起通知
             */
            [[NSNotificationCenter defaultCenter] postNotificationName:@"jumpVc" object:@{@"Vc":acceptUrl}];
            /**
             请注意: 跳转到指定的页面,这里要求App 必须处于启动状态。否则就是打开App,不发生跳转
             
             如果真的要显示指定的页面,那就把指定的页面设置成 rootController 。
             */
        }
        return YES;
        
    }
    


    4、调用演示

          1》 唤起App

           WebCallApp://

           

          2》 跳转到指定的页面

          WebCallApp://togo=fqznVC

         

    展开全文
  • 如何将网页转换Android APP

    万次阅读 2017-06-02 21:34:56
    我们可以利用Cordova和Ant将网页转换Android App一.如何安装Cordova除了要安装node.js,还要安装 1.Java 的JDK 2.android的sdk 3.Apache antjdk和sdk我这就不说如何安装,我们来说如何安装ant二.安装Ant下载...
  • 最近因为需求,需要移动端网页打包成APP,本人一直是做网站开发的,没想到现在的webapp打包能如此方便了,打包的时候只用提供网站链接就可以了(原理应该是一个app简单浏览器,然后默认打开你网站的链接),让你...
  • 如何用一条命令将网页电脑 App

    千次阅读 2019-10-09 22:39:52
    “ 阅读本文大概需要 3 分钟。 ”大家有没有一种感觉,很多网站其实得非常优秀,但是它们就是没有开发 PC (电脑)版的客户端,比如知乎、GitHub、微信公众号。如果...
  • 网页链接转app优缺点 优点:开发和发布都比较方便,开发成本也低,可以做到app一年及以上不更新,页面随时可以更新。 缺点:需要手机网站反应速度要快,用好的服务器,否则打开会慢 ios免签封装: 免签封装是苹果...
  • 如何使用Hubilder X将vue网页前端项目转手机app第一步:改一下vue项目中某个路径第二步:将原有vue项目打包生成dist文件夹第三步:新建一个5+ app项目并删除里面自带的不必要文件第四步:配置打包 第一步:改一下...
  • 开心app平台是我们开发的一个打包网站的工具,可以非常方便的一个手机网站做成APP,也可以直接打包h5代码,免费使用! 下面介绍使用开心app平台怎么将网站快速打包成APP 分七步进行 1、注册开心app平台账号...
  • 一键将自己的网址生成自己的app 而且带自己的版权 非常实用非常装逼的一款软件!
  • 自己的网站进行app封包

    千次阅读 2018-03-16 14:07:55
    今天老板让我自己的网站进行封包,我以前没有过封包这种事件,在网上各种找资料,但我在网上找到的那些app封包,全都是,进行定制封包(花钱),要不就是用网址进行封包(网址必须上线,已经备案完成),可能...
  • 网页打包app

    千次阅读 2019-08-27 07:34:52
    准备:Hbuilder X 一个网址 打开软件,选择新建 新建项目 ...这样就打包成app了,至于里面的东西更换,就看你的了,换图标或者启动图 这里面会有些广告, 所以还是自己的网站打包最好
  • 网站项目打包成app

    千次阅读 多人点赞 2020-11-22 15:37:49
    HBuilderX:可直接将网页打包手机端app,可以有安卓和苹果两种安装包,这次我们主要讲的是安卓的打包,苹果的打包需要IDP/IEP证书。 废话不多说,我们现在开始操作: 1.首先我们要先安装HBuilderX,这里的安装包,...
  • Android--通过网页打开APP并传值详解

    万次阅读 2017-05-18 11:16:45
    通过网页添加连接的方式打开本地App,如果存在该APP则打开,不存在的话去下载在现在的Android开发中变得越来越常见,...因为越来越多的公司应用都开始注重四网合一模式的开发(APP,移动网页,pc端以及微信公众号)
  • 用mui做好app后,需要推广的,比如在网页中有一个按钮,点击这个按钮会发生两件事(其中一件),如果客户手机安装了我们的app,那么就直接打开app,如果客户没有安装那么就跳转到下载页面去;分为两步一,在打包app...
  • 手把手教你个人 app

    万次阅读 多人点赞 2016-11-13 19:29:08
    没了接口,没了美工,app似乎只能做成单机版或工具类app,真的是这样的吗?先来展示下我的个人app,没有服务端,没有美工完成的,换言之,我干了所有人的活: 这个app叫“微言”,他对于我意义很重大,最初微言...
  • H5打包成app的在线工具

    千次阅读 多人点赞 2020-06-07 22:17:05
    H5打包成APP,有两种方式,方式一是直接用网址打包,方式二是将H5文件打包到APP的资源文件里面。第一种方式的用户体验不是很好,因为这种APP在用户没有网络的情况下,打开APP就会变成白屏,因为这种远程网址调用的...
  • 不用签名证书将网页封装苹果APP,无需苹果企业证书 签名,IPA证书签名,ios证书签名,免越狱安装 (本方法只支持网站封装app,原生的用不了,详细请咨询客服) 近期很多朋友问我网站变成app的方法,原因...
  • 将H5站点打包成app完美攻略

    万次阅读 多人点赞 2019-08-22 16:46:00
    本文介绍了基于HBuilderX,将自主开发的H5网站,使用云打包app的方法,以及打包app过程中,遇到的问题和解决方法。 在HBuilderX中开发的应用,或者第三方的h5应用,可以创建项目,提交到云端打包生成apk(Android...
  • web项目打包Native App

    千次阅读 2019-07-08 11:34:53
    好长时间没有写过博客了,闲暇时分静下心来给大家分享一下web项目打包Native App的小知识,最近公司的web项目都开发到收尾阶段了,也在web项目打包Android和IOS程序包,我所使用的打包工具是HbuilderX,Xcode...
  • MobLink能够追踪新安装(或新注册)用户来源,实现用户之前的相互关联,比如好友关系或者其他营销渠道等,从而实时的App的运营情况;一键唤醒App。MobLink最初的开始就是实现了在网页里通过点击的形式一键唤醒...
  • 安得玛雅APP,可以免去你繁琐的上架流程,大家就能在APP...三分钟可以你的网站打包成APP,并且在各大应用商店马上下载 第一步,注册一下用户,第二步填写一下你的发布区域和网址,首页就可以看到你的网页链接 ...
  • 不,如果正在学习的你还以为前端是做网页的,那么接下来的操作可能会让你大吃一惊,前端不仅可以做网页小程序,还可以手机app,啥?你不知道?没关系,等下就会知道了。 难点及解决方式 虽然现在手机软件可以用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 73,526
精华内容 29,410
关键字:

怎么把网页做成app