使用Xamarin开发移动应用示例——数独游戏(七)添加新游戏
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu 。代码随项目进度更新。 现在我们增加添加新游戏的功能,创建一个页面,编辑初始局面,并保存到数据库。 我们首先了解一下Xamarin中页面...阅读全文
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu 。代码随项目进度更新。 现在我们增加添加新游戏的功能,创建一个页面,编辑初始局面,并保存到数据库。 我们首先了解一下Xamarin中页面...阅读全文
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu 。代码随项目进度更新。 现在我们希望为应用增加更多的功能,比如记录每个完成的游戏,可以让用户自己添加新的数独游戏等等,这些功能需要数据库...阅读全文
通信硬件NFC的文章,虽然可以在Android系统中通过非直接接触的形式与支持NFC硬件的设备通信,但是也只能交互一些简短的标签内容,对大量的持续性数据,却并不能很好的支持。因此针对这个弊端,可以考虑使用支持Bluetooth技术的硬件...阅读全文
在上篇文章介绍了接入式USB硬件的简单使用,接下来将介绍不依赖物理连接的硬件通信了。本文的重点是近距离通信的硬件NFC。 ###NFC硬件 应用程序中可以通过NFC硬件读取或发送指定协议的技术实现,在Android10.0之前甚至可以封...阅读全文
在硬件交互的首篇对设备硬件的分类中,互联通信系列硬件主要用来与其他设备进行数据交互。从本文开始,将重点介绍该系列相关硬件。 ##互联通信系列硬件 根据硬件的可通信距离,由近及远分为USB、NFC、蓝牙、WLAN,SIM卡槽,这些硬件之间...阅读全文
你不嵌入它,而是链接到它。通常,链接是视频本身的缩略图。iPhone不支持直接在网站中嵌入电影文件。 单击该链接将在用户的iPhone上打开Quicktime,完成后将其返回到网页。 即使嵌入工作正常,链接图像也会更容易记住: <...阅读全文
制作GridView适配器,实现页面数据的变化 制作类型存储数据库,存储的主要是图片类型,类型被选中时的图片,类型未被选中时的图片。 数据库代码如下 package com.example.Utils.database; import ...阅读全文
前两篇文章通过麦克风硬件和摄像头硬件分别采集音频和视频的多媒体数据,在得到的多媒体数据通常是以编码文件的格式存储,在用户需要展示时,可通过设备的内置扩音器或蓝牙耳机等硬件播放音频,通过设备的显示屏或外接投影仪等硬件播放照片、动画或视频。...阅读全文
Android实现socket通信统一接口,统一接口之后可以在不需要大量修改应用层代码的情况下,使用与当前功能类似但是底层实现不同的功能,以实现的UDP与TCP两种通信方式的接口为例。 ...阅读全文
在多媒体摄像头及相关硬件文章中,对摄像头的使用方式需要区分应用程序的目标版本以使用不同的代码流程,而与之相比,麦克风硬件的使用就简单多了。 ###麦克风及相关硬件 麦克风硬件在移动设备上作为音频的采集设备,由于只需要一个收声口,其颜值对...阅读全文
聊聊我所知道的 Android 相关的代码检测 因为笔者业务开发能力不太够,所以会经常做一些周边的杂活。曾经做过在团队里建立代码检测机制的工作,所以我想简单地说下这部分的内容。 代码检测的地位 首先要说的是 软件开发的检测 的目的是什么...阅读全文
多媒体包括图片、动画、音频、视频,这些多媒体素材的采集(输入)主要依靠摄像头和麦克风等硬件设备转化为基础数据,而他们的播放渲染(输出),则需要依靠具有相关功能的编解码软件。当然随着硬件集成度越来越高,也有些基础功能内置到硬件中解码,以此...阅读全文
上篇文章讲解了怎么使用Kotlin的协程配合Retrofit发起网络请求,使用也是非常方便,但是在处理请求异常还不是很人性化。这篇文章,我们将处理异常的代码进行封装,以便对异常情况返回给页面,提供更加友好的提示。 编写拓展方法 我们写一...阅读全文
到目前为止,关于应用程序与用户之间的相关内容便比较肤浅的大致介绍完毕。而在整个系统架构中,应用程序与用户之间的交互,犹如参天大树上的枝干和树叶,交互起来五彩缤纷,但使整个生态系统保持生命力的核心,在于树根,也就是应用程序通过Androi...阅读全文
Android WindowManager 一、Window分类 Window 有三种类型,分别是应用 Window、子 Window 和系统 Window。应用类 Window 对应一个 Acitivity,子 Window 不能单独...阅读全文
activity间传递值 通过Intent启动另一个activity 传递简单数据(八大基本数据类型+String) 传递简单数据的代码片段 Intent intent = new Intent(MainActivity.this, A...阅读全文
VirtualDisplay 一、介绍 代表一个虚拟显示器。 虚拟显示器的内容被渲染到您必须提供给createVirtualDisplay()的Surface 。 二、使用 1、createVirtualDisplay 通常我们使用Di...阅读全文
序列化 1.Serializable Java序列化就是指把Java对象转换为字节序列的过程 Java反序列化就是指把字节序列恢复为Java对象的过程。 实现序列化和反序列化的三种实现: ①若Student类仅仅实现了Seria...阅读全文
Android launchMode 页面的启动模式,这个我自认为在学校学习的时候,就已经完全理解每种启动模式,在日常开发中也会用到,也许它也并不能完全理解和应用。而我一直也以为启动模式是一个APP之间的一个东西,但没想到其实也影响AP...阅读全文
在应用权限的定义与申请一文中,已经将权限分为普通权限与危险权限,而且所有权限都必须静态或动态申请。那么应用程序申请某些权限后可以执行什么操作呢?本文将详细介绍。 对于Android系统中的相关权限,可以参考官方权限列表文档。如在前文提到...阅读全文