对于字符串处理Android为我们提供了一个简单实用的TextUtils类,如果处理比较简单的内容不用去思考正则表达式不妨试试这个在android.text.TextUtils的类,主要的功能如下: 是否为空字符 static boolean isEmpty(CharSequence str) 拆分字符串 public static String[] split (String text, String expression) ,Android开发网提示大家仔细看例子如下 String.split() returns [”] when the string to be split is empty. This returns []. This does not remove any empty strings from the result. For example split("a,", "," ) returns {"a", ""}. 拆分字符串使用正则 public static String[] split […]
处理
Android游戏开发之旅15 按键中断处理 Android开发技术
有关Android平台上游戏开发中我们需要处理一些特别的按键事件,对于突发的事情我们需要特别的考虑,比如突然来电话了和游戏中按下一些特殊的键,比如拍照键 @Override public boolean dispatchKeyEvent(KeyEvent event) { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_VOLUME_UP: //音量键+ case KeyEvent.KEYCODE_VOLUME_DOWN: //音量键- case KeyEvent.KEYCODE_CAMERA: //拍照键 case KeyEvent.KEYCODE_FOCUS: //拍照键半按的对焦状态 // event.getAction() == KeyEvent.ACTION_UP //Android123提示如果按键按下后弹起时触发 } return true; //这些标记为处理过,则不在往内部传递 default: break; } return super.dispatchKeyEvent(event); } 对于游戏突然来电话我们一般采取通过PhoneStateListener类提供的public void onCallStateChanged (int state, String incomingNumber) 回调方法可以获取电话的状态,比如常规空闲时CALL_STATE_IDLE、来电时CALL_STATE_RINGING和CALL_STATE_OFFHOOK 摘机通话中,有关处理的细节网友可以查看Android Git项目中的Music,在Android开源项目中系统自带的音乐播放器可以很好的处理,比如在通话结束后恢复音乐播放,而我们游戏需要做的就是记住当前的游戏状态尽量数据持久化处理,不能因为长时间的通话,游戏的Activity被清理了,这里我们一般通过onSaveInstanceState来保存当前窗口的一些记录,通过Intent标记来让系统管理好我们游戏的生命周期。
Android Drawable叠加处理方法 Android开发技术
大家可能知道Bitmap的叠加处理在Android平台中可以通过Canvas一层一层的画就行了,而Drawable中如何处理呢? 除了使用BitmapDrawable的getBitmap方法将Drawable转换为Bitmap外,今天Android123给大家说下好用简单的LayerDrawable类,LayerDrawable顾名思义就是层图形对象。下面直接用一个简单的代码表示: Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.cwj); Drawable[] array = new Drawable[3]; array[0] = new PaintDrawable(Color.BLACK); //黑色 array[1] = new PaintDrawable(Color.WHITE); //白色 array[2] = new BitmapDrawable(bm); //位图资源 LayerDrawable ld = new LayerDrawable(array); //参数为上面的Drawable数组 ld.setLayerInset(1, 1, 1, 1, 1); //第一个参数1代表数组的第二个元素,为白色 ld.setLayerInset(2, 2, 2, 2, 2); //第一个参数2代表数组的第三个元素,为位图资源 mImageView.setImageDrawable(ld); 上面的方法中LayerDrawable是关键,Android开发网提示setLayerInset方法原型为public void setLayerInset (int index, int […]

