android框架

语音机器人开发

耗尽温柔 提交于 2019-12-22 12:38:12
服务机器人缺少了语音交互的话,就会让人觉得不像个机器人。在当前非常多的服务机器人上,语音交互成为一个非常大的亮点。 当然如果我们从头做起,这样就太麻烦,还好当前有很多公司提供了解决方案。科大讯飞、百度语音等都提供了非常好的语音识别和语音合成工具。 1.1 简介 这里我采用图灵机器人作为语义理解的工具,搭建一个语音机器人。 具体可以参考图灵机器人官网http://www.tuling123.com/help/h_cent_andriodsdk.jhtml?nav=doc 大致框架如下: 1.2 概念解释 (1)语音识别:Automatic Speech Recognition(ASR),也称自动语音识别,其目标是将人类的语音中的词汇内容转换相应的文本。 (2)自然语言理解:Natural Language Understanding(NLU),俗称人机对话,是人工智能的分支学科。本学科通过电子计算机模拟人的语言交际过程,从而使计算机能理解和运用人类社会的自然语言,实现人机之间的自然语言通信,进而代替人的部分脑力劳动,包括查询资料、解答问题、摘录文献、汇编资料以及一切有关自然语言信息的加工处理。 (3)TRClient:TRClient 是一个封装了语音采集、处理、网络收发、语义理解等功能的语音识别和语义解析整体解决方案。 (4)应用程序:在开发中使用了 TRClient

Android通用流行框架大全

*爱你&永不变心* 提交于 2019-12-21 17:04:59
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Android通用流行框架大全 1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide 一个图片加载和缓存的库 3. 图片处理 名称 描述 Picasso-transformations 一个为Picasso提供多种图片变换的库 Glide-transformations 一个为Glide提供多种图片变换的库 Android-gpuimage 基于OpenGL的Android过滤器 4. 网络请求 名称 描述 Android Async HTTP Android异步HTTP库 AndroidAsync 异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程。 OkHttp 一个Http与Http/2的客户端 Retrofit 类型安全的Http客户端 Volley Google推出的Android异步网络请求框架和图片加载框架 5. 网络解析 名称 描述 Gson 一个Java序列化/反序列化库

Android通用流行框架大全

ε祈祈猫儿з 提交于 2019-12-21 17:03:40
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide 一个图片加载和缓存的库 3. 图片处理 名称 描述 Picasso-transformations 一个为Picasso提供多种图片变换的库 Glide-transformations 一个为Glide提供多种图片变换的库 Android-gpuimage 基于OpenGL的Android过滤器 4. 网络请求 名称 描述 Android Async HTTP Android异步HTTP库 AndroidAsync 异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程。 OkHttp 一个Http与Http/2的客户端 Retrofit 类型安全的Http客户端 Volley Google推出的Android异步网络请求框架和图片加载框架 5. 网络解析 名称 描述 Gson 一个Java序列化/反序列化库

Android GreenDao使用教程

流过昼夜 提交于 2019-12-21 14:29:31
一、Greendao简介 Greendao是一款用于数据库创建与管理的框架,由于原生SQLite语言比较复杂繁琐,使得不少程序员不得不去学习SQLite原生语言,但是学习成本高,效率低下,所以不少公司致力于开发一款简单的数据库管理框架,较为著名的就有Greendao和ORMLite,但是就数据分析来看,Greendao的效率是高于ORMLite及其他框架的,是目前该行业的领先者。也因为Greendao的使用方法简便,且效率高使得其成为目前使用最为广泛的数据库管理框架,这也是广大程序员的福音。 二、Greendao的使用方法 1.添加依赖 在bulid.gradle文件下的dependencies下添加所需依赖 compile 'org.greenrobot:greendao:3.2.2' // add library compile 'org.greenrobot:greendao-generator:3.2.2' 2.在bulid.gradle下进行配置 apply plugin: 'org.greenrobot.greendao' buildscript { repositories { mavenCentral() } dependencies { classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' } } 3

Android学习笔记_60_Android常用ADB命令

╄→尐↘猪︶ㄣ 提交于 2019-12-21 11:33:23
第一部分: 1. ubuntu下配置环境anroid变量: 在终端执行 sudo gedit /etc/profile 打开文本编辑器,在最后追加#set android environment 2. 运行Eclipse,还需要配置JAVA环境变量 #set java environment JAVA_HOME=/home/loginname/jdk目录名 JRE_HOME=/home/loginname/jdk目录名/jre export PATH=$JAVA_HOME/bin: $ JRE_HOME/bin: $ PATH export CLASSPATH= $ JAVA_HOME/lib: $ JRE_HOME/lib: $ CLASSPATH export PATH=/home/loginname/android-sdk-linux_86/tools: $ PATH 保存后,重启 3. 加入设备ID标识到当前的android调试环境 在/home/loginname/.android文件中添加,android终端的设备标识ID 4. 更新sdk 【android update sdk】更新sdk 5. 常用命令: 【adb help】获取帮助 【adb get-serialno】获取设备串号 【adb root】获取root权限,对部分手机有用

Android业务组件化之子模块SubModule的拆分以及它们之间的路由Router实现

喜夏-厌秋 提交于 2019-12-20 10:15:08
前言: 前面分析了APP的现状以及业务组件化的一些探讨( Android业务组件化之现状分析与探讨 ),以及通信的桥梁Scheme的使用( Android业务组件化之URL Scheme使用 ),今天重点来聊下子模块SubModule的拆分以及它们之间的路由Router实现。本篇涉及的相关知识比较多,阅读本篇之间需要大致了解一下Java的注解( Java学习之注解Annotation实现原理 )、Java的动态代理机制( Java设计模式之代理模式(Proxy) )等。业务组件化是一个循序渐进的过程,一开始很难就能拿出终极解决方案,还是一步步来走的比较踏实实在。 业务组件化相关文章地址: Android业务组件化之现状分析与探讨 Android业务组件化之URL Scheme使用 Android业务组件化之子模块SubModule的拆分以及它们之间的路由Router实现 Android业务组件化之Gradle和Sonatype Nexus搭建私有maven仓库 我们首先搞清楚什么是业务组件? 搞清楚这个对我们来说至关重要,否则很难拆分业务与依赖库,也很难搞清楚哪些类应该放在业务子模块里面哪些类应该放在依赖库里面。 1.)和业务无关 完全和业务没有一点关系,比如项目中常用的各种Utils工具类,一些公共自定义控件例如显示圆角图片的ImageView等 2.)弱业务 为什么称之为弱业务

在命令行中通过adb shell am broadcast发送广播通知以及Android的常用adb命令

僤鯓⒐⒋嵵緔 提交于 2019-12-20 00:11:23
通过命令行执行adb shell am broadcast发送广播通知。 adb shell am broadcast 后面的参数有: [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] [-c <CATEGORY> [-c <CATEGORY>] ...] [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...] [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...] [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...] [-n <COMPONENT>] [-f <FLAGS>] [<URI>] 例如:               要发送给谁 指令类型 key值 value值 (后面一样) adb shell am broadcast -a android.intent.action.EDIT --es test_string "this is test string" --ei test_int 100 --ez test_boolean true 说明:蓝色为key,红色为value,分别为String类型,int类型,boolean类型 -----------------------------------------------

ANDROID内存优化(大汇总——全)

别说谁变了你拦得住时间么 提交于 2019-12-19 23:28:17
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Recycle(回收): Recycle(回收),回收可以说是在内存使用中最重要的部分。因为内存空间有限,无论你如何优化,如何节省内存总有用完的时候。而回收的意义就在于去清理和释放那些已经闲置,废弃不再使用的内存资源和内存空间。 因为在Java中有垃圾回收(GC)机制,所以我们平时都不会太关注它,下面就来简单的介绍一下回收机制: 垃圾回收(GC): Java垃圾回收器: 在C,C++或其他程序设计语言中,资源或内存都必须由程序员自行声明产生和回收,否则其中的资源将消耗,造成资源的浪费甚至崩溃。但手工回收内存往往是一项复杂而艰巨的工作。 于是,Java技术提供了一个系统级的线程,即垃圾收集器线程(Garbage Collection Thread),来跟踪每一块分配出去的内存空间,当Java 虚拟机(Java Virtual Machine)处于空闲循环时,垃圾收集器线程会自动检查每一快分配出去的内存空间,然后自动回收每一快可以回收的无用的内存块。 作用: 1.清除不用的对象来释放内存: 采用一种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃圾收集算法来实现资源自动回收的功能。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。 2.消除堆内存空间的碎片:

安卓屏幕适配框架的较量 dp & 限定符 & autolayout & autosize

巧了我就是萌 提交于 2019-12-18 20:46:03
安卓屏幕适配框架的较量 dp & 限定符 & autolayout & autosize 这里讲的是google自带的dp适配、比较久远的限定符适配、鸿神的autolayout、今日头条的autosize,下面大家就一起来看看他们的效果吧:(仅单一维度测试,数值也可能不标准,仅供参考,大家不要较真哦) 为了突出两个模拟器之间的差异明显,我们用的是1440*2560 和 480*800 分辨率的模拟器。下面所有图片,左边为1440*2560分辨率的模拟器,右边为480*800分辨率的模拟器。 首先上一个参考值,px的效果: 可见此图差异明显,两者都是100*100px的尺寸,也突出了px的特点:不同的设备不同的显示屏显示效果是相同的,这是绝对像素,是多少就永远是多少不会改变。 接下来测试dp的效果: dp的单位相对px来说就好一些,但是看起来还是能明显看出差别的,dp是google提出的适配方案,但是面对众多的机型,有时候也是不能满足我们的适配需求。 然后下面是传统的限定符适配方案,不多说,上效果: 这个很多兄弟们都用了好久,相当年我学安卓的时候就是用的这个,实际效果还是不错的,不过对比着下面这些新新框架,它可能稍微就臃肿麻烦一些了。 下面首先是我们鸿神的AutoLayout, 上效果: 我们看到效果还是不错的,他这个框架的使用实际上是将LinearLayout

Android UI基础之五大布局

删除回忆录丶 提交于 2019-12-18 04:47:38
Android UI 基础之 五大布局   Android 的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是 LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局,Android2.0中标注为已过期)和TableLayout(表格布局) 。 LinearLayout 线性布局 子元素任意 FrameLayout 帧布局 子元素任意 TableLayout 表格布局 子元素为<TableRow>,其中可放各种控件 RelativeLayout 相对布局 子元素任意 AbsoluteLayout 绝对布局 子元素任意 公共控件属性: android:id= "@+id/***" 控件id android:layout_width= android:layout_height= "wrap_content" "match_parent" "fill_parent" 控件的宽度 控件的高度 android:layout_marginLeft= android:layout_marginRight= android:layout_marginTop= android