Android
文章平均质量分 57
mtj13617254943
这个作者很懒,什么都没留下…
展开
-
让Android应用获取系统权限
在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真机,在logcat中总会得到"Unable to open alarm driver: Permission denied ".这个函数需要root权限或者运行与系统进程中才可以用。 本来以为就没有...原创 2011-12-08 18:46:25 · 112 阅读 · 0 评论 -
性能优化
如果你想写一个 Java 程序,观察某对象什么时候会被垃圾收集的执行绪清除,你必须要用一个 reference 记住此对象,以便随时观察,但是却因此造成此对象的 reference 数目一直无法为零, 使得对象无法被清除。 java.lang.ref.WeakReference不过,现在有了 Weak Reference 之后,这就可以迎刃而解了。如果你希望能随时取得某对象的信息,...原创 2011-05-27 09:26:55 · 61 阅读 · 0 评论 -
Android游戏中其他语言数据类型之间的转换方法
Java与其他语言数据类型之间的转换方法实例程序 /*** 通信格式转换** Java和一些windows编程语言如c、c++、delphi所写的网络程序进行通讯时,需要进行相应的转换* 高、低字节之间的转换* windows的字节序为低字节开头* linux,unix的字节序为高字节开头* java则无论平台变化,都是高字节开头 */ public class FormatTran...原创 2011-05-17 11:43:33 · 82 阅读 · 0 评论 -
android canvas.getClipBounds
一种是传参数:Rect dstRect = new Rect();Canvas canvas = holder.lockCanvas(); canvas.getClipBounds(dstRect);一种没有参数的dstRect =canvas.getClipBounds();此时dstRect 大小为canvas的大小...原创 2011-05-13 17:41:15 · 1757 阅读 · 0 评论 -
获取屏幕大小的方法
// one DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int screenWidth = dm.widthPixels; int screenHeight = dm.heightPixels; //twogetWind...原创 2011-05-13 17:38:12 · 104 阅读 · 0 评论 -
Android Lock 使用
PowerManager 和PowerManager.WakerLock7用于对Android设备的电源进行管理。 PowerManager:This class gives you control of the power state of the device. PowerManager.WakeLock: lets you say that you need to have ...原创 2011-05-13 16:43:02 · 628 阅读 · 0 评论 -
为Android编写实时游戏
为Android编写实时游戏—-学习笔记这篇文章是Chris Pruett 在Google I/O 2009的一个演讲视频的笔记。我翻译了大部分的演讲的演示稿,里面有不少疏漏,臆断和错误都是我记录的时候造成的,与演讲作者无关。本文的版权归演讲作者所有。转载请保留演讲作者的信息和本文链接。你可以从下面的链接进入该主题在Google I/O 2009 的原文里面含视频和演示稿。http:/...原创 2011-05-06 15:57:15 · 146 阅读 · 0 评论 -
android常用方法重写
Android的view组件显示主要经过mesure, layout和draw这三个过程。在mesure阶段里调用mesure(int widthSpec, int heightSpec)方法,这个方法是final不能被重写,在这个过程里会调用onMesure(int widthSpec, int heightSpec)方法。当组件设置好大小后,调用final layout(int l, i...原创 2011-05-05 12:53:08 · 749 阅读 · 0 评论 -
游戏中凸包算法
木有台词,详见代码,谢谢!原创 2011-05-04 16:25:02 · 114 阅读 · 0 评论 -
游戏中判断一群点可否构成凸多边形
下面的代码需要box2d!!!!!!!!!!!import org.jbox2d.common.Vec2;public class PolyonUtil { private static PolyonUtil instance; private float a; private float b; private boolean x_axis; private boolean y_axis;...原创 2011-05-04 16:17:08 · 184 阅读 · 0 评论 -
游戏移植中粗糙的屏幕分辨率解决方案
Matrix matrix = new Matrix(); Camera c = new Camera(); c.save(); //Z引起图片放大缩小 c.translate(0f, 0f, 2f); //+放大 -缩小 c.getMatrix(matrix); c.r...原创 2011-05-04 12:57:16 · 90 阅读 · 0 评论 -
android应用收费渠道
最近经常和一些Android平台开发专家交流,从他们那里获得了很多有关应用开发和发布的信息,今天我对这些信息进行了总结,希望能够帮助开发者完善应用产品的开发,也能玩转应用商店。以下是个人的几点总结: 开发者如何定位自己的产品 作为开发者,大家在开发产品的时候,首先要考虑的就是手里头有什么样的资源,是不是以盈利为目的开发产品。我们开发的产品是什么类型的产品,面对什么样的平台,要考虑这些之...原创 2011-01-15 22:33:43 · 928 阅读 · 0 评论 -
Android平台产品推广渠道及收入模式
现代电脑的生命周期从1960年起,经历半个世纪的风风雨雨,迎来了移动互联网的时代。移动设备和移动应用如雨后春笋般层出不群。 在中国有无数的创业者投入到移动平台的开发中。移动平台的工作量相对小,投入成本少,进入门槛低。云技术应用大规模出现,使移动平台获得了超过手持硬件本身能力的大规模运算和数据处理能力。3G网络的全面支持,使移动设备随时上网成为可能。移动设备的特性使其具备了地理位置、重力感应、...原创 2011-01-15 22:19:22 · 143 阅读 · 0 评论 -
google加长提供软件更新提示
对于喜欢尝试最新软件功能的用户来说,手机上的软件应用也不会放过,只要软件商店提示有更新可用就会马上下载升级。不过有一些手机软件的版本升级会很频繁,每次升级都只是修改了小部分缺陷,这样的升级对于用户来说意义并不大。Google Android电子市场近日就修改了相关规则,让用户可以看到版本更新内容,然后根据情况选择下载。Android应用开发人员之前只能用325个字符来描述自己的软件功能,这...原创 2011-01-15 22:16:22 · 79 阅读 · 0 评论 -
国内Android 市场调查
1.你比较关注哪些类型的应用?(可多选)这个问题的设置目的是想了解国内的用户对各种类型应用的需求度。从下图可以看到,众多常见应用中,排在前5的分别为:游戏、社交、影音、效率、个性化(例如皮肤主题)。A. 游戏的需求依然强劲,但从目前来看android上的火爆游戏依然很少,大部分是从其他平台,特别是iPhone平台移植过来的版本,且由于前期的ROM 运行效率较低,机型多带来的分辨率...原创 2011-01-15 22:13:09 · 164 阅读 · 0 评论 -
控制横竖屏切换
在Android中要让一个程序的界面始终保持一个方向,不随手机方向转动而变化的办法: 只要在AndroidManifest.xml里面配置一下就可以了。 在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOrientation=”landscape”属性即可(landscape是横向,portrait是纵向)。例如: ...原创 2011-01-14 01:21:34 · 110 阅读 · 0 评论 -
Matrix
canvas.drawBitmap(bitmap, matrix, null);//不会忽略平移变换,效果相当于先假设在原点绘制bitmap,然后将绘制的bitmap的每个像素点进行matrix变换后真是绘制;而Bitmap temp = Bitmap.createBitmap(bitmap, 0, 0,bitmap.getWidth(), bitmap.getHeight(), matrix, ...原创 2011-04-27 18:17:09 · 101 阅读 · 0 评论 -
获取手机的Opengl的支持版本
public int getGLVersion(){ ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); ConfigurationInfo info = am.getDeviceConfigurationInfo(); return info.reqG...原创 2011-05-27 09:28:25 · 1347 阅读 · 0 评论 -
Http
使用 HTTP 服务: 1. Apache HttpClinet Http GET Http POST a.创建 HttpClient b.初始 HTTP GET 方法或 POST 方法. c.设置参数 键值对 d.执行 HTTP 调用 e.处理 HTTP 回复 HTTP GET 示例:Java代码 public class TestHttpGetMethod{ ...原创 2011-06-01 17:10:48 · 114 阅读 · 0 评论 -
Android源码目录结构详解
Android 2.1 |-- Makefile |-- bionic (bionic C库) |-- bootable (启动引导相关代码) |-- build (存放系统编译规则及generic等基础开发包配置) |-- cts (Android兼容性测试套件标准) |-- dalvik (dalvik JAVA虚拟机) |-- development (应用程序开发相关) |-- ext...原创 2011-12-01 20:22:48 · 95 阅读 · 0 评论 -
两个activity跳转
Activity A跳转到 Activity B/**A.startActivity()*/A.onPause()B.onCreate()B.onStart()B.onResume()A.onStop()/**B.finish()*/B.onPause()A.onRestart()A.onStart()A.onResume()B.onStop()...原创 2011-11-25 16:06:19 · 117 阅读 · 0 评论 -
线程同步之wait()/notify()的使用
wait()/notify()通常,多线程之间需要协调工作。例如,浏览器的一个显示图片的线程displayThread想要执行显示图片的任务,必须等待下载线程downloadThread将该图片下载完毕。如果图片还没有下载完,displayThread可以暂停,当downloadThread完成了任务后,再通知displayThread“图片准备完毕,可以显示了”,这时,displayThre...原创 2011-11-21 11:24:14 · 146 阅读 · 0 评论 -
游戏中渲染线程与更新线程交替执行
private final State mThreadLocker = new State(); private UpdateThread updateThread; private DrawThread drawThread; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedIn...原创 2011-11-21 11:21:01 · 158 阅读 · 0 评论 -
android.os.NetworkOnMainThreadException
不能在android的主线程中,执行一个网络操作public void onCreate() { StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() ...原创 2011-12-24 13:14:23 · 150 阅读 · 0 评论 -
转载:为什么要对URI进行编码
为什么需要Url编码,通常如果一样东西需要编码,说明这样东西并不适合传输。原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义。 例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8。如果你的value字符串中包含了=或者&,那么势必会造...原创 2011-12-15 15:49:56 · 177 阅读 · 0 评论 -
multipart form-data boundary
含义 ENCTYPE="multipart/form-data" 说明: 通过 http 协议上传文件 rfc1867协议概述,jsp 应用举例,客户端发送内容构造 1、概述在最初的 http 协议中,没有上传文件方面的功能。 rfc1867 (http://www.ietf.org/rfc/rfc1867.txt) 为 http 协议添加了这个功能。客户端的浏览器,如 Microsoft IE,...原创 2011-12-15 15:23:02 · 267 阅读 · 0 评论 -
android http 附件
一:服务器端:1:struts-config.xmlXml代码 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts-config (View Source for full doctype...)> - <struts-config> -...原创 2011-12-15 14:17:47 · 141 阅读 · 0 评论 -
post 附件
在做嘀咕客户端的时候,要实现拍照上传的功能。根据嘀咕api提供的接口,文档看上去很复杂,我用一个简单html文件来说明问题。几个关键点:这个表单使用post方法有几个文本域,还用到file域,即文件上传编码用utf-8接下来,我在android中使用HttpURLConnection来构建一个符合这些规则的表单Post到服务器。到底这个表单是怎么样的一种结构,它肯定是要...原创 2011-12-15 10:24:16 · 185 阅读 · 0 评论 -
android colormatrix
在编程中有时候需要对图片做特殊的处理,比如将图片做出黑白的,或者老照片的效果,有时候还要对图片进行变换,以拉伸,扭曲等等。这些效果在android中有很好的支持,通过颜色矩阵(ColorMatrix)和坐标变换矩阵(Matrix)可以完美的做出上面的所说的效果。下面将分别介绍这两个矩阵的用法和相关的函数。颜色矩阵android中可以通过颜色矩阵(ColorMatrix类)方面的...原创 2011-11-03 17:32:08 · 90 阅读 · 0 评论 -
apk汉化
android APK汉化图文教程 转载自UC论坛 我们大家知道很多软件都是不断更新的,而一点点的更新却要让汉化者从头再来。记得N年前汉化新世纪的乾都在提倡字典的汉化软件,这些年也确实出现了很多好用的工具。虽然说Android平台的APK软件是个新兴的产物,但是汉化之道,大同小异,字串无非A码U码,其它平台的软件也大可以我用。需要工具:解压缩软件winrar,java环境,点睛助手1.2,汉化至尊...原创 2011-04-12 15:06:45 · 199 阅读 · 0 评论 -
解决bitmap内存限制OUT OF MEMORY的方法
我们在编写Android程序的时候,我们总是难免会碰到OOM(OUT OF MEMORY)的错误。这里,我使用Gallery来举例,在模拟器中,不会出现OOM错误,但是,一旦把程序运行到真机里,图片文件一多,必然会出现OOM,我们通过做一些额外的处理来避免。 1.创建一个图片缓存对象HashMap dataCache,integer对应Adapter中的位置position,我们只用缓...原创 2011-04-12 14:09:06 · 164 阅读 · 0 评论 -
上下文周期应用
在android中context可以作很多操作,但是最主要的功能 是加载 和访问资源 。在android中有两种context,一种是 application context,一种是activity context,通常我们在各种类和方法间传递的是activity context。比如一个activity的onCreate:protected void onCreate(Bundle stat...原创 2011-03-26 16:40:24 · 65 阅读 · 0 评论 -
游戏引擎遇到贴图问题 求解
给精灵贴图时,精灵背景互相遮挡,求解? 已解决,结贴!原创 2011-03-19 11:36:52 · 123 阅读 · 0 评论 -
java栈,堆,池
今天复习了一下这些知识,顺便做了下笔记.1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(pub...原创 2011-07-08 09:38:39 · 147 阅读 · 0 评论 -
3D开发的境界
第一阶段:初学者阶段。 这个阶段主要是熟悉3D图形学的基本原理,和基本api的使用。特别是对于空间的变换,矩阵的原理要有非常清楚的认识。能够用简单的资源,做一个简单的demo,基本上就是达到了。这个阶段比较简单,基本上每个人都可以达到,学习方法也很简单,就是看书,看demo,写代码。时间周期大概1年。 第二阶段:进阶阶段过了第一个阶段,一般人会走两条路。一...原创 2011-06-04 20:12:50 · 95 阅读 · 0 评论 -
NIO
在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的同步(blocking)API。对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO API作为一个基于缓冲区,并能提供异步(non-blocking)IO操作的API被引入。本文对其进行深入的介绍。 ...原创 2011-04-27 11:34:06 · 65 阅读 · 0 评论 -
大字节序小字节序
Endian 的由来一、引子 在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:big-edian和little-endian。本文...原创 2011-04-27 11:29:33 · 329 阅读 · 0 评论 -
Android的Bug收集机制建立
/***给TextView添加点击事件故意抛出异常*/ textView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Main main = new Main(); t...原创 2011-04-25 11:01:28 · 119 阅读 · 0 评论 -
TabHost
Android TabWidget/TabHost有两种使用方法: 第一种:使用系统自带写好的TabHost(及继承自TabActivity类)具体代码如下: Java代码 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.andro...原创 2011-01-06 15:54:34 · 70 阅读 · 0 评论 -
ListView优化
/** * * 博雅商城使用 */ private class MyListViewAdapter extends BaseAdapter { private LayoutInflater mLayoutInflater; public MyListViewAdapter(Context context) { this.mLayoutInflater = LayoutInf...2011-01-06 10:08:59 · 65 阅读 · 0 评论