根据Google I/O 2010大会发布的数据,Android从08年8月面世到现在18个月里取得的飞速发展,Android目前有超过5万个可用程序,超过18万的程序开发者。本文从两方面阐述我对Android应用程序设计的理解。


       一、Android程序设计架构


 

            任何一个完整的Android程序设计实例都至少要包含AndroidManifest.xml文件,它放在程序实例的根目录、src源代码目录与res资源文件目录中。AndroidManifest.xml文件定义应用程序的功能导向,src目录下则放置所设计的java源代码,而在res资源文件目录下,有各式各样的资源文件可供应用程序使用,最常见的是res\drawable(用来放置应用程序的图像)、res\layout(用来放置设计应用程序使用者界面的布局文件)以及文字资源文件(用来显示应用程序菜单、消息等文字字符串)。而除了文字字符串资源外,在res\values目录下,还可以使用arrays.xml定义数组信息、colors.xml定义绘图或文字字符串颜色、dimens.xml定义显示字符串或图像尺寸的大小、styles.xml定义画面显示风格等高级资源文件。另外资源文件目录还有res\anim、res\xml与res\raw,它们并不是Android程序设计实例默认生成目录,但这三个资源目录在放置应用程序运行所需要读取的动画设置文件anim.xml、其他用途的xm文件或者程序运行时,将读取到手机装置的raw文件,常见的raw原始文件有音效文件或动画文件等。Android程序设计实例的文件结构都类似下表的目录结构


Android media3的播放器忽略SSL验证_layout



 

       二、影音播放程序部分解析


 

       说明:此程序设计编译运行在Ubuntun10.04下 此处省去Android开发环境搭建过程


 

       1、首先利用Eclipse创建一个新的开发程 序实例,取名为Videoplayer,组件名为    


 

                 com.example.android.Videoplayer,而Activity活动名称设置为Videoplayer,


 

                   应用程序名为Videoplayer。



 

       2、放置影片到SD存储卡中


 

$./emulator -avd AVD -sdcard sdcard,img -skin HVGA 

  
  
  
  
 $.adb push video.mp4 /sdcard




 

       3、设计影片播放界面布局文件


 

<?xml version="1.0" encoding="utf-8"?> 

  
  
  
  
  
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

  
   
   
   
   
  
 android:orientation="vertical" 

  
  
   
   
   
   
 android:layout_width="fill_parent" 

  
  
  
  
  
  
  
  
  
 android:layout_height="fill_parent" 

  
  
   
  
 > 

  
  
  
  
 <VideoView  

  
  
  
  
  
  
  
  
  
 android:id="@+id/movieview" 

  
  
  
  
  
  
  
  
  
 android:layout_width="480px" 

  
  
  
  
  
  
  
  
  
 android:layout_height="320px" 

  
  
   
 /> 

  
  
  
  
 </LinearLayout>




 

      4、设计影片播放程序的Java源代码


 

   

package com.example.android.Videoplayer; 


  
  
  
  
  
 import android.app.Activity; 

  
  
  
  
  
 import android.os.Bundle; 

  
  
  
  
  
 import android.widget.VideoView; 

  
  
  
  
  
 import android.widget.MediaController; 

  
  
  
 public class Videoplayer extends Activity { 

  
  
  

  
  
  
 private String videopath ="/sdcard/video.mp4"; 

  
  
  
 private VideoView mVideoPlay; 

  
  
  

  
  
  
 @Override 

  
  
  
 public void onCreate(Bundle icicle) { 

  
  
  
  
  
  
  
 super.onCreate(icicle); 

  
  
  
  
  
  
  
 setContentView(R.layout.main); 

  
  
  
  
  
  
  
 mVideoPlay =(VideoView)findViewById(R.id.movieview); 

  
  
  
  
  
  
  
 mVideoPlay.setVideoPath(videopath); 

  
  
  
  
  
  
  
 mVideoPlay.setMediaController(new MediaController(this)); 

  
  
  
  
  
  
  
 mVideoPlay.requestFocus(); 

  
  
  
 } 

}



此时集成开发环境Eclipse 如下图所示


Android media3的播放器忽略SSL验证_layout_02

 



 



 

           5、编译运行影片播放程序



Android media3的播放器忽略SSL验证_eclipse_03