摘要:
Android 手机模拟游戏手柄(USB,C#,winio)使用的知识点:Android服务器通过USB连接PC端,winio发送键盘消息,Socket编程,线程,Android多点触控先说下思路,首先在Android端开启服务器程序,然后在PC端开启一个服务器程序模拟发送键盘信息(C#编写)。手机和PC用USB连接,Android和PC的通信通过Socket完成。PC客户端程序:虽然有很多方法可以模拟发送键盘信息如:PostMessage,keybd_event等。这些都是将按键信息发送给系统的消息队列,然后再响应。但是很多游戏使用了DirectX技术绕过了系统的消息队列。我用了一个开源的项
阅读全文
posted @ 2012-12-26 00:25
創丗仼
阅读(1086)
推荐(0)
编辑
摘要:
需求: Android的apk获取手机信息,把结果发给PC client注意地方:1.android默认手机端的IP为“127.0.0.1” 2.要想联通PC与android手机的sokcet,一定要用adb forward 来作下端口转发才能连上socket. 3.使用socket通信,需要在mainfest.xml中添加permission: android.permission.INTERNET[java]view plaincopyRuntime.getRuntime().exec("adbforwardtcp:12580tcp:10086");Thread.sle
阅读全文
posted @ 2012-12-26 00:20
創丗仼
阅读(1975)
推荐(0)
编辑
posted @ 2012-12-23 17:14
創丗仼
阅读(1)
推荐(0)
编辑
摘要:
JAVA缓存有两种:一、文件缓存,是指把数据存储在磁盘上,可以XML格式,也可以序列化文件DAT格式还是其它文件格式。二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删查。其代码如下:JAVA缓存 - Cache类public class Cache {private String key;//缓存IDprivate Object value;//缓存数据private long timeOut;//更新时间private boolean expired; //是否终止public Cache() {super();}public Cache(String key, Obj
阅读全文
posted @ 2012-12-23 16:46
創丗仼
阅读(1737)
推荐(1)
编辑
摘要:
Activity之间的跳转,或者说加载一个新的Activity,一般对于开发者来说,都不是一个太难的问题。直到后来随着不断的深入,才发现原来Activity的加载还分为四种不同加载模式,让我突然有了一种别有洞天的感觉。灵活的使用合适的加载模式,可以避免产生大量的重复的Activity,从而优化性能,减少系统资源消耗。 四种加载模式具体为:standard: 标准模式,一调用startActivity()方法就会产生一个新的实例。singleTop: 检查是否已经存在了一个实例位于Activity Stack的顶部,如果存在就不产生新的实例,反之则调用Activity的newInstance..
阅读全文
posted @ 2012-12-23 16:31
創丗仼
阅读(174)
推荐(0)
编辑
摘要:
最近参加面试,总是被问到设计模式的问题。本人作为一个实用派,完全没搞懂作为一个功能的实现者,设计模式到底有多重要。当然,本人的意思不是说设计模式没用或者不该了解,但是这是一个度的问题,简单的模式,常用的模式,了解并会用,是必然的,但是其他模式,更深层的东西,也许留给架构师来理解更好。毕竟程序员不是架构师,要是程序员懂的知识和架构师一样多,那么,还要架构师来干什么呢? 于此苦闷中,特出来分享一下比较好的设计模式的介绍,以求朋友们能去应付那些蛋疼的笔试。 1、FACTORY——工程模式? 追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦...
阅读全文
posted @ 2012-12-23 16:28
創丗仼
阅读(127)
推荐(0)
编辑
摘要:
自从接触了android开发之后,感觉代码都容易给一些工具反编译,比如我自己常用的dex2jar+jdgui,还有其它一些等等,所以下面就介绍下自己在实际应用的解决方案吧。1.针对要一些 要加密的代码,本人抽离出接口出来,比如,一个类A会实现类的接口IA,然而在程序中就会看到接口定义,而不会看到具体的实现类的代码,因为具体实现类的代码是通过动态加载的。2.加密具体实现类,这一步主要是加密实现类,过程是这样的,先导出实现类的jar包,然后通过dx工具转换格式,然后通过加密算法加密转换后的jar。3.通过jni解密和加载类,这一步主要是在C/C++解密程序中的需要加载的jar,然后通过 通过dex
阅读全文
posted @ 2012-12-23 16:27
創丗仼
阅读(154)
推荐(0)
编辑
摘要:
1、Android dvm的进程和Linux的进程,应用程序的进程是否为同一个概念DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念。2、sim卡的EF文件有何作用sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本身可以有自己的操作系统,EF就是作存储并和手机通讯用的3、嵌入式操作系统内存管理有哪几种,各有何特性?页式,段式,段页,用到了MMU,虚拟空间等技术4、什么是嵌入式实时操作系统, Android操作系统属于实时操作系统吗?、嵌入式实时
阅读全文
posted @ 2012-12-23 16:25
創丗仼
阅读(249)
推荐(0)
编辑
摘要:
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。 LinearLayout: LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多...
阅读全文
posted @ 2012-12-23 15:31
創丗仼
阅读(395)
推荐(0)
编辑
摘要:
在浅谈Android五大布局(一)中已经描述了LinearLayout(线性布局)、FrameLayout(单帧布局)和AbsoulteLayout(绝对布局)三种布局结构,剩下的两种布局RelativeLayout(相对布局)和TableLayout(表格布局)相对之前布局结构稍显复杂一点,所以这里另起篇幅进行介绍。RelativeLayout: RelativeLayout按照各子元素之间的位置关系完成布局。在此布局中的子元素里与位置相关的属性将生效。例如android:layout_below, android:layout_above等。子元素就通过这些属性和各自的ID配合指定位置..
阅读全文
posted @ 2012-12-23 15:31
創丗仼
阅读(173)
推荐(0)
编辑