`
yangshen998
  • 浏览: 1303436 次
文章分类
社区版块
存档分类
最新评论

工作学习笔记——Alljoyn技术、初试Android开发

 
阅读更多

七八个Android门外汉用了一个月时间,做了3个wifi联网的Android小游戏出来,体会了久违的加班的苦与乐。


联网使用的是高通推的AllJoyn技术(一种点对点近场wifi、蓝牙通信方式)。优点我们看来有二:1.提供直接函数调用的通信方式(一端调用另一端上定义的一个函数),省的byte数组转来转去;2.提供成熟的session机制,功能和安全性都有保证。缺点是接口设计的不太有善,想要整套系统跑起来,要建一些bus、proxy这样的比较抽象的东西。(第一次接触网络开发,这次实际编写alljoyn通信部分代码的也不是我,这个优缺点是大家聊天时总结出来的)。这个技术做些联网游戏还是不错的。


客户端部分就是常规的Android游戏开发。时间比较紧,我们是把公司之前的几个j2me游戏移植过去的。这里推荐一下Lgame这个引擎。如果不考虑提升视觉效果和手感的话,一个j2me游戏要在Android手机上跑起来,使用它至多只需要半个小时。这是因为Lgame提供了一套j2me接口,代码完全不用改:)


即使只是移植游戏,因为大家都是第一次接触Android开发,甚至第一次正式写Java代码、第一次正式使用eclipse,在开发环境搭建、部署程序、Android设备特性上还是遇到了不少问题。这里记录一下。

1.使用eclipse无法启动应用;run configuration里看不到程序的main类。这个有可能是AndroidManifest.xml文件里没有定义Activity引起的。

2.运行时出现Permission Deny。可能是AndroidManifest.xml文件里没有加权限,或者本该加user permission却加成了Android:Permission。

3.使用系统接口总是不能正确得到屏幕宽高的像素值。看Android支持多屏幕机制这篇文章。在AndroidManifest.xml里加上那几个屏幕支持就好了。

4.修改手机进程内存限制。先要root手机,然后修改/system/build.prop文件的heapsize的值。具体操作命令见这篇文章

5.查看进程内存占用,adb shell dumpsys meminfo 包名或者进程号。stack overflow上有一篇详细解释

6.出现ANR(系统忙、无法响应)错误时检查哪个进程出现问题。查看/data/anr/trace.txt文件


有很多不明白的问题,暂时没有时间细究了,也记录一下

1.Android的屏幕适配方式

2.Android一个进程可用的内存限制到底包不包括native内存。通过上面写的内存查看命令来看,应该包括,可是网上和点心os的工程师又说不包括,要不哪些大型游戏都没法写了。

3.垃圾回收貌似不太好使(我第一次正式写java程序)。程序跑几次就报out of memory。最后老老实实像c++那样用完立刻释放才好使。


虽然开发Android游戏的时间很短,也还是感到了Android系统的吸引力,我们几个程序员都想继续学习Android开发。比起BREW来,有太多新鲜的东西可以学习研究。可惜公司有安排,接下来又要整一段时间ios了。box2d、opengl es,还有好多新东西要学习啊。


分享到:
评论

相关推荐

    Alljoyn 的sdk下载

    1. **学习API**:熟悉Alljoyn的API是开发工作的第一步,包括了解如何创建服务、发布接口、发现和连接其他设备等。 2. **平台适配**:虽然Alljoyn是跨平台的,但每个平台可能有不同的集成方式。例如,Android SDK...

    ALLJOYN阅读笔记

    以下是对ALLJOYN源代码阅读笔记的详细说明: 首先,ALLJOYN系统分为两大部分:后台的DAEMON和面向上层应用的接口。DAEMON作为后台服务,它充当一条消息总线,处理应用程序间的通信,并管理远程连接。而上层接口则...

    AllJoyn15.04 文档手册(html格式)

    《AllJoyn15.04文档手册》是针对AllJoyn框架的API详细参考,主要面向开发者,旨在提供一种便捷的方式,使开发者无需下载完整的SDK就能查阅相关的开发信息。AllJoyn是一个开源的跨平台框架,它允许设备之间进行通信,...

    AllJoyn智能家居互动模式方案.pdf

    AllJoyn技术的应用,对于开发者来说,易于迁移帮助缩短了软件开发的周期,并可兼容第三方应用;对于用户来说,减少了软件应用的数目,学习软件更容易,简洁易懂的软件界面极大方便了理解。相信未来智能家居的普及,...

    中文版 深入解析 AllJoyn 瘦客户端

    AllJoyn瘦客户端是一种面向资源受限设备的软件开发框架,用于实现设备之间的互联与通信。它是AllJoyn开源项目的延伸,后者是由AllSeen联盟负责开发的用于设备互操作性的软件框架。AllJoyn瘦客户端专注于为微处理器...

    深入解析AllJoyn核心软件框架

    AllJoyn不仅支持多种操作系统(如Windows、Linux、Android、iOS等),还支持不同的编程语言(如C++、C、Java等),这极大地拓宽了其应用场景。 #### AllJoyn框架的关键特性 1. **分布式应用运行环境**:AllJoyn的...

    AllJoyn - Core Training 1_for Brooks

    通过标准化的 API 发布机制和灵活的通信协议,AllJoyn 不仅简化了物联网设备的开发过程,还促进了不同设备间的互操作性和兼容性。这对于构建一个真正意义上的物联网世界至关重要。 AllJoyn 的核心价值在于它的灵活...

    alljoyn局域网文件传输SDK-支持蓝牙、无线方式无服务器传输

    Alljoyn技术由高通公司开发,旨在促进物联网(IoT)环境中的设备间的交互和协作。 **Alljoyn技术详解** Alljoyn框架的核心是一个开源的、跨平台的中间件,它允许设备和服务发现、连接和交互。这个框架提供了一种...

    AllJoyn Overview

    AllJoyn的介绍文档,可以以该文档入门,进而寻找其他资料学习

    alljoyn_中文介绍

    AllJoyn是一个合作的开源软件框架,程序员可以很方便的编写出搜索附近设备的应用应用程序,并且无论对方的品牌、类别、系统都可以在不需要云环境的情况下连接。AllJoyn框架是非常灵活,能使物联网实现愿景。

    alljoyn-16.04.00-src.tar

    总之,AllJoyn框架为物联网设备提供了一种高效、安全的通信机制,其16.04.00版本的源码为我们深入理解其工作原理和开发实践提供了宝贵的资源。通过学习和利用`alljoyn-16.04.00-src.tar`,开发者可以更好地构建跨...

    Hands-on AllJoyn standard

    AllJoyn支持包括Linux、Windows、iOS、OSX等多种操作系统,并且使用C、C++、Java、Javascript、Android Java、Objective C和Unity等多种编程语言。 对于想要在OpenWrt上实践AllJoyn的开发者来说,需要首先理解...

    alljoyn-development-guide-java-sdk

    文档提供了在Java环境中使用AllJoyn进行开发的指导,适用于想要在Android设备上以及桌面环境中开发与AllJoyn相关的应用的开发者。 文档中提到的“AllJoyn商标为高通创新中心所有”,强调了AllJoyn软件是由该中心...

    高通推出近距离P2P通讯技术 AllJoyn

    高通也推出了近距离P2P通讯技术AllJoyn,两台同样使用AllJoyn技术的设备可以快速实现数据共享。 与此前的一些近场通讯技术相比,AllJoyn 的突出之处主要有两点。首先是不需要依赖GPS和3G,而是利用蓝牙或Wi-Fi来进行...

    AllJoyn 介绍

    AllJoyn是一个全新的p2p对等网络,包括基本的概念,技术,原理,以及简单的应用

    introduction-to-alljoyn

    最后,文档为希望进一步学习AllJoyn的开发者提供了获取更多信息的途径,并列出了一些参考的图和表,帮助读者更直观地理解AllJoyn的工作原理和架构。 需要注意的是,AllJoyn的文档和所有信息均按照“原样”提供,...

    AllJoyn - Core Training 2_for Brooks

    ### AllJoyn – Core Training 2_for Brooks #### 一、AllJoyn概览 ...AllJoyn的设计考虑到了未来网络的发展趋势,通过支持多种无线链接技术,确保了其在不断变化的技术环境中的适应性和可扩展性。

    AllJoyn - Tech Overview v3_for Brooks

    ### AllJoyn 技术概览 #### 一、AllJoyn简介 AllJoyn®是一种开源API框架,旨在为物联网(Internet of Everything)提供一个标准化的设备与应用程序间交互方式。通过允许设备和服务在网络上以一种标准的方式发布...

    电信设备-基于AllJoyn的分布式代理方法、装置及移动设备.zip

    在IT行业中,分布式系统是构建大规模、高可用性服务的关键技术之一。AllJoyn框架是这类系统...对于开发者来说,理解并掌握AllJoyn技术将有助于开发更高效、安全的跨设备解决方案,尤其是在物联网和移动通信领域的应用。

Global site tag (gtag.js) - Google Analytics