Android:Android视图组件

3.1 移动通讯技术

    第一代通讯技术:大哥大,工作原理:模拟信号(说话声波引起铜片震动,电容变化,产生交变电流),工作频段(收音机调频,同一个频道才能通讯);缺点:保密性差(同频可以窃听)。

    第二代通讯技术:通讯工具变小,工作原理:模拟信号变成数字信号(将声音产生的交变电流转换为保密的二进制数字),可以发送短信,彩信,传真等。

    第三代通讯技术:3G通讯,手机进入智能时代,工作原理:使用数字信号,功能:可以处理图片,音乐,视频等;

    第四代通讯技术:4G通讯,集成3G和无线局域网一体,功能:可以观看高清视频。

    移动通讯技术发展本质:GSM->GPRS->EDGE->WCDMA->HSDPA->FDD->LTE

    传输速度,传输数据量大小。

3.2 Android背景

    Android的使用市场占有率高。Android开源开放,java语言开发。

    Android版本:1.5纸杯蛋糕(Cupcake)、1.6甜甜圈(Donut)、2.1闪电泡芙(Éclair)、2.2冻酸奶(Froyo)、2.3姜饼(Gingerbread)、3.0蜂巢(Honeycomb)用在平板开发中﹑4.0冰淇淋三明治(Ice Cream Sandwich)、4.1果冻豆(Jelly Bean)、4.2奇巧(KitKat)、5.0棒棒糖(Lollipop)、6.0棉花糖(Marshmallow)、7.0牛轧糖(Nougat)、8.0奥利奥(Oreo )、9.0馅饼(Pie)

    有个特殊版本:4.4 Android Wear,开发穿戴式手表;

3.3 Android系统体系

Linux Kernel:Linux内核,各种硬件驱动程序;

Hardware Abstraction Layer(HAL):抽象硬件层,封装硬件驱动提供操作接口,不同厂商有不同硬件封装;

Libraries:java代码无法直接调用C/C++驱动代码,系统封装一系列操作API;

Android Runtime:Android核心函数库,DavikVirtualMachine,DVM虚拟机。

编译方式:

DVM:将.class文件编译成.dex文件文件执行,.dex是压缩后的.class文件;

JVM: JVM虚拟机将.java文件编译成.class,再打包成.jar;

架构上:JVM基于栈结构;DVM基于寄存器结构;

Application Framework:封装成各种应用管理器,给上层应用调用。应用管理器Android Runtime中的java核心库代码,调用Libraries中API;

3.4 Android编译安装过程

    1.java中JDK的javac.exe,将所有.java文件编译成.class文件;

    2.Android/SDK/build-tools/android版本/dx.bat,把所有.class文件打包成classes.dex;

    3.根据资源id,生成resource.ap_文件,保存所有资源信息;

    4. Android/SDK/build-tools/android版本/aapt.exe把.dex文件,res下的资源文件,resource.ap_文件,asset目录下文件一起打包成apk文件;

    5.Android/SDK/platform-tools/adb.exe,将apk文件上传安装到手机或虚拟机中。ADB:Android debug bridge安卓调试桥。

ADB命令:

    安装应用:adb install apk文件;

    卸载应用:adb uninstall com.包名;

    打开shell命令:adb shell,可以使用shell命令;

    杀死adb调试桥:adb kill-server;

    启动adb调试桥:adb start-server;

    查看电脑连接设备:adb devices;

    指定设备执行adb命令:adb –s 设备名 adb命令;

3.5 视图组件

1、创建一个空项目

    1.创建一个空的项目Pro_View;

    2.在res文件夹下创建layout文件夹,保存页面UI布局,new->XML->Layout XML File;

设置layout名main_activity,默认LinearLayout布局;

代码:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent">

</LinearLayout>

    3.创建MainActivity类,继承android.app.Activity类;

   

代码:

package com.example.pro_view;


import android.app.Activity;

import android.os.Bundle;

public class MainActivity extends Activity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        //重写Activity的OnCreate方法

        //setContentView设置Activity对应View

        setContentView(R.layout.main_activity);

    }

}

    4.在AndroidManifest.xml配置文件中注册Activity;

代码:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.example.pro_view">


    <application

        android:allowBackup="true"

        android:icon="@mipmap/ic_launcher"

        android:label="@string/app_name"

        android:roundIcon="@mipmap/ic_launcher_round"

        android:supportsRtl="true"

        android:theme="@style/AppTheme" >

        <activity android:name=".MainActivity">

            <intent-filter>

                <action android:name="android.intent.action.MAIN"></action>

                <category android:name="android.intent.category.LAUNCHER"></category>

            </intent-filter>

        </activity>

    </application>

</manifest>

2、View控件

    Vi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/379184.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高级数据结构与算法 | 布谷鸟过滤器(Cuckoo Filter):原理、实现、LSM Tree 优化

文章目录 Cuckoo Filter基本介绍布隆过滤器局限变体 布谷鸟哈希布谷鸟过滤器 实现数据结构优化项Victim Cache备用位置计算半排序桶 插入查找删除 应用场景&#xff1a;LSM 优化 Cuckoo Filter 基本介绍 如果对布隆过滤器不太了解&#xff0c;可以看看往期博客&#xff1a;海量…

OJ_计算不带括号的表达式

题干 C实现 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stack> #include <string> #include <map> using namespace std;int main() {char str[1000] { 0 };map<char, int> priority {{\0,0},{,1},{-,1},{*,2},{/,2}};wh…

2024年【R2移动式压力容器充装】考试内容及R2移动式压力容器充装免费试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 R2移动式压力容器充装考试内容参考答案及R2移动式压力容器充装考试试题解析是安全生产模拟考试一点通题库老师及R2移动式压力容器充装操作证已考过的学员汇总&#xff0c;相对有效帮助R2移动式压力容器充装免费试题学…

高级FPGA开发之基础协议PCIe(二)

高级FPGA开发之基础协议之PCIe&#xff08;二&#xff09; 一、TLP报文类型 在PCIe总线中&#xff0c;存储器读写、I/O读写和配置读写请求TLP主要由以下几类报文组成&#xff1a; 1.1 存储器读请求TLP和读完成TLP 当PCIe主设备&#xff08;RC或者EP&#xff09;访问目标设备…

非常好看的CSS加载中特效,引用css文件既可用

非常好看的CSS加载中特效 demo效果源码&#xff1a; <!DOCTYPE html5> <head><link rel"stylesheet" type"text/css" href"demo.css"/><link rel"stylesheet" type"text/css" href"loaders.css&…

创新指南|生成式AI实验 - 企业快速渐进采用人工智能的科学新方法

生成式人工智能&#xff08;Gen AI&#xff09;正迅速成为各行各业的企业创新焦点。 生成式AI实验对于企业创新而言至关重要&#xff0c;不仅可以帮助企业识别最适合和最有影响的应用场景&#xff0c;还能促进组织沿着生成式 AI 学习曲线前进&#xff0c;建立早期的创新领导者和…

问题:银行账号建立以后,一般需要维护哪些设置,不包括() #学习方法#经验分享

问题&#xff1a;银行账号建立以后&#xff0c;一般需要维护哪些设置&#xff0c;不包括&#xff08;&#xff09; A&#xff0e;维护结算科目对照 B&#xff0e;期初余额初始化刷 C&#xff0e;自定义转账定义 D&#xff0e;对账单初始化 参考答案如图所示

中小型网络系统总体规划与设计方法

目录 1.基于网络的信息系统基本结构 2.网络需求调研与系统设计原则 3.网络用户调查 4.网络节点地理位置分布情况 5.网络需求详细分析 6.应用概要分析 7.网络工程设计总体目标与设计原则 8.网络结构与拓扑构型设计方法 9.核心层网络结构设计 10.接入核心路由器 11.汇聚…

Python进程之并行与并发的区别

并行 : 当系统有一个以上CPU时&#xff0c;则进程的操作有可能非并发。当一个CPU执行一个进程时&#xff0c;另一个CPU可以执行另一个进程&#xff0c;两个进程互不抢占CPU资源&#xff0c;可以同时进行&#xff0c;这种方式我们称之为并行。 并发 : 当有多个进程在操作时&…

【LeetCode】332. 重新安排行程(困难)——代码随想录算法训练营Day30

题目链接&#xff1a;332. 重新安排行程 题目描述 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出发的先生&a…

在Python中执行Linux Shell脚本详解

概要 随着 Python 的增长和普及,目前它已经成为自动化各种任务,包括执行 shell 脚本的主要工具。这篇文章将详细描述如何在 Python 中执行 shell 脚本,并提供丰富的示例帮助你理解和实践。 什么是Shell脚本? Shell脚本是一个由命令行解释器执行的文本文件。这些脚本包含控…

政安晨:快速学会~机器学习的Pandas数据技能(四)(汇总与映射)

从数据中提取价值&#xff01; 概述 在上一篇文章中&#xff0c;我们学习了如何从DataFrame或Series中选择相关数据。从我们的数据表示中选择正确的数据对于完成工作非常重要&#xff0c;正如我们在练习中所演示的那样。 然而&#xff0c;数据并不总是以我们想要的格式直接从…

PgSQL技术内幕 - case when表达式实现机制

PgSQL技术内幕 - case when表达式实现机制 CASE表达式如同 C语言中的if/else语句一样&#xff0c;为SQL添加了条件逻辑处理能力&#xff0c;可以根据不同条件返回不同结果。PgSQL支持两种语法&#xff1a;简单表达式和搜索表达式。 1、搜索表达式 语法如下&#xff1a; CASE WH…

2023年第四季度硬盘容量强势增长9%

在2023年第四季度&#xff08;CQ4 23&#xff09;&#xff0c;硬盘驱动器&#xff08;HDD&#xff09;市场的总容量出货量环比增长9%&#xff0c;达到214EB&#xff0c;而单位出货量保持在2900万块不变。其中&#xff0c;近线存储&#xff08;Nearline&#xff09;硬盘的容量出…

手写babel插件-第一讲

终于可以写babel系列的文章了。芜湖&#xff5e;&#xff5e; 到目前为止&#xff0c;我编程道路上的每个阶段都有主动去接触babel&#xff0c;每个阶段也都有不一样的感受。大学的时候&#xff0c;babel与webpack傻傻分不清&#xff1b;工作一年的时候&#xff0c;清醒的知道…

猫头虎分享:关闭Windows自动更新的6种方法 ‍

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

代码随想录算法训练营day14||二叉树part01、理论基础、递归遍历、迭代遍历、统一迭代

递归遍历 &#xff08;必须掌握&#xff09; 本篇将介绍前后中序的递归写法&#xff0c;一些同学可能会感觉很简单&#xff0c;其实不然&#xff0c;我们要通过简单题目把方法论确定下来&#xff0c;有了方法论&#xff0c;后面才能应付复杂的递归。 这里帮助大家确定下来递归…

Huggingface上传模型

Huggingface上传自己的模型 参考 https://juejin.cn/post/7081452948550746148https://huggingface.co/blog/password-git-deprecationAdding your model to the Hugging Face Hub&#xff0c; huggingface.co/docs/hub/ad…Welcome&#xff0c;huggingface.co/welcome三句指…

【网络攻防实验】【北京航空航天大学】【实验一、入侵检测系统(Intrusion Detection System, IDS)实验】

实验一、入侵检测系统实验 1、 虚拟机准备 本次实验使用1台 Kali Linux 虚拟机和1台 Windows XP 虚拟机,虚拟化平台选择 Oracle VM VirtualBox,如下图所示。 2、 Snort环境搭建 实验前,先确保Kali Linux虚拟机能够访问外网,将网络模式设置为“网络地址转换”: 2.1 安装…

ZooKeeper安装及配置(Windows版)

步骤&#xff1a; 1.官网下载二进制版本ZooKeeper安装包。 2.解压到你要安装的目录下 3.配置 3.1进入目录 D:\Install\apache-zookeeper-3.9.1-bin 新增两个文件夹&#xff1a;data和log 3.2 进入目录D:\Install\apache-zookeeper-3.9.1-bin\conf 复制zoo_sample.cfg文件&a…