精华内容
下载资源
问答
  • 我的安卓学习之路--java的家长里短

    千次阅读 2012-10-27 09:24:10
    小弟现在发现学习新的东西,知道他的历史是很重要的。...用Java实现的HotJava浏览器支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发

    小弟现在发现学习新的东西,知道他的历史是很重要的。SO。家长里短看看娱乐娱乐就行。

    Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。(2010年Oracle公司收购了SUN)

      由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。 
      Java平台由Java虚拟机(Java Virtual Machine,简称JVM)和Java 应用编程接口(Application Programming Interface,简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.7。
      Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。
    Java 平台是基于 Java 语言的平台。这样的平台目前非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿 Java 的 C#语言。

    语言起源
      Java平台和语言最开始只是SUN公司在1990年12月开始研究的一个内部项目。SUN公司的一个叫做帕特里克·诺顿的工程师被自己开发的C 和C语言编译器搞得焦头烂额,因为其中的API极其难用。帕特里克决定改用NeXT,同时他也获得了研究公司的一个叫做“Stealth 计划”的项目的机会。
      “Stealth 计划”后来改名为“Green计划”,James Gosling(詹姆斯·高斯林)和麦克·舍林丹也加入了帕特里克的工作小组。他们和其他几个工程师一起在加利福尼亚州门罗帕克市沙丘路的一个小工作室里面研究开发新技术,瞄准下一代智能家电(如微波炉)的程序设计,SUN公司预料未来科技将在家用电器领域大显身手。团队最初考虑使用C 语言,但是很多成员包括SUN的首席科学家比尔·乔伊,发现C 和可用的API在某些方面存在很大问题。
      工作小组使用的是内嵌类型平台,可以用的资源极其有限。很多成员发现C 太复杂以至很多开发者经常错误使用。他们发现C 缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。
      根据可用的资金,比尔·乔伊决定开发一种集C语言和Mesa语言搭成的新语言,在一份报告上,乔伊把它叫做“未来”,他提议SUN公司的工程师应该在C 的基础上,开发一种面向对象的环境。最初,高斯林试图修改和扩展C 的功能,他自己称这种新语言为C --,但是后来他放弃了。他将要创造出一种全新的语言,被他命名为“Oak”(橡树),以他的办公室外的树而命名。
      就像很多开发新技术的秘密的工程一样,工作小组没日没夜地工作到了1992年的夏天,他们能够演示新平台的一部分了,包括Green操作系统,Oak的程序设计语言,类库,和其硬件。最初的尝试是面向一种类PDA设备,被命名为Star7,这种设备有鲜艳的图形界面和被称为“Duke”的智能代理来帮助用户。1992年12月3日,这台设备进行了展示。
      同年11月,Green计划被转化成了“FirstPerson有限公司”,一个SUN公司的全资子公司,团队也被重新安排到了帕洛阿尔托。FirstPerson团队对建造一种高度互动的设备感兴趣,当时代华纳发布了一个关于电视机顶盒的征求提议书时(Request for proposal),FirstPerson改变了他们的目标,作为对征求意见书的响应,提出了一个机顶盒平台的提议。但是有线电视业界觉得FirstPerson的平台给予用户过多地控制权,因此FirstPerson的投标败给了SGI。与3DO公司的另外一笔关于机顶盒的交易也没有成功,由于他们的平台不能在电视工业产生任何效益,公司再并回SUN公司。
        JAVA应用1994年6、7月间,在经历了一场历时三天的头脑风暴的讨论后,约翰·盖吉、詹姆斯·高斯林、比尔·乔伊、帕特里克·诺顿、韦恩·罗斯因和埃里克·斯库米,团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。他们认为随着Mosaic浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。作为原型,帕特里克·诺顿写了一个小型万维网浏览器,WebRunner,后来改名为HotJava。同年,Oak改名为Java。商标搜索显示,Oak已被一家显卡制造商注册,因此团队找到了一个新名字。这个名字是在很多成员常去的本地咖啡馆中杜撰出来的。名字是不是首字母缩写还不清楚,很大程度上来说不是。虽然有人声称是开发人员名字的组合:James Gosling(詹姆斯·高斯林)Arthur Van Hoff(阿瑟·凡·霍夫)Andy Bechtolsheim(安迪·贝克托克姆),或“Just Another Vague Acronym”(只是另外一个含糊的缩写)。还有一种比较可信的说法是这个名字是出于对咖啡的喜爱,所以以Java咖啡来命名。类文件的前四个字节如果用十六进制阅读的话,分别为CA FE BA BE,就会拼出两个单词“CAFE BABE”(咖啡宝贝)。
      1994年10月,HotJava和Java平台为公司高层进行演示。1994年,Java 1.0a版本已经可以提供下载,但是Java和HotJava浏览器的第一次公开发布却是在1995年5月23日SunWorld大会上进行的。SUN公司的科学指导约翰·盖吉宣告Java技术。这个发布是与网景公司的执行副总裁马克·安德森的惊人发布一起进行的,宣布网景将在其浏览器中包含对Java的支持。1996年1月,升阳公司成立了Java业务集团,专门开发Java技术。

    名字起源
      Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关:如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。
      据James Gosling(詹姆斯·高斯林)回忆,最初这个为TV机顶盒所设计的语言在Sun内部一直称为Green项目。我们的新语言需要一个名字。Gosling(高斯林)注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树。所以他将这个新语言命名为Oak,但Oak是另外一个注册公司的名字。这个名字不可能再用了。在命名征集会上,大家提出了很多名字。最后按大家的评选次序,将十几个名字排列成表,上报给商标律师。排在第一位的是Silk(丝绸)。尽管大家都喜欢这个名字,但遭到James Gosling的坚决反对。排在第二和第三的都没有通过律师这一关。只有排在第四位的名字、得到了所有人的认可和律师的通过,这个名字就是Java。10多年来,Java就像爪哇咖啡一样誉满全球,成为实至名归的企业级应用平台的霸主。
    历史版本
      1995年5月23日,Java语言诞生
      1996年1月,第一个JDK-JDK1.0诞生
      1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术
      1996年9月,约8.3万个网页应用了JAVA技术来制作
      1997年2月18日,JDK1.1发布
      1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
      1997年9月,JavaDeveloperConnection社区成员超过十万
      1998年2月,JDK1.1被下载超过2,000,000次
      1998年12月8日,JAVA2企业平台J2EE发布
      1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)
      2000年5月8日,JDK1.3发布
      2000年5月29日,JDK1.4发布
      2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
      2001年9月24日,J2EE1.3发布
      2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升
      2004年9月0日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0
      2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME
      2006年12月,SUN公司发布JRE6.0
      2009年04月20日,甲骨文74亿美元收购Sun。取得java的版权。

      2011年7月,甲骨文公司发布java7的正式版。

    常见Java 开发环境

    《老师推荐上来不要就用eclipse这种集成的IDE,要自己手动的键入代码,用JAVAC和JAVA来运行》
    编辑器
    UltraEdit
    EditPlus
    集成开发环境(IDE Integrated Development Environment):
    JBuilder (http://www.borland.com)
    Eclipse (http://www.eclipse.org)
    Sun One Studio Net Beans(http://java.sun.com)
    WSADRAD (http://www.ibm.com)
    WebSphere Application Developer 
    Rational   Application   Developer 
    IntelliJ IDEA


    家长里短就到这把。



    展开全文
  • 话不多说,上代码.注意:只支持UC浏览器和QQ浏览器.电脑测试的时候可以下载手机...安卓浏览器的本地地址是10.0.2.2,PC端的事127.0.0.1.所以在这里要输入10.0.2.2 <%@ page language="java" contentType="te...

    话不多说,上代码.注意:只支持UC浏览器和QQ浏览器.电脑测试的时候可以下载手机模拟器(玩儿手游的那种就OK),然后下载浏览器的微信后,打开浏览器输入:10.0.2.2:端口号/具体的页面地址.安卓浏览器的本地地址是10.0.2.2,PC端的事127.0.0.1.所以在这里要输入10.0.2.2

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
    + path + "/";
    response.setHeader("Cache-Control", "no-store");
    response.setHeader("Pragrma", "no-cache");
    response.setDateHeader("Expires", 0);
    %>
    <html>
    <head>
    <base href="<%=basePath%>">
    <link rel="stylesheet" href="front/css/common.css" />
    <link rel="stylesheet" href="front/css/header.css" />
    <link rel="stylesheet" href="front/css/dr-info.css" />
    <script src="front/js/jquery.min.js"></script>
    <script src="front/js/lunbo.js"></script>
    <script src="front/js/mshare.js"></script>
    <script src="static/js/main.js"></script>
    </head>
    <body>
    <button data-mshare="0">点击弹出原生分享面板</button> 
    <button data-mshare="1">点击触发朋友圈分享</button> 
    <button data-mshare="2">点击触发发送给微信朋友</button> 
    <script> 
    var mshare = new mShare({ 
    title: '百度首页', 
    url: 'www.baidu.com', 
    desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat inventore minima voluptates.', 
    img: 'http://placehold.it/150x150' 
    }); 
    $('button').click(function () { 
    // 1 ==> 朋友圈 2 ==> 朋友 0 ==> 直接弹出原生 
    mshare.init(+$(this).data('mshare')); 
    }); 
    </script> 
    </body>
    </html>
    
    下面是js:
    
    
    
    /** 
    * 此插件主要作用是在UC和QQ两个主流浏览器 
    * 上面触发微信分享到朋友圈或发送给朋友的功能 
    */ 
    'use strict'; 
    var UA = navigator.appVersion; 
    
    /** 
    * 是否是 UC 浏览器 
    */ 
    var uc = UA.split('UCBrowser/').length > 1 ? 1 : 0; 
    
    /** 
    * 判断 qq 浏览器 
    * 然而qq浏览器分高低版本 
    * 2 代表高版本 
    * 1 代表低版本 
    */ 
    var qq = UA.split('MQQBrowser/').length > 1 ? 2 : 0; 
    
    /** 
    * 是否是微信 
    */ 
    var wx = /micromessenger/i.test(UA); 
    
    /** 
    * 浏览器版本 
    */ 
    var qqVs = qq ? parseFloat(UA.split('MQQBrowser/')[1]) : 0; 
    var ucVs = uc ? parseFloat(UA.split('UCBrowser/')[1]) : 0; 
    
    /** 
    * 获取操作系统信息 iPhone(1) Android(2) 
    */ 
    var os = (function () { 
    var ua = navigator.userAgent; 
    
    if (/iphone|ipod/i.test(ua)) { 
    return 1; 
    } else if (/android/i.test(ua)) { 
    return 2; 
    } else { 
    return 0; 
    } 
    }()); 
    
    /** 
    * qq浏览器下面 是否加载好了相应的api文件 
    */ 
    var qqBridgeLoaded = false; 
    
    // 进一步细化版本和平台判断 
    if ((qq && qqVs < 5.4 && os == 1) || (qq && qqVs < 5.3 && os == 1)) { 
    qq = 0; 
    } else { 
    if (qq && qqVs < 5.4 && os == 2) { 
    qq = 1; 
    } else { 
    if (uc && ((ucVs < 10.2 && os == 1) || (ucVs < 9.7 && os == 2))) { 
    uc = 0; 
    } 
    } 
    } 
    
    /** 
    * qq浏览器下面 根据不同版本 加载对应的bridge 
    * @method loadqqApi 
    * @param {Function} cb 回调函数 
    */ 
    function loadqqApi(cb) { 
    // qq == 0 
    if (!qq) { 
    return cb && cb(); 
    } 
    
    var script = document.createElement('script'); 
    script.src = (+qq === 1) ? '//3gimg.qq.com/html5/js/qb.js' : '//jsapi.qq.com/get?api=app.share'; 
    
    /** 
    * 需要等加载过 qq 的 bridge 脚本之后 
    * 再去初始化分享组件 
    */ 
    script.onload = function () { 
    cb && cb(); 
    }; 
    
    document.body.appendChild(script); 
    } 
    
    
    /** 
    * UC浏览器分享 
    * @method ucShare 
    */ 
    function ucShare(config) { 
    // ['title', 'content', 'url', 'platform', 'disablePlatform', 'source', 'htmlID'] 
    // 关于platform 
    // ios: kWeixin || kWeixinFriend; 
    // android: WechatFriends || WechatTimeline 
    // uc 分享会直接使用截图 
    
    var platform = ''; 
    var shareInfo = null; 
    
    // 指定了分享类型 
    if (config.type) { 
    if (os == 2) { 
    platform = config.type == 1 ? 'WechatTimeline' : 'WechatFriends'; 
    } else if (os == 1) { 
    platform = config.type == 1 ? 'kWeixinFriend' : 'kWeixin'; 
    } 
    } 
    
    shareInfo = [config.title, config.desc, config.url, platform, '', '', '']; 
    
    // android 
    if (window.ucweb) { 
    ucweb.startRequest && ucweb.startRequest('shell.page_share', shareInfo); 
    return; 
    } 
    
    if (window.ucbrowser) { 
    ucbrowser.web_share && ucbrowser.web_share.apply(null, shareInfo); 
    return; 
    } 
    } 
    
    
    /** 
    * qq 浏览器分享函数 
    * @method qqShare 
    */ 
    function qqShare(config) { 
    var type = config.type; 
    
    //微信好友 1, 微信朋友圈 8 
    type = type ? ((type == 1) ? 8 : 1) : ''; 
    
    var share = function () { 
    var shareInfo = { 
    'url': config.url, 
    'title': config.title, 
    'description': config.desc, 
    'img_url': config.img, 
    'img_title': config.title, 
    'to_app': type, 
    'cus_txt': '' 
    }; 
    
    if (window.browser) { 
    browser.app && browser.app.share(shareInfo); 
    } else if (window.qb) { 
    qb.share && qb.share(shareInfo); 
    } 
    }; 
    
    if (qqBridgeLoaded) { 
    share(); 
    } else { 
    loadqqApi(share); 
    } 
    } 
    
    /** 
    * 对外暴露的接口函数 
    * @method mShare 
    * @param {Object} config 配置对象 
    */ 
    function mShare(config) { 
    this.config = config; 
    
    this.init = function (type) { 
    if (typeof type != 'undefined') this.config.type = type; 
    
    try { 
    if (uc) { 
    ucShare(this.config); 
    } else if (qq && !wx) { 
    qqShare(this.config); 
    } 
    } catch (e) {} 
    } 
    } 
    
    // 预加载 qq bridge 
    loadqqApi(function () { 
    qqBridgeLoaded = true; 
    }); 
    
    if (typeof module === 'object' && module.exports) { 
    module.exports = mShare; 
    } else { 
    window.mShare = mShare; 
    }

     

    转载于:https://www.cnblogs.com/guanjunhui/p/8694562.html

    展开全文
  • 安卓复习

    2020-12-14 22:25:04
    如SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。同样在这一层还有Android运行时库,它主要提供了一些核心库,能够允许开发者使用Java语言来编

    第一章

    1)四层架构

    1. Linux内核层
      Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。
    2. 系统运行库层
      这一层通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。同样在这一层还有Android运行时库,它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。另外,Android运行时库中还包含了Dalvik虚拟机(5.0系统之后改为ART运行环境),它使得每一个Android应用都能运行在独立的进程当中,并且拥有一个自己的Dalvik虚拟机实例。相较于Java虚拟机,Dalvik是专门为移动设备定制的,它针对手机内存、CPU性能有限等情况做了优化处理。
    3. 应用框架层
      这一层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序。
    4. 应用层所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序,或者是你从Google Play上下载的小游戏,当然还包括你自己开发的程序。
      2)四大组件
      Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)和内容提供器(Content Provider)
      3)日志工具级别(共有5中
      在这里插入图片描述
      |函数|对应级别 |
      |–|--|
      | Log.e() |error |
      |Log.w()|warm
      |Log.i() | info |
      |Log.d() |debug|
      |Log.v() |verbose |
      2)第二章
      1.使用Intent在活动中穿梭
      Intent:联系四大组件的纽带
      分类:显式Intent 和隐式Intent
      1、显式Intent
      在这里插入图片描述
      在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    活动的生命周期
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    启动模式:singleInstance
    在这里插入图片描述
    ';
    3)第三章
    1、五大控件
    1.TextView

    <TextView
    android:id="@+id/text_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    #文字的对齐方式 center|right|left|top|bottom
    android:textSize="24sp"
    #文字大小
    android:textColor="#00ff00"
    #文字颜色
    android:text="This is TextView" />
    

    2.Button

    <Button
    android:id="@+id/button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Button"
    android:textAllCaps="false" />
    #禁用转换成大写
    

    3.EditText

    <EditText
    android:id="@+id/edit_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Type something here"
    #没有输入文字时会显示Type something here
    android:maxLines="2"
    #编辑框不会随着输入的文字而被拉伸。当超过2行时会带滚动条
    密文设置:
    EditText  et = (EditText)findViewById(R.id.et);
    TransformationMethod method =  PasswordTransformationMethod.getInstance();
    et.setTransformationMethod(method);
    />
    

    4.ImageView
    ,图片通常都是放在以“drawable”开头的目录下的。目前
    我们的项目中有一个空的drawable目录,不过由于这个目录没有指定具体的分辨率,所以一般不
    使用它来放置图片。这里我们在res目录下新建一个drawable-xhdpi目录,然后将事先准备好的两
    张图片img_1.png和img_2.png复制到该目录当中。

    <ImageView
    android:id="@+id/image_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/img_1 "
    />
    

    5.ProgressBar

    <ProgressBar
    android:id="@+id/progress_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    />
    

    在这里插入图片描述

    另外,我们还可以给ProgressBar指定不同的样式,刚刚是圆形进度条,通过style 属性可以将
    它指定成水平进度条,
    style="?android:attr/progressBarStyleHorizontal"
    android:max="100"
    

    布局
    在这里插入图片描述
    所用的所有控件都是直接或间接继承自View的,所用的所有布局都是直接或间接继承自ViewGroup的

    1.LinearLayout又称作线性布局
    android:orientation 属性指定了排列方向是vertical(垂直)
    horizontal(水平)
    android:layout_gravity与android:gravity类似  top|bottom|right|left|center
    当LinearLayout的排列方向是horizontal时,只有垂直方向上的对齐方式才会生效,
    当LinearLayout的排列方向是vertical时,只有水平方向上的
    对齐方式才会生效
    android:layout_weight:这个属性允许我们使用比例的方式来指定控件的大小
    

    2.RelativeLayout又称作相对布局

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="Button 1" />
    <Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="Button 2" />
    <Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="Button 3" />
    <Button
    android:id="@+id/button4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:text="Button 4" />
    <Button
    android:id="@+id/button5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:text="Button 5" />
    </RelativeLayout>
    

    在这里插入图片描述

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="Button 3" />
    <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@id/button3"
    android:layout_toLeftOf="@id/button3"
    android:text="Button 1" />
    <Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@id/button3"
    android:layout_toRightOf="@id/button3"
    android:text="Button 2" />
    <Button
    android:id="@+id/button4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/button3"
    android:layout_toLeftOf="@id/button3"
    android:text="Button 4" />
    <Button
    android:id="@+id/button5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/button3"
    android:layout_toRightOf="@id/button3"
    android:text="Button 5" />
    </RelativeLayout>
    

    在这里插入图片描述
    3. FrameLayout又称作帧布局

    服务的生命周期:
    在这里插入图片描述

    展开全文
  • Java JavaScript 的MATLAB 物镜 PHP Python Ruby Swift 打字稿 平台类 冰在多种平台上运行: 安卓 的iOS Linux 嵌入式设备上Linux 苹果系统 Node.js Unix系统,例如AIX 网页浏览器 视窗 产品特点 高效,高...
  • 安卓项目开始了

    2020-06-14 19:57:09
    Dalvik虚拟机:专门为移动设备优化 -集成的浏览器:开源的WebKit引擎 SQLite结构化的数据存储 优化的图形库,多媒体支持,GSM电话技术,蓝牙等 采用软件叠层方式构建 二、具体认识 Application(应用程序层) 我们一般说的...

    一、Android的特性与平台架构
    系统特性:
    应用程序框架支持组件的重用与替换(app发布时遵守了框架的约定,其他app也可以使用该模块)
    Dalvik虚拟机:专门为移动设备优化 -集成的浏览器:开源的WebKit引擎
    SQLite结构化的数据存储
    优化的图形库,多媒体支持,GSM电话技术,蓝牙等
    采用软件叠层方式构建
    二、具体认识
    Application(应用程序层) 我们一般说的应用层的开发就是在这个层次上进行的,当然包括了系统内置的一组应用程序,使用的是Java语言
    Application Framework(应用程序框架层) 无论系统内置或者我们自己编写的App,都需要使用到这层,比如我们想弄来电黑名单,自动挂断电话,我们就需要用到电话管理(TelephonyManager) 通过该层我们就可以很轻松的实现挂断操作,而不需要关心底层实现
    Libraries(库) + Android Runtime(Android运行时) Android给我们提供了一组C/C++库,为平台的不同组件所使用,比如媒体框架;而Android Runtime则由Android核心库集 + Dalvik虚拟机构成,Dalvik虚拟机是针对移动设备的虚拟机,它的特点:不需要很快的CPU计算速度和大量的内存空间;而每个App都单独地运行在单独的Dalvik虚拟机内每个app对于一条Dalvik进程)
    Linux内核 这里就是涉及底层驱动的东西了,一些系统服务,比如安全性,内存管理以及进程管理等

    展开全文
  • 第一行代码-安卓之旅

    2017-04-24 18:00:43
    2)系统运行库层:通过一些C/C++库来为它提供主要的特性支持,比如SQLite库提供数据库支持,OpenGL|ES库提供3D绘图支持,Webkit提供浏览器内核支持。  另:这一层还有Android运行时库,这个库提供了一些核心库,...
  • 这是一款基于安卓的开源软件,主要支持深度学习,但同时支持python,c/c++,java,go等超多种语言,最新版本还自带了包括vscode等多重编译器 可以从应用商城下载,或者官网 安装推荐直接full版,手机平板也不缺那5个G,...
  • 例不同的库可提供数据库、3D绘图、浏览器内核等支持; 还有Android运行时库,提供了一些核心库,允许开发者使用Java语言来编写Android应用;另还有运行时库中包含了虚拟机,使得每一个安卓应用都能够运行在独立的...
  • 网上发行的一个资料很适合初学者,安卓经典Android开发入门教程,有实例,有android开发视频教程,还附带源码,欢迎各位下载一起学习! 教程(一) 平台简介  令人激动的Google手机操作系统平台-Android正式发布了,...
  • 提供基于WebAuthn标准的FIDO2线上快速身份验证客户端实现,为应用及浏览器提供安卓Java API 支持使用USB、NFC、蓝牙漫游认证器。 支持指纹和3D面容的平台认证器。 将系统完整性检测结果作为FIDO2认证的前置...
  • android 初探

    2019-10-04 10:27:54
    安卓系统分为四层:  linux内核层:为安卓...安卓运行时库的一些核心库支持java语言编写安卓应用  应用框架层:提供安卓编码的一些api;  应用层:手机上的应用程序; 安卓的四大组件:  活动(Activity,应...
  • Android基础-1

    2016-07-09 16:44:09
    通过c/c++库为安卓系统提供主要特性支持,如SQLite提供了数据库支持,WebKit库提供浏览器内核支持。同时在这一层还有安卓运行时库,主要提供一些核心库,允许开发者编写java编写安卓应用。安卓运行库包含Dalvik...
  • 《第一行代码》笔记1

    2020-06-15 20:18:46
    简介 ...允许开发者使用Java编写安卓应用 Dalvik虚拟机(5.0系统后改为ART运行环境) 使得每个安卓应用运行在独立的进程中,拥有自己的Dalvik虚拟机实例 专门为移动设备定制(针对内存、CPU性能做了优
  • 网站服务部署

    2020-05-20 15:47:01
    一. 常用的网站服务软件 处理静态资源的服务: ... 处理动态资源的服务: ... Tomcat(java): 利用移动端查看网页 安卓-java PYTHON: 开发难度比较低 二. nginx服务的软件特点 1) 支持高并发,消耗内...
  • mac安装eclipse教程

    千次阅读 2019-06-01 23:58:41
    eclipse是一款java安卓等项目的开发IDE,支持多种平台,今天我们来看看在mac os上怎么安装elipse。 工具/原料 mac os 方法/步骤 1 打开mac后,点击桌面上的浏览器图标,打开safari浏览器。然后打开百度...
  • day1

    2016-11-27 23:18:23
    1G(只能进行通讯),2G(支持一些简单的java小程序,例:UC浏览器), 3G(能够处理一些图片和音乐),4G(别称:IMT-Advanced技术,能够看电影等)。 安卓发展起源。  它起源于一部相机,后由Google公司收购研发 ...
  • Libraries : Runtime Libraries, Dalvik VM, 各种库支持,数据库,3D绘图,浏览器内核 Application Framework: API,各种manager Applications:应用层1.2 Android 项目中的资源 src: 各种java程序在此,
  • Android开发之初始

    2017-04-14 00:10:47
    Libraries : Runtime Libraries, Dalvik VM, 各种库支持,数据库,3D绘图,浏览器内核 Application Framework: API,各种manager Applications1.2 Android 项目中的资源src: 各种java程序在此,包括主程序 g
  • 系统支持安卓 IOS H5 公众号 小程序 本系统开发使用JAVA技术栈开发 用户端使用:uniapp 管理端使用:vue+elementui 后台服务使用:springboot+jpa 体验方式 微信公众号搜索:地摊兄 h5浏览器访问:...
  • Appium是一款开源的自动化测试工具,其支持iOS和安卓平台上的原生的,基于移动浏览器的,混合的应用。 1、 使用appium进行自动化测试的好处 Appium在不同平台中使用了标准的自动化APIs,所以在跨平台时,不需要...
  • 安卓上用于加载的Webview视图窗口只是作为类浏览器而存在,在安卓上更是只能同时运行一个Webview。(2)跨域数据交互问题。不同的Webview之间无法共享数据。(3)页面自适应问题。页面难以兼容适应不同分辨率的设备...
  • 2015年度总结--javaWeb

    2016-02-16 13:02:00
    实际上大部分的java程序都是放在浏览器上,也就是web应用,所以当然要看看java怎么开发web项目了。 实际上很多编程语言都提供web支持,因为web开发需求量实在是很多,我之前是学asp.net,后来又看过pyth...
  • WebView的高级使用

    2016-04-15 10:31:18
    1.原生语言app——NativeApp(纯ios,纯安卓)的应用(OC,JAVA) 好处:原生系统支持强,流畅性足,系统的正统开发语言,用户体验好 不足:跨平台性弱,动态性弱,需要一定的上架的审核时间,每一安卓或ios需要...
  • 1.安卓手机中内置了一款webkit内核的浏览器,在SDK中封装为WebView组件。 2.该组件可以在自己的应用程序中显示本地或者Internet上的网页,也可以把它当作一个浏览器来时用。 3.WebView支持html/css/javascript,...
  • NativeScript 可以使用 Javascript,CSS, XML 创建真正的... 支持任意跨浏览器的JavaScript库。 支持CSS。 支持MVVM。 即时支持新的原生平台。 部分介绍来自 InfoQ 标签:NativeScript
  • 我们已经知道 Kotlin 编译成 Java 字节码可以快速被安卓和服务端采用。事实上,Kotlin 还支持编译成 JavaScript,因此该语言也开始在 Web 生态系统中受到关注。尽管已经发布了许多 Kotlin 编写的 Web 应用程序,但...
  • 我们已经知道 Kotlin 编译成 Java 字节码可以快速被安卓和服务端采用。事实上,Kotlin 还支持编译成 JavaScript,因此该语言也开始在 Web 生态系统中受到关注。 尽管已经发布了许多 Kotlin 编写的 Web 应用程序,但...

空空如也

空空如也

1 2 3
收藏数 46
精华内容 18
关键字:

安卓浏览器支持java

java 订阅