- 博客(60)
- 资源 (10)
- 收藏
- 关注
转载 android 上下文菜单 Context Menu
<br />上下文菜单Context Menu <br /> <br />Android的上下文菜单在概念上和PC软件的右键菜单类似。当一个视图注册到一个上下文菜单时,执行一个在该对象上的“长按”(按住不动差不多两秒钟)动作,将出现一个提供相关功能的浮动菜单。上下文菜单可以被注册到任何视图对象中,不过,最常见的是用于列表视图ListView的item,在按中列表项时,会转换其背景色而提示将呈现上下文菜单。 (电话联系人列表提供了关于这个特性的一个很好的例子)。 <br />注意:上下文菜单项不支持
2010-11-30 14:35:00 440
转载 模拟按下Home键的效果
<br />有网友询问如何实现按下Home键的效果,Android设备在按下Home键会自动切换回桌面,其实实现的方法很简单,由于Launcher捕获了Home键的按下action,我们直接发送个Intent给Launcher即可,代码如下:<br />Intent i= new Intent(Intent.ACTION_MAIN); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //android123提示如果是服务里调用,必须加入new task标识
2010-11-25 16:43:00 247
转载 Android游戏开发之旅(二十) 双按事件捕获
<br />对于游戏开发中我们可能经常要用到双按屏幕,在Android 1.6以前并没有提供完善的手势识别类,在Android 1.5 SDK中我们可以找到android.view.GestureDetector.OnDoubleTapListener,但是经过测试仍然无法正常工作,不知道什么原因。最终我们使用的解决方法如下 <br /> 最终我们测试的如下:<br />public class TouchLayout extends RelativeLayout { public Han
2010-11-25 16:42:00 310
转载 Android游戏开发之旅(十九) 分辨率大全
<br />对于Android游戏开发我们不得不像iPhone那样思考兼容Android平板电脑,对于苹果要考虑iPad、iPhone 3GS和iPhone 4等屏幕之间的兼容性,对于几乎所有的分辨率Android123总结了大约超过20中粉笔阿女郎的大小和对应关系,对于开发Android游戏而言可以考虑到未来的3.0以及很多平板电脑的需要。 <br /> 常规的我们可能只考虑QVGA,HVGA,WVGA,FWVGA和DVGA,但是抛去了手机不谈,可能平板使用类似 WSVGA的1024x576以及WXGA
2010-11-25 16:40:00 389
转载 Android游戏开发之旅(十八) SoundPool类
<br />对于Android的游戏音效播放,上次Android123已经告诉大家使用SoundPool类来实现,由于本次我们的游戏需要多种音效同时播放所以就选择了SoundPool类,它和Android提供常规的MediaPlayer类有哪些不同呢? <br /> 1. SoundPool载入音乐文件使用了独立的线程,不会阻塞UI主线程的操作。但是这里Android开发网提醒大家如果音效文件过大没有载入完成,我们调用play方法时可能产生严重的后果,这里Android SDK提供了一个SoundPool
2010-11-25 16:39:00 377
转载 Android游戏开发之旅(十七) 图像渐变特效
<br />在Android游戏开发中我们不免要涉及到一些图形特效处理,今天主要看下Android平台下实现渐变效果。在 android.graphics中我们可以找到有关Gradient字样的类,比如LinearGradient 线性渐变、RadialGradient径向渐变和 角度渐变SweepGradient 三种,他们的基类为android.graphics.Shader。为了显示出效果android123使用一个简单的例子来说明。 <br /> 一、LinearGradient线性渐变<br /
2010-11-25 16:38:00 487
转载 Android游戏开发之旅(十六) 异步音乐播放
<br />在Android游戏开发中我们必须考虑背景音乐播放问题,在Android平台中提供了MediaPlayer类可以播放声音,但是游戏除了播放音乐外还需要考虑画面的流畅性,以及多种音效同时播放,所以必须用到Android多线程机制和异步音效播放。Android SDK从1.0开始就提供了AsyncPlayer类,这里我们为了根据我们自己的需要可以派生或修改出更灵活的播放类。<br />import android.content.Context;import android.net.Uri;
2010-11-25 16:37:00 458
转载 Android游戏开发之旅(十五) 按键中断处理
<br />有关Android平台上游戏开发中我们需要处理一些特别的按键事件,对于突发的事情我们需要特别的考虑,比如突然来电话了和游戏中按下一些特殊的键,比如拍照键<br />@Override public boolean dispatchKeyEvent(KeyEvent event) { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_VOLUME_U
2010-11-25 16:36:00 376
转载 Android游戏开发之旅(十四) 游戏开发实战一
<br />从今天开始Android123将开始带领大家进入Android游戏开发实战篇,本次我们首个游戏为2D的基于SurfaceView的类似横版卷轴游戏。第一天我们说下需要做哪些准备: <br /> 一、游戏地图编辑器,在J2ME时代我们可能都是用GIF分割多帧或BMP上放置多个图片通过减少文件头来压缩体积,但是在Android平台上开发游戏我们不需要那么节省,不过资源的释放仍然很重要,否则会出现OutOfMemoryError这样的悲剧发生。一般简单的2D平面游戏地图都是使用二维数组来标记的。我们
2010-11-25 16:35:00 371
转载 Android游戏开发之旅(十二)Sensor重力感应(2)
<br />有关Android游戏开发中的Sensor感应示例今天我们将一起来讨论,对于目前最新的Android 2.2平台 而言仍然没有具体的感应判断逻辑,下面我们一起定义 下常用的感应动作事件。首先Android123提醒大家由于是三轴的立体空间感应所以相对于轨迹球、导航键的上下左右外,还提供了前后的感应,所以我们定义最基本的六种空间方向。 <br />public static final int CWJ_UP = 0;public static final int CWJ_DOWN = 1;
2010-11-25 16:34:00 425
转载 Android游戏开发之旅(十二)Sensor重力感应(1)
<br />从Android手机 开始,主流的智能机纷纷加入了感应器Sensor硬件,常见的有光线感应器、重力感应器、加速感应器,而更高级的有磁极方向、陀螺仪、距离感应器、温度感应器等等。对于Android游戏开发 ,我们主要用到重力、加速、磁力和陀螺仪四种,当然部分游戏可能需要GPS 或Cellid定位来修正一些位移信息。从系统 中提高的感应器主要在android .hardware中,我们可以看到系统提供了 android.hardware.SensorEventListener、Sensor和Sens
2010-11-25 16:33:00 550
转载 Android游戏开发之旅(十一)View中手势识别
<br />有关Android平台 的游戏开发 中我们需要涉及到控制,在开始的Android游戏开发之旅中我们提到了按键和轨迹球的控制方式,从今天开始 Android123开始给出大家游戏中其他的一些控制方式,比如今天的手势操作和未来重力感应。<br /><br />很多网友发现Android中手势识别提供了两个类,由于Android 1.6以下的版本比如cupcake中无法使用android .view.GestureDetector,而 android.gesture.Gesture是Android 1
2010-11-25 16:32:00 326
转载 Android游戏开发之旅(十)位图旋转
<br />在Android中图形的旋转和变化提供了方便的矩阵Maxtrix类,Maxtrix类的setRotate方法接受图形的变换角度和缩放,最终Bitmap类的createBitmap方法中其中的重载函数,可以接受Maxtrix对象,方法原型如下<br />public static Bitmap createBitmap (Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter)<br />参数的具体意
2010-11-25 16:31:00 344
转载 Android游戏开发之旅(九)VideoView类剖析
<br />有关SurfaceView 相关的内容今天Android123继续延用系统 的示例类VideoView来让大家深入了解Android平台 的图形绘制基础类的实现原理。大家可能会发现VideoView类的控制方面无法改变,我们可以通过重构VideoView类来实现更个性化的播放 器<br /> public class VideoView extends SurfaceView implements MediaPlayerControl { private String TAG =
2010-11-25 16:30:00 502
转载 Android游戏开发之旅(八)SurfaceView类实例
<br />有关SurfaceView 我们将通过三个系统 自带的例子 来深入掌握Android绘图必会的SurfaceView,今天我们以SDK中的Sample 游戏 lunarlander中的LunarView具体实现,Android123建议大家导入该游戏工程到你的Eclipse 然后自己编译 先玩一下这个游戏,然后再看代码 比较好理解。<br /> class LunarView extends SurfaceView implements SurfaceHolder.Callback {
2010-11-25 16:28:00 358
转载 Android游戏开发之旅(七)自定义SurfaceView
<br />今天我们说下未来的Android游戏 引擎模板架构问题,对于游戏我们还是选择SurfaceView ,相关的原因Android123已经在Android游戏开发 之旅二 View和SurfaceView中说的很清楚了,这里我们直接继承SurfaceView,实现 SurfaceHolder.Callback接口,处理surfaceCreated、surfaceChanged以及 surfaceDestroyed方法,这里我们并没有把按键控制传入,最终游戏的控制方面仍然由View内部类处理比较好,
2010-11-25 16:26:00 432
转载 Android游戏开发之旅(六)自定义View
<br />有关Android的自定义View 的框架今天我们一起讨论下,对于常规的游戏 ,我们在View中需要处理以下几种问题: 1.控制事件 2.刷新View 3. 绘制View。(文/Android开发 网)<br /><br /> 1. 对于控制事件今天我们只处理按键事件onKeyDown,以后的文章中将会讲到屏幕 触控的具体处理onTouchEvent以及Sensor重力感应等方法。<br /><br /> 2. 刷新view的方法这里主要有invalidate(int l, int t, i
2010-11-25 16:11:00 376
转载 Android游戏开发之旅(五)Path和Typeface
<br />今天我们继续处理上次 Android游戏开发 之旅(四)Canvas和Paint实例 中提到的Path路径和Typeface字体两个类。对于Android游戏开发或者说2D绘图中来讲Path 路径可以用强大这个词来形容。在Photoshop中我们可能还记得使用钢笔工具绘制路径的方法。Path路径类在位于 android .graphics.Path中,Path的构造方法比较简单,如下<br />Path cwj=new Path(); //构造方法<br /> <br />下面我们画一个封闭的
2010-11-25 16:05:00 518
转载 Android游戏开发之旅(四)Canvas和Paint实例
<br />昨天我们在Android游戏开发 之旅(三)View 类详解中提到了onDraw方法,有关详细的实现我们今天主要说下Android的Canvas和Paint对象的使用实例。<br /><br />Canvas类主要实现了屏幕 的绘制过程,其中包含了很多实用的方法,比如绘制一条路径、区域、贴图、画点、画线、渲染文本,下面是Canvas类常用的方法,当然Android开发网提示大家很多方法有不同的重载版本,参数更灵活。<br /><br />void drawRect(RectF rect, Pai
2010-11-25 15:45:00 363
转载 Android游戏开发之旅(三)View类详解
<br /> 在Android游戏开发 之旅二中我们讲到了View 和SurfaceView的区别,今天Android123从View类开始着重的介绍 Android图形显示基类的相关方法和注意点。(文/Android开发网)<br /><br />自定义 View的常用方法:<br /><br />onFinishInflate() 当View中所有的子控件 均被映射成xml后触发<br /><br />onMeasure(int, int) 确定所有子元素的大小<br /><br />onLa
2010-11-25 15:36:00 393
转载 Android游戏开发之旅(二)View和SurfaceView
<br />在Android游戏 当中充当主要的除了控制类外就是显示类,在J2ME中我们用Display和Canvas来实现这些,而Google Android中涉及到显示的为view类,Android游戏开发 中比较重要和复杂的就是显示和游戏逻辑的处理。这里我们说下 android .view.View 和android.view.SurfaceView。SurfaceView是从View基类中派生出来的显示类,直接子类有GLSurfaceView和VideoView,可以看出GL和视频播放 以及Came
2010-11-25 15:25:00 310
转载 Android游戏开发之旅(一)
<br />今天Android开始新的Android游戏开发 之旅系列,主要从控制方法(按键、轨迹球、触屏、重力感应、摄像头、话筒气流、光线亮度)、图形 View (高效绘图技术如双缓冲)、音效(游戏音乐)以及最后的OpenGL ES(Java 层)和NDK 的OpenGL和J2ME游戏移植 到Android方法,当然还有一些游戏实现惯用方法,比如地图编辑器,在Android OpenGL如何使用MD2文件 ,个部分讲述下Android游戏开发的过程最终实现一个比较完整的游戏引擎。相信大家都清楚Androi
2010-11-25 15:21:00 378
转载 Android高手进阶教程(二十二)之---Android中几种图像特效处理的集锦!
<br />大家好,这一节给大家分享的是Android中几种图像特效处理的小技巧,比如圆角,倒影,还有就是图片缩放,Drawable转化为Bitmap,Bitmap转化为Drawable等等.<br />废话少说了,直接讲解今天的实例,本例主要是先获取壁纸(getWallpaper()),然后对当前壁纸的一些特效处理.大家按步骤一步一步来:<br />第一步:新建一个Android工程命名为ImageDemo,工程结构如下:<br /><br />第二步:新建一个.java文件,命名为ImageUtil.j
2010-11-25 15:03:00 190
转载 Android高手进阶教程(二十一)之---Android中创建与几种解析xml的方法!
<br />大家好今天我今天给大家讲解一下android中xml的创建以及一些解析xml的常用方法。<br />首先是创建,我们用XmlSerializer这个类来创建一个xml文件,其次是解析xml文件,常用的有 dom,sax,XmlPullParser等方法,由于sax代码有点复杂,本节只讲解一下dom与XmlPullParser解析,sax我将会在下一节单独讲解,至于几种解析xml的优缺点我就不再讲述了。<br />为了方便理解,我做了一个简单的Demo。首先首界面有三个按钮,点击第一个按钮会在sd
2010-11-25 14:41:00 271
转载 EditView 阻止软键盘自动弹出
<br />在AndroidManifest.xml里面 <br />选择那个acitivity, 把他的window soft input mode设置 成stateHidden和 <br />adjustUnspecified <br /><activity android:name=".ClientSearchViewActivity" android:label="@string/app_name" android:scr
2010-11-25 14:30:00 290
转载 Android 为Activity屏幕的标题添加图标
<br />我们可以在AndroidManifest.xml中,使用<br /> < application android:icon="@drawable/icon"> < application android:icon="@drawable/icon"><br /> <br />来设置应用 的图标,但我们却不能采用同样的方法来设置Activity对应屏幕 的标题的图标。<br /><br /> 不过,Android还是为我们提供了通过代码来设置标题图标的方法,代码如下:<br /> @Ove
2010-11-25 14:26:00 240
转载 Android调用系统自带软件
<br />1,调web浏览器<br />Uri myBlogUri = Uri.parse("http://xxxxx.com");returnIt = new Intent(Intent.ACTION_VIEW, myBlogUri);<br />2,地图<br />Uri mapUri = Uri.parse("geo:38.899533,-77.036476");returnIt = new Intent(Intent.ACTION_VIEW, mapUri);<br />3,调拨打电话界面
2010-11-25 14:20:00 241
转载 Android文字跑马灯控件(文本自动水平滚动)
<br />代码如下:<br />AutoScrollTextView.java<br />package com.cn.lhq;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.os.Parcel;import android.os.Parcelable;import android.util.AttributeSet;
2010-11-25 14:19:00 529 1
转载 android Toast大全(五种情形)建立属于你自己的Toast
<br />Toast用于向用户显示一些帮助/提示。下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast。<br />1.默认效果<br /><br />代码<br />Toast.makeText(getApplicationContext(), "默认Toast样式", Toast.LENGTH_SHORT).show();<br /> <br />2.自定义显示位置效果<br /><br />代码<br />toast = Toast.makeText(getApp
2010-11-25 11:47:00 296
原创 国家/地区 语言缩写代码 查询备用
<br />国家/地区语言代码国家/地区语言代码简体中文(中国)zh-cn繁体中文(台湾地区)zh-tw繁体中文(香港)zh-hk英语(香港)en-hk英语(美国)en-us英语(英国)en-gb英语(全球)en-ww英语(加拿大)en-ca英语(澳大利亚)en-au英语(爱尔兰)en-ie英语(芬兰)en-fi芬兰语(芬兰)fi-fi英语(丹麦)en-dk丹麦语(丹麦)da-dk英语(以色列)en-il希伯来语(以色列)he-il英语(南非)en-za英语(印度)en-in英语(挪威)en-no英语(新加
2010-11-23 16:06:00 1194
转载 Android/OPhone开发完全讲义》连载(4):Android SDK中常用命令行工具(二)
<br />一、PC与模拟器或真机交换文件(adb pull和adb push)<br />在开发阶段或其他原因,经常需要将PC上的文件复制到模拟器或真机上,或将模拟机和真机上的文件复制到PC上。使用adb pull和adb push命令可以很容易完成这个工作。例如,下面的命令将真机的SD卡根目录下的camera.jpg文件复制到PC的当前目录,取名为picture.jpg。又把picture.jpg文件复制到真机的SD卡根目录,取名为abc.jpg。<br />从真机上复制文件到PC<br />adb -
2010-11-22 20:10:00 242
转载 新书内容连载(3):Android SDK中常用命令行工具(一)
1. 启动和关闭 ADB服务( adb start-server和 adb kill-server)<br /> 经作者测试,模拟器在运行一段时间后, adb服务有可能(在 Windows进程中可找到这个服务,该服务用来为模拟器或通过 USB数据线连接的真机服务)会出现异常。这时需要重新对 adb服务关闭和重启。当然,重启 Eclipse可能会解决问题。但那比较麻烦。如果想手工关闭 adb服务,可以使用下面的命令。<br />adb kill-server<br />在关闭 adb服务后,要使用如下
2010-11-22 20:03:00 221
转载 关于Android中传递数据的一些讨论
本文为原创,如需转载,请注明作者和出处,谢谢!<br /> 在Android中编写过程序的开发人员都知道。在Activity、Service等组件之间传递数据(尤其是复杂类型的数据)很不方便。一般可以使用Intent来传递可序列化或简单类型的数据。看下面的代码。 Intent intent = new Intent(this, Test.class);<br /> intent.putExtra("param1", "data1");<br /> intent.putExt
2010-11-22 19:18:00 145
转载 遇到内存溢出的解决办法
<br />昨天在模拟器上给gallery放入图片的时候,出现java.lang.OutOfMemoryError: bitmap size exceeds VM budget 异常,图像大小超过了RAM内存。<br /> 模拟器RAM比较小,只有8M内存,当我放入的大量的图片(每个100多K左右),就出现上面的原因。由于每张图片先前是压缩的情况。放入到 Bitmap的时候,大小会变大,导致超出RAM内存,具体解决办法如下:<br />//解决加载图片 内存溢出的问题<br />
2010-11-22 18:12:00 162
转载 sqlite 数据类型 全面
<br />一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种数据类型:<br />1.NULL:空值。<br />2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。<br />3.REAL:浮点数字,存储为8-byte IEEE浮点数。<br />4.TEXT:字符串文本。<br />5.BLOB:二进制对象。<br /><br />但实际上,sqlite3也接受如下的数据类型:<br /> smallint 16 位元的整数
2010-11-22 17:59:00 135
转载 Android线程交互(Handler+Thread 和 AsyncTask)
<br />为什么需要线程<br /> 假设需要开发一个联网应用程序,需要从一个网址抓取网页内容,这里读取的网页地址是笔者在本地机器上自己建立的服务器地址。当然在读取网页内容的时候,可以使用HttpClient提供的API,但是这并不是本文的介绍重点。缺乏联网程序开发经验的程序员可能写出下面的代码。<br />package com.ophone.network;//这里为了节省篇幅,忽略了import项public class NetworkActivity extends Activity {
2010-11-22 17:52:00 289
原创 Java Thread Stop方法以及替换实现
<br />Stop方法不推荐使用,我给个具体的例子:<br />public class DeprecatedStop extends Object implements Runnable { public void run() { int count = 0; while ( count <20 ) { System.out.println("Running ... count=" + count); co
2010-11-18 17:04:00 303
转载 android SIM联系人
android SIM联系人<br />一、启动SIM联系人导入手机 INTENT<br /> // SIM import Intent importIntent = new Intent(Intent.ACTION_VIEW); importIntent.setType("vnd.android.cursor.item/sim-contact"
2010-11-18 16:58:00 783
转载 Android中通过程序获取SIM Card的信息
<br />在Android中通过程序获取SIM Card的信息并不是很困难,以下一段代码希望!<br /> public String readSIMCard() { TelephonyManager tm = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);//取得相关系统服务 StringBuffer sb = new StringBuffer(); switch(tm.
2010-11-18 16:52:00 498
转载 设置任何控件透明度
<br />1、java代码实现:<br />View v = findViewById(R.id.content);//找到你要设透明背景的layout 的idv.getBackground().setAlpha(100);//0~255透明度值<br /> <br />2、xml文件中实现:<br /><Button android:background="#e0000000" ... /> //半透明<Button android:background="#00000000" ... /> /
2010-11-18 14:12:00 436
Android 内存泄漏调试经验分享
2010-12-08
Android的开发应用原则附加情景
2010-10-20
Android UI设计
2010-10-19
android2.2 特色详解,震撼发布啦!!
2010-10-19
android2.0 新特性
2010-10-19
Android NDK开发 绝对震撼
2010-10-19
成为Android数据流大师-改变从此开始
2010-10-19
android开发技巧与性能优化
2010-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人