Stella981 Stella981
4年前
Android 中的ORM框架
在android中,内置了sqlite数据库,javaweb中,用惯了Hibernate,想找找android中是否也有类似的orm框架,后来在开源中国看到了orman,这是一个很不错的框架。这个可以帮我们快捷方便的实现数据库的CURD操作。下面以Users这个用户类为例,和大家分享一下我的心得。大家先在工程中导入orma
Wesley13 Wesley13
4年前
java ThreadLocal
ThreadLocal是什么定义:提供线程局部变量;一个线程局部变量在多个线程中,分别有独立的值(副本)特点:简单(开箱即用)、快速(无额外开销)、安全(线程安全)场景:多线程场景(资源持有、线程一致性、并发计算、线程安全等场景)ThreadLocal基本API 构
执键写春秋 执键写春秋
4年前
Java多线程同步示例(三个售票窗口同时出售20张票)
分析:1.票数要使用同一个静态值;2.为保证不会出现卖出同一个票数,要java多线程同步锁。3.有一个线程卖这张票时,其他线程要等这张票卖完!packageperson.xsc.practice;publicclassSaleWindowimplementsRunnableprivateintticket20;@Ov
Stella981 Stella981
4年前
Android单元测试之四:仪器化测试
Android单元测试之四:仪器化测试仪器化测试  在某些情况下,虽然可以通过模拟的手段来隔离Android依赖,但代价很大,这种情况下可以考虑仪器化的单元测试,有助于减少编写和维护模拟代码所需的工作量。  仪器化测试是在真机或模拟器上运行的测试,它们可以利用Androidframew
Stella981 Stella981
4年前
Android中LocationManager的简单使用,获取当前位置[转
Android中LocationManager的提供了一系列方法来地理位置相关的问题,包括查询上一个已知位置;注册/注销来自某个LocationProvider的周期性的位置更新;以及注册/注销接近某个坐标时对一个已定义Intent的触发等。今天我们就来看看Android中LocatinManager的简单使用,以获取当前所在的位置为例。首先,我们需
Stella981 Stella981
4年前
Flutter
场景在某些业务上,可能我们需要计算多段文字的高度,达到动态适配ListView高度的目的,满足我们产品的优(bian)秀(tai)需求。在android原生层大家都知道有各种手段可以计算文字的宽、高等,例如paint.layout等等手段。但在flutter中,虽然并没有直接提供API供开发者使用,但和android原生一样,只有看下RichText的源
Stella981 Stella981
4年前
AvctiveMQ和RabbitMQ的区别
ActiveMQ:传统的消息队列,使用Java语言编写。基于JMS(JavaMessageService),采用多线程并发,资源消耗比较大。支持P2P和发布订阅两种模式。RabbitMQ:是使用Erlang语言开发的开源消息队列系统。基于AMQP协议来实现的。AMQP的主要特征是面向消息、队列、路由(
Wesley13 Wesley13
4年前
Java并发
最简单的东西,往往包含了最复杂的实现,因为需要为上层的存在提供一个稳定的基础,Object作为java中所有对象的基类,其存在的价值不言而喻,其中wait和notify方法的实现多线程协作提供了保证。案例publicclassWaitTestDemo{publicstaticvoidmain(Strin
Stella981 Stella981
4年前
FFMEPG 平台移植,接口简化和外部模块接入 (一)ffmpeg android移植(ndk 编译)
CareyeFFMPEG项目是Careye开源平台的一个新项目,目的是在FFMPEG项目和其外部模块,如freetype,X264的基础上建立一个多平台编译,接口调用简单的工具集。本博客是一个连载,首先从android开始写吧。因为FFMPEG本身对android编译的支持就不是特别好。本文开发环境是ubuntu分步来做:1\.建立
Stella981 Stella981
4年前
Genesis
‍发布到Android平台在游戏制作完毕后,需要进行平台打包才能最终发布。Genesis3D是一个可以支持很多平台的编辑器,这一篇我们就来学习如何让你把制作出的游戏在Android平台上运行。1.首先,用户需要在本机安装JavaSDK和AndroidSDK。2.打开工程,选择编辑菜单下的“偏好设置”。!(h