精华内容
下载资源
问答
  • androidstudio作业
    千次阅读
    2021-12-13 17:50:27

    三种近场通信的介绍

    WiFi

    1、 WiFi简介

    WiFi是一种基于IEEE802.11系列协议标准实现的无线通信技术,该通信协议于1996年由澳洲的研究机构CSIRO提出,WiFi 凭借其独特的技术优势,被公认为是目前最为主流的WLAN技术标准。随着WiFi无线通信技术的不断优化和发展,当前主要有4种通信协议标准,即802.11g、802.11b、802.11n和802.11a,根据不同的协议标准主要有两个工作频段,分别为2.4GHz和5.0GHz。

    2、通信协议

    基于IEEE802.11系列标准采用的主要技术包括扩频技术(Spread Spectrum,SS)和正交频分复用技术(Orthogonal Frequency Division Multiplexing,OFDM),其中扩频技术又分为跳频扩频(Frequency Hopping Spread Spectrum,FHSS)和直序扩频(Direct Sequence Spread Spectrum,DSSS)。IEEE802.11系列通信协议标准主要针对WiFi通信协议的物理层和数据链路层进行了制定,采用不同协议标准实现的WiFi通信技术,其在这两层所采用的技术也不尽相同,具体如图所示。

    物理层定义了网络中设备之间实际通信时的电气特性,同时负责与传输介质的相连,并向上服务于数据链路层。
    数据链路层主要负责将网络层的数据信息无差错的传输到相邻节点的目标网络层中。从上图中可以看出,基于IEEE802.11b标准实现的WiFi技术工作在2.4GHz频段,并且采用FHSS、DSSS和IR等关键技术;基于IEEE802.11a标准实现的WiFi技术工作在5GHz频段,并且采用OFDM技术;基于IEEE802.11g标准实现的WiFi技术工作在5GHz频段,并且采用DSSS/OFDM技术。

    WiFi网络拓扑结构
    WiFi主要采用星型拓扑结构,组网相对简单。

    WiFi具有网络拓扑结构简单、通信安全、工作频段开放、与以太网的兼容性较好、传输速率高等优点,常常被应用于无线热点、手机、远程控制、网络媒体、医疗器械、现代农业等众多领域。

    3、通信标准

    WiFi通信技术采用不同的通信标准表现不同的技术特点,具体如下:

    IEEE802.11b:支持最高11Mbps的传输速率;信号传输稳定不易受阻挡;覆盖范围较广;数据安全性较高;支持无负载平衡。
    IEEE802.11a:支持最高54Mbps的传输速率;与802.11b/g标准不兼容;无线传输距离相对较近;直线范围内使用。
    IEEE802.11g:支持最高54Mbps的传输速率;与802.11b标准完全兼容;与802.11a相比,无线传输距离相对较远;覆盖范围是802.11a的两倍。
    IEEE802.11n:支持最高108Mbps的传输速率,且理论值达到600Mbps;覆盖范围大幅提升;与802.11a、802.11b、802.11g标准完全兼容。

    转载自:@iwRange WiFi技术简介

    蓝牙

    1、蓝牙简介

    蓝牙(英语:Bluetooth),一种无线通讯技术标准,用来让固定与移动设备,在短距离间交换资料,以形成个人局域网(PAN)。其使用短波特高频(UHF)无线电波,经由2.4至2.485 GHz的ISM频段来进行通信。1994年由电信商爱立信(Ericsson)发展出这个技术。它最初的设计,是希望创建一个RS-232数据线的无线通信替代版本。它能够链接多个设备,克服同步的问题。

    蓝牙技术目前由蓝牙技术联盟(SIG)来负责维护其技术标准,其成员已超过三万,分布在电信、电脑、网络与消费性电子产品等领域。

    2、蓝牙分类

    蓝牙技术分为基础率/增强数据率(BR/EDR)和低耗能(LE)两种技术类型。其中BR/EDR型是以点对点网络拓扑结构创建一对一设备通信;LE型则使用点对点(一对一)、广播(一对多)和网格(多对多)等多种网络拓扑结构。

    低功耗蓝牙(BLE):最大的特点就是低功耗;一个纽扣电池可以支持其运行数月至数年,现在的智能家居,智能音箱,智能手表等物联网设备,大多数通过BLE进行配网和数据交互。

    经典蓝牙(BT):经典蓝牙常用在语音、音乐等较高数据量传输的应用场景上。 经典蓝牙可再细分为:传统蓝牙和高速蓝牙。

    传统蓝牙在2004年推出,主要代表是支持蓝牙2.1协议的模块,在智能手机爆发的时期得到广泛支持。 高速蓝牙在2009年推出,速率提高到约24Mbps,是传统蓝牙模块的八倍。 传统蓝牙有3个功率级别,Class1,Class2,Class3,分别支持100m,10m,1m的传输距离

    双模蓝牙:即兼容BLE和BT,如手机,使用分时机制来达到同时与低功耗蓝牙和经典蓝牙设备通信。

    其实,”经典蓝牙“的称呼并不专业,在蓝牙4.0及后面规格中,SIG定义了四种蓝牙技术:BR,EDR,AMP和LE ,由于LE是2010年才提出的,比较新,所以人们把之前的BR/EDR/AMP技术成为经典蓝牙。

    SIG后续发布的蓝牙4.1/4.2/5.0,都是同时包含低功耗蓝牙和经典蓝牙的。所以在开发蓝牙应用的时候,一定要搞清楚自己是要开发低功耗蓝牙应用还是经典蓝牙应用,两者的应用场景是不同的。需要注意的是:经典蓝牙和低功耗蓝牙两者物理层调制解调方式是不一样的,所以低功耗蓝牙设备和经典蓝牙设备两者之间是不能相互通信的。

    NFC

    1、NFC简介

    NFC英文全称Near Field Communication,近距离无线通信。是由飞利浦公司发起,由诺基亚、索尼等著名厂商联合主推的一项无线技术。

    NFC由非接触式射频识别(RFID)及互联互通技术整合演变而来,在单一芯片上结合感应式读卡器、感应式卡片和点对点的功能,能在短距离内与兼容设备进行识别和数据交换。这项技术最初只是RFID技术和网络技术的简单合并,现在已经演变成一种短距离无线通信技术,发展态势相当迅速。

    与RFID不同的是,NFC具有双向连接和识别的特点,工作于13.56MHz频率范围,作用距离10厘米左右。NFC技术在ISO 18092、ECMA340和ETSI TS 102 190框架下推动标准化,同时也兼容应用广泛的ISO 14443 Type-A、B以及Felica标准非接触式智能卡的基础架构。

    NFC芯片装在手机上,手机就可以实现小额电子支付和读取其他NFC设备或标签的信息。NFC的短距离交互大大简化整个认证识别过程,使电子设备间互相访问更直接、更安全和更清楚。通过NFC,电脑、数码相机、手机、PDA等多个设备之间可以很方便快捷地进行无线连接,进而实现数据交换和服务。

    对未来近场通信技术的应用场景进行分析与预测

    WiFi

    1、WiFi 6将与5G技术形成互补共存关系

    5G 和WiFi 6为通讯领域两大前沿技术,两种技术同具有高速率、低时延等优势,均可应用于物联网、虚拟现实、超高清视频等应用领域。而从两种技术的本质特性分析,5G为广域网授权频谱技术,重点面向户外应用场景,WiFi 6为局域网非授权频谱技术,重点面向户内应用场景,两者的应用优势各不相同。WiFi 6可改善5G通信在户内场景穿透性差、覆盖率低、功耗高等问题,5G可改善WiFi 6在户外场景无法实现大量设备远距传输的问题,两者将逐步形成互补共存关系。

    2、新兴应用场景不断增多

    相比WiFi 4、WiFi 5等历代WiFi技术标准,WiFi 6在带宽、网络速率、网络时延、功耗等方面实现提升,从而进一步拓展WiFi技术应用场景。从WiFi技术的应用发展情况分析,第一阶段以手机、平板电脑、笔记本电脑等消费级电子终端为驱动,第二阶段以智能家居、智慧城市等物联网应用为驱动,第三阶段以虚拟现实、超高清视频应用等新一代高速率应用为驱动,而在WiFi 6技术标准发展推动下,WiFi技术向第三阶段迈进的步伐日益加快。

    华经情报网隶属于华经产业研究院,专注大中华区产业经济情报及研究,目前主要提供的产品和服务包括传统及新兴行业研究、商业计划书、可行性研究、市场调研、专题报告、定制报告等。涵盖文化体育、物流旅游、健康养老、生物医药、能源化工、装备制造、汽车电子等领域,还深入研究智慧城市、智慧生活、智慧制造、新能源、新材料、新消费、新金融、人工智能、“互联网+”等新兴领域。

    蓝牙

    蓝牙的一个趋势是在智能家居的使用上。这样的暴升源于网格(mesh)技能在智能家居中的使用,这个技能由CSR技能提出,并源于免费授权给其他蓝牙客户,它改变了传统蓝牙的组网方法,以播送方式组成网格,弥补了传统蓝牙不能组成大规模网络的短板。

    第二个趋势是带有处理才能的蓝牙芯片与传感器结合。

    第三个趋势是蓝牙Beacon技能推翻零售模式。

    当然蓝牙也还可以完成移动付出。

    NFC

    目前NFC的问题就是成本太高,如果想要商贩使用NFC,那么他们每个人都需要一个POS机,这样的话成本就太大了,不过现在5G的扩展,以后NFC的成本可能会越来越低,我们可以用NFC来进行比如移动支付功能、公交刷卡功能、学校食堂的饭卡、各种门禁卡、各种电子车票、各种电子门票、文件与数据的传输、电子名片、智能海报、家用电器操作、物流等功能,或许在未来5G普及的时候,NFC会有更多的使用机会。

    更多相关内容
  • 安卓大作业使用AndroidStudio开发的星座app源码,一个看星座、配对、推荐的app。 安卓大作业使用AndroidStudio开发的星座app源码,一个看星座、配对、推荐的app。安卓大作业使用AndroidStudio开发的星座app源码,一...
  • Android Studio的本次作业是要做一个类似微信界面框架的搭建,这个框架有四个界面,这四个界面包括微信、新闻、联系人和设置,点击下方的图标可以完成界面的切换。 项目结构 Android studio的布局和控制分别是由xml...

    项目功能

    Android Studio的本次作业是要做一个类似微信界面框架的搭建,这个框架有四个界面,这四个界面包括微信、通讯录、发现和我,点击下方的图标可以完成界面的切换。
    在这里插入图片描述

    项目结构

    Android studio的布局和控制分别是由xml文件与java文件来完成的,此次作业使用了七个xml文件、五个java文件及相应的png文件(文件如下图)

    java控制文件:
    在这里插入图片描述

    图片文件:
    在这里插入图片描述
    xml布局文件:
    在这里插入图片描述

    步骤

    1.编写 bottom.xml
    该文件需要用五个 LinearLayout,分为一个LinearLayout 和四个子 LinearLayout ,每个里面子 LinearLayout 包裹一个 ImageView 和 TextView ,创建一个LinearLayout1 ,Ctrl+c/v,然后更改id即可得到4个子 LinearLayout,再调整好layout_width、layout_height、背景颜色与字体颜色即可。

    2.编写 top.xml
    该文件需要一个LinearLayout和一个TextView,调整下LinearLayout和TextView的layout_width、layout_height及背景颜色与字体颜色即可。

    3.编写主布局文件 activity_main.xml
    利用和Fragment布置好activity_main.xml。

    4.编写四个 xxxBlankFragment.java 文件及对应的xml文件
    保留 xxxBlankFragment.java 文件中的构造函数和onCreateView()函数即可,在创建xxxBlankFragment.java 文件的同时也会创建对应的xml文件。

    5.编写 MainActivity.java 文件
    通过transaction.add()将四个xxxFragment中的内容填入FrameLayout中,通过show()就可以展示对应的页面,hide()可以隐藏相应的页面,先用hide()隐藏所有的页面,点击底部的图标时,用show()展示对应的页面。
    相关文件作用及部分代码解释均在Gitee源代码注释中

    作业源码:

    **Gitee:**https://gitee.com/czyxioawu/Homework1.git

    展开全文
  • 安卓期末大作业—基于AndroidStudio开发时间沙漏APP源码。纯手打高分项目。 安装教程 下载时间沙漏.apk 打开apk文件进行安装 安装完成 安卓期末大作业—基于AndroidStudio开发时间沙漏APP源码。纯手打高分项目。 ...
  • import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; ...

    UI界面就不一一演示了,主要写一下Java的内容,记录自己的学习。

    获取组件要有id、注意点击事件。添加事件的方法大概三种,可以自行搜索。

    指出不足的地方:

            我没有进行逻辑判断,这是不可取的。

    package com.example.learnpro2;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import java.lang.reflect.Type;
    
    public class MainActivity extends AppCompatActivity {
    
        EditText getHeigt;
        EditText getWeigt;
        EditText getResult;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //拿到组件
            getHeigt = (EditText)findViewById(R.id.editTextNumberDecimal);
    
            getWeigt = (EditText)findViewById(R.id.editTextNumberDecimal2);
    
            getResult = (EditText)findViewById(R.id.editTextNumberDecimal3);
    
    
            Button btn = (Button) findViewById(R.id.button);
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    //获取数据并且计算
                    String height = getHeigt.getText().toString();
                    String weight = getWeigt.getText().toString();
                    double heinum = Double.parseDouble(height);
                    double weinum = Double.parseDouble(weight);
                    double res = weinum/(heinum*heinum);
                    //进行小数点精确
                    String result = String.format("%.1f",res);
                    //贴出内容
                    getResult.setText(result);
    
    
                }
            });
    
    
        }
    }

    最后效果图如下:

     

    展开全文
  • android studio作业android studio课程设计,记事本实现 先看效果图 功能点实现: 登录,注册,记事本分类添加,删除,数据分析统计报表,数据库使用SQLlite 部分实现代码 public class MainActivity ...

    android studio大作业,android studio课程设计,记事本实现


    先看效果图

    请添加图片描述

    功能点实现:

    登录,注册,记事本分类添加,删除,数据分析统计报表,数据库使用SQLlite


    部分实现代码

    
    public class MainActivity extends BaseActivity {
        private String titles[] = {"记账", "打卡", "便签"};
        private int position = 0;
    
        private ListView listview;
        private ListAdapter mListAdapter;
        private ContentDao mContentDao;
    
        @Override
        protected int getLayoutId() {
            return R.layout.activity_main;
        }
    
        @Override
        protected void initView() {
    
            listview = findViewById(R.id.listview);
            mListAdapter = new ListAdapter(MainActivity.this);
            listview.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
                @Override
                public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                    ContentInfo contentInfo = mListAdapter.getItem(position);
    
    
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setTitle("确定要删除吗?");
                    builder.setMessage("删除后的数据将无法恢复");
                    builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
    
                        }
                    });
                    builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
    
    
                            if (mContentDao == null) {
                                mContentDao = new ContentDao(MainActivity.this);
                            }
                            int row = mContentDao.delete(contentInfo.get_id());
                            if (row > 0) {
                                if (null != mListAdapter) {
                                    mListAdapter.setList(mContentDao.queryAll());
                                }
    
                                showToast("删除成功");
                            } else {
                                showToast("删除失败");
                            }
                        }
                    });
    
                    builder.show();
    
    
                    return true;
                }
            });
    
    
        }
    
        @Override
        protected void setListener() {
            findViewById(R.id.add).setOnClickListener(new View.OnClickListener() {
    
    
                @Override
                public void onClick(View v) {
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setTitle("新建分类标签");
                    builder.setSingleChoiceItems(titles, 0, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            position = which;
                            showToast(titles[which]);
                        }
                    });
                    builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            if (position == 0) {
                                startActivityForResult(new Intent(MainActivity.this, ChargeActivity.class), 200);
                            } else if (position == 1) {
                                startActivityForResult(new Intent(MainActivity.this, LocationActivity.class), 200);
                            } else {
                                startActivityForResult(new Intent(MainActivity.this, StickyActivity.class), 200);
                            }
    
                        }
                    });
    
                    builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
    
                        }
                    });
                    builder.show();
                }
            });
    
            findViewById(R.id.chart).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    startActivity(new Intent(MainActivity.this, ChartActivity.class));
                }
            });
    
        }
    
        @Override
        protected void initData() {
            if (mContentDao == null) {
                mContentDao = new ContentDao(this);
            }
            listview.setAdapter(mListAdapter);
            mListAdapter.setList(mContentDao.queryAll());
        }
    
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (resultCode == 200) {
                initData();
    
            }
        }
    }
    
    
    展开全文
  • 安卓的期末的大作业(免积分下载),用Android Studio做的,有注册登录功能,可以录入物流信息,查询物流信息,适合新手学习使用,项目详情看我发布的文章
  • Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业。...
  • Android Studio实现功能强大的购物商城APP源码,毕业设计,大作业,高分必看。现在万物互联的时代,网上shopping早已经是大家的习惯了。足不出户地选择自己想要的商品进行购买多么地方便,这就促使了这款购物商城APP...
  • 安卓期末项目作业Android studio
  • Android Studio的本学期作业是要做一个模仿类似微信界面的Android app,第一次作业的要求是搭建出一个app界面框架,这个框架有四个界面。我的初始构想是一个类似游戏商店的app,如下: 这个app将会包含四个界面:...
  • 本次项目实现了一个聚合新闻APP...用作毕业设计都完全可以,用作大作业那绝对也是极佳。具体的演示可以参考我的对应博客,下载下来即可运行。 博客介绍:https://blog.csdn.net/qq_42257666/article/details/119977632
  • Android Studio DAO操作 首先,我们需要知道什么是DAO?先看看它的官方解释 DAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口,它显露了 Microsoft Jet 数据库引擎(由 Microsoft Access 所使用)...
  • 学期安卓的大作业(免积分下载),用Android Studio制作,一个简单的记事本,可以记录东西并保存,详情看我发布的文章。
  • 一个Android Studio项目,有音频,功能基本完善。
  • android studio课程设计作业PPT+设计文档+可运行源代码+设计思路.rar,移动新媒体技术开发作业,体重档案App.pptx,yuandaima,EWeightScalemaster,gradlew.bat,gradlew,gradle.properties,screenshots,download.png,...
  • 本次作业基于一个新的项目,对SQLite数据库的CRUD进行介绍。 CRUD CRUD是Create(增)、Retrieve(查)、Update(改)、Delete(删)的缩写。每一种操作各自对应一种 SQL命令,但是开发者的水平总是参差不齐的,不是每个人都...
  • 安卓应用开发大作业,一共6个Android studio项目源码,适合初学者使用。
  • Android Studio实现服装企业生产管理系统,也是购物系统,是自己的期末大作业,数据库使用的是sqlite,非常好用 1.普通用户的注册登录,注册信息有地区,生日信息等;管理员为密码为admin的用户(需注册一下,也可以...
  • build.gradle ERROR: ParseError at [row,col]:[6,5] Message: expected ...uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-permission android:name="android.permission.READ_P
  • AndroidStudio理财小助手

    2019-06-24 16:25:55
    安卓期末大作业,一个理财的小助手(记账本),基于Android studio开发,有登录注册界面,实现收入支出,对于记账的增删改查以及展示功能等,界面美观,代码注释详细,数据存入sqlite数据库。
  • Android记事本,采用SQLite数据库,实现闪屏页面,基于Android studio平台.
  • android课程设计Android studio实现的一款作业提交管理APP源码+文档+PPT,已获高分通过项目。 使用Android studio实现一款作业提交管理APP,该软件可以实现三种用户登录。 学生端可以查看课表,提交作业以及小组讨论...
  • <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" ... android:background="@color/white
  • 通讯录.zip,通讯录,copy.py,new,phoneBook2,说明文档.docx,phoneBook,gradlew.bat,gradlew,gradle.properties,app,proguard-rules.pro,src,test,java,com,zhanghan,app,ExampleUnitTest.java,androidTest,java,com,...
  • 安卓应用开发大作业,50个Android studio项目源码,适合初学者使用
  • 本次作业同样基于一个新的项目,调用百度地图及实现简单定位。 获取百度地图密钥 百度地图→开发文档→Android地图...参考:百度地图→开发文档→Android地图SDK→开发指南→Android Studio配置 http://lbsyun.baidu.c
  • 此大作业从头到尾每句代码都有自己亲自手敲,程序无任何问题,工具为AndroidStudio, 最后期末成绩95分(因为平时分不高),此作业满足下面所有要求 大作业要求: 1、使用到相对布局和线性布局 2、使用到TextView ...
  • 作业1 开发环境及第一个项目实验要求修改APP图标 实验要求 新建项目,实现以下基本内容: (1) 修改默认的APP的名称和图标(任意的,非默认的)。 (2) 显示个人信息,包括:照片、专业、姓名、学号等基本信息。 (3) ...
  • 该项目实现了一个超市购物系统,全名叫超市生鲜OnlineDailyGroceries-master,可供学习Android Studio。安卓应用开发大作业

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,379
精华内容 1,751
关键字:

androidstudio作业