当前位置:  编程技术>移动开发
本页文章导读:
    ▪手机游戏精简介绍        手机游戏简要介绍 顾名思义,所谓手机游戏就是可以在手机上进行的游戏。随着科技的发展,现在手机的功能也越来越多,越来越强大。而手机游戏也远远不是我们印象中的什么“俄罗斯方.........
    ▪ 判断SD Card是不是插入        判断SD Card是否插入 boolean sdCardExit = Environment.getExternalStorageState().equals( android.os.Environment.MEDIA_MOUNTED); 获取存储卡的目录File file= Environment.getExternalStorageDirectory(); ......
    ▪ 照相机捕获照片保存大小以及保存位置的有关问题       照相机捕获照片保存大小以及保存位置的问题 1.有时候拍照的图片比实际的要小 这可能和版本有管 不过在2.0上以上 可以没问题 在1.6一下即使你用hw.camera.maxHorizontalPixels 和 hw.camera.maxVerticalPi.........

[1]手机游戏精简介绍
    来源: 互联网  发布时间: 2014-02-18
手机游戏简要介绍

顾名思义,所谓手机游戏就是可以在手机上进行的游戏。随着科技的发展,现在手机的功能也越来越多,越来越强大。而手机游戏也远远不是我们印象中的什么“俄罗斯方块”“贪吃蛇”之类画面简陋,规则简单的游戏,进而发展到了可以和掌上游戏机媲美,具有很强的娱乐性和交互性的复杂形态了。于是,抛弃你的随身听和Gameboy,买一个好手机吧,你会发现,一个手机已经足够满足你所有路途中的大部分娱乐需要了。

  那么,在近10年来,手机游戏究竟已经发展到什么地步了呢?下面,就让您跟随笔者的文字,来一场深入手机游戏世界的历险吧!

  手机游戏的分类:
  手机游戏可以根据游戏本身的不同,而分成文字类游戏和图形类游戏两种。

  文字类游戏:

  文字类游戏是以文字交换为游戏形式的游戏。这种游戏一般都是通过玩家按照游戏本身发给您的手机的提示,来回复相应信息进行的游戏。举一个简单的例子,目前很知名的短信游戏“虚拟宠物”就是典型的文字类游戏。在游戏中,游戏服务商会给您一些短信提示,比如服务商可能会给你发送如下短信“您的宠物饥饿度:70,饥渴度:20,疲劳度:20,喂食请回复内容为数字‘1’的信息,喂水请回复内容为数字 ‘2’的信息,休息请回复数字‘3’……”等等,那么,您回复数字“1”之后,游戏会给您回一个信息“您的宠物已经喂食完毕,您的宠物的饥饿度变为 20”,如此类推,您便可以通过手机短信的方法来进行游戏了。

  文字类游戏主要分文两种
  A.短信游戏
  B.Wap浏览器游戏

  A. 短信类游戏:

  就好像“虚拟宠物”那样。短信游戏是通过玩家和游戏服务商通过短信中的文字的内容来交流,达到进行游戏的目的的一种文字游戏。
  由于短信游戏的整个游戏过程都是通过文字来表达,造成短信游戏的娱乐性较差。但是短信游戏却是兼容性最好的手机游戏之一。只要您的手机可以发短信,您就可以畅快的享受短信游戏给您带来的快乐了。

  B. Wap浏览器游戏:

  Wap是一种手机拨号上网的网络服务。而Wap浏览器游戏就好像我们用电脑上网,并通过浏览器浏览网页来进行的简单游戏一样,也属于一种文字游戏。其进行方法和短信游戏类似,玩家可以根据Wap浏览器浏览到的页面上的提示,通过选择各种不同的选项的方法来进行游戏。Wap游戏也有短信游戏不够直观的缺点。

  综观文字类游戏,其都有着一个共同的特点,即游戏是通过文字描述来进行的。游戏过程中,需要玩家进行过多的想象,使得游戏相对比较单调。虽然目前已经有了彩信等特殊服务可以让这类游戏更加人性化,但是其本质依然无法改变。而且,对于文字类游戏来说,其不低的价格门槛依旧是制约其发展的一大瓶颈。

  图形类游戏:

  图形类游戏更接近我们常说的“电视游戏”,玩家通过动画的形式来发展情节进行游戏。由于游戏采用了更为直观且更为精美的画面直接表现,因此图形类游戏的游戏性和代入感往往较文字类游戏高。因此广受玩家们的欢迎。

  图形类游戏主要分为:
  (仅包含国内出现的游戏类型)
  A.嵌入式游戏
  B.java游戏
  C.Brew游戏
  D.Uni-java游戏
  E.mrp国产手机游戏

  A. 嵌入式游戏:

  嵌入式游戏是一种将游戏程序预先固化在手机的芯片中的游戏。由于这种游戏的所有数据都是预先固化在手机芯片中的,因此这种游戏无法进行任何修改。也就是说,您不能更换其它的游戏,只能玩您的手机中已经存在的游戏,且您也不能将它们删除。
  诺基亚早期手机中的“贪吃蛇1、2”就是嵌入式游戏的典型例子。

  B. Java游戏

  Java是一种程序语言,具体是什么程序语言我们完全没有必要知道。作为游戏一族,我们只需要知道两件事:
  第一,您的手机是否支持Java,要了解这一点您可以查阅您的手机的说明书,或者直接询问经销商。
  第二,您挑选的Java游戏是否支持您的手机,要了解这一点,您可以参阅“为什么手机游戏也会有兼容性问题”以及“如何从新浪游戏下载符合您的手机型号的手机游戏”部分。
  在这里,有一个误区需要解释,那就是有时候我们说起java游戏,往往第一个想到的可能就是高端的手机配置,事实上这是一个意识形态上大大的误区。因为手机并不是电脑,“配置”这个词对于我们来说根本没有意义。

  C. Brew游戏

  和Java类似,Brew也是一种程序语言。因此同样,我们也不用知道Brew是什么东西,要使用Brew,您只需要了解您的手机是否支持它就可以了。目前,只有CDMA的手机才支持Brew,但是同时,CDMA也支持Java,于是为了减小成本,一般的开发商还是愿意选择基于Java的游戏进行开发。因此,Brew支持的游戏还不是很多。

  D. Uni-Java游戏

  Uni-Java是中国联通刚刚为其手机准备的一个新的通用开发平台,目前还处于开发接团,还没有基于Uni-java的手机推出。但是在不久的将来,Uni-java必将是联通的一把利器。

  E. mrp国产手机游戏

  它由【杭州斯凯网络科技有限公司】开发的一种轻量级的虚拟平台MINIJ平台格式文件,用标准的ANSI C编写。由于是自主研发的,所以在互联网上除了『游侠小屋』空间站及小溪手游社区有稍具规模提供这些应用对外的Web下载方式之外,目前mrp手机游戏民间官网有比较详细的介绍www.mrp123.cn)。现已有qq联网斗地主,qq2007,msn等网络软件及征途,泡泡龙,加勒比海盗等单机游戏和各类杂志、电子书等160多个应用程序………
  接着我们来看看它们公司自己的简介吧:
  MiniJ应用引擎:具备十分优异的游戏驱动性能,可以在恶劣的硬件环境下流畅的运行游戏。提供多种游戏存储方式,手机游戏可固化存储于Rom中,也可以动态存储于FlashRom中支持游戏的空中下载。极小的空间占用量,约为普通JAVA虚拟机占用空间的1/6。
  优质低价,MiniJ应用引擎是斯凯自主研发的产品,拥有完全的自主产权。
  由标准的ANSI C实现,提供了方便而完整的移植方案,使移植更轻松。
  快速的开发环境,基于Brew SDK的PC模拟器支持GB2312、Unicode等字符集。
  支持多种手机开发平台(高通Brew平台、TI、MTK、LINUX等平台)
  http://www.sky-mobi.com/MiniJ.jsp
  ----------------------------

  另外,需要注意的是:

  1、以上这些程序的分辨率都是240×320和176x220的,再加上MINIJ的特性,导致了在小于这个分辨率的手机上面显示不完整,只显示中间的一部分图象,所以就不建议小于这个分辨率的朋友下载了,因为如果显示不完整的话下载了也没用。
  2、使用方法很简单,直接将压缩包里面的文件解压到你闪存卡的Mulgame目录下即可。然后打开你手机的【多媒体游戏】那个菜单即可运行这些程序(视具体手机而定,游戏手机有可能是别的名字)。 


    
[2] 判断SD Card是不是插入
    来源: 互联网  发布时间: 2014-02-18
判断SD Card是否插入
boolean sdCardExit = Environment.getExternalStorageState().equals(
        android.os.Environment.MEDIA_MOUNTED);


获取存储卡的目录
File file= Environment.getExternalStorageDirectory();	

    
[3] 照相机捕获照片保存大小以及保存位置的有关问题
    来源: 互联网  发布时间: 2014-02-18
照相机捕获照片保存大小以及保存位置的问题

1.有时候拍照的图片比实际的要小

这可能和版本有管

不过在2.0上以上 可以没问题

在1.6一下即使你用hw.camera.maxHorizontalPixels 和 hw.camera.maxVerticalPixels.
都会得到原大小的1/4

 

Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File out = new File(Environment.getExternalStorageDirectory(), "camera.jpg");
Uri uri = Uri.fromFile(out);
imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
imageCaptureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(imageCaptureIntent, RESULT_CAPTURE_IMAGE);

上述没有问题

上面的存入制定目录。存入存放图片的地方

 

SimpleDateFormat timeStampFormat = new SimpleDateFormat("yyyyMMddHHmmssSS");
           String filename = timeStampFormat.format(new Date());
           ContentValues values = new ContentValues();
       values.put(Media.TITLE, filename);
       values.put(Media.DESCRIPTION, "Image from Android Emulator");
       photoUri =
getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
      
       Intent inttPhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
       inttPhoto.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
           startActivityForResult(inttPhoto, 0);

2 然后相关处理就是

private void saveFullImage() { 
  Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
  File file = new File(Environment.getExternalStorageDirectory(), "test.jpg"); 
  outputFileUri = Uri.fromFile(file); 
  intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
  startActivityForResult(intent, TAKE_PICTURE); 

 
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
  if ((requestCode == TAKE_PICTURE) && (resultCode == Activity.RESULT_OK)) { 
    // Check if the result includes a thumbnail Bitmap 
    if (data == null) {     
      // TODO Do something with the full image stored 
      // in outputFileUri. Perhaps copying it to the app folder 
    } 
  } 

 

3. 一个可以兼容的处理方法:

 

public boolean hasImageCaptureBug() { 
 
    // list of known devices that have the bug 
    ArrayList<String> devices = new ArrayList<String>(); 
    devices.add("android-devphone1/dream_devphone/dream"); 
    devices.add("generic/sdk/generic"); 
    devices.add("vodafone/vfpioneer/sapphire"); 
    devices.add("tmobile/kila/dream"); 
    devices.add("verizon/voles/sholes"); 
    devices.add("google_ion/google_ion/sapphire"); 
 
    return devices.contains(android.os.Build.BRAND + "/" + android.os.Build.PRODUCT + "/" 
            + android.os.Build.DEVICE); 
 
}

 

Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
if (hasImageCaptureBug()) { 
    i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File("/sdcard/tmp"))); 
} else { 
    i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 

startActivityForResult(i, mRequestCode); 

protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 
     switch (requestCode) { 
         case GlobalConstants.IMAGE_CAPTURE: 
                 Uri u; 
             if (hasImageCaptureBug()) { 
                 File fi = new File("/sdcard/tmp"); 
                 try { 
                     u = Uri.parse(android.provider.MediaStore.Images.Media.insertImage(getContentResolver(), fi.getAbsolutePath(), null, null)); 
                     if (!fi.delete()) { 
                         Log.i(t, "Failed to delete " + fi); 
                     } 
                 } catch (FileNotFoundException e) { 
                     e.printStackTrace(); 
                 } 
             } else { = intent.getData(); 
                } 
    } 

                        u

第三种方法虽然可以解决版本问题

对存在bug的版本 得到的大小也只有512宽 版本正常的 可以得到想要大小

还有一个缺点 可能版本的bug被修正 那样你的bug函数就需要修改

 

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3