編輯:Android開發實例
簡介
用來播放視頻文件。該VideoView類可以加載各種來源的圖像(如資源或內容提供商),需要計算它從視頻測量,以便它可以在任何布局管理器使用,並提供諸如縮放和著色的各種顯示選項。在其他的平台上面可能VideoPlayer開發是一個比較有挑戰性的工作,但是在Android上面VideoPlayer的開發,基本上可以做到傻瓜式啦。本文簡單對VideoPlayer的開發進行簡單的介紹。
實例
1.布局文件
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content">
- <VideoView android:id="@+id/videoview"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_centerInParent="true"
- />
- </LinearLayout>
2.Java代碼
- package com.wjq;
- import android.app.Activity;
- import android.content.pm.ActivityInfo;
- import android.media.MediaPlayer;
- import android.net.Uri;
- import android.os.Bundle;
- import android.os.Environment;
- import android.util.Log;
- import android.widget.MediaController;
- import android.widget.VideoView;
- public class VideoViewDemo extends Activity implements MediaPlayer.OnErrorListener,MediaPlayer.OnCompletionListener{
- public static final String TAG = "VideoPlayer";
- private VideoView mVideoView;
- private Uri mUri;
- private int mPositionWhenPaused = -1;
- private MediaController mMediaController;
- /* (non-Javadoc)
- * @see android.app.Activity#onCreate(android.os.Bundle)
- */
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.videoview);
- this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
- mVideoView = (VideoView)findViewById(R.id.videoview);
- //文件路徑
- mUri = Uri.parse(Environment.getExternalStorageDirectory() + "/ziranyouli.3gp");
- //Create media controller
- mMediaController = new MediaController(this);
- //設置MediaController
- mVideoView.setMediaController(mMediaController);
- }
- //監聽MediaPlayer上報的錯誤信息
- @Override
- public boolean onError(MediaPlayer mp, int what, int extra) {
- // TODO Auto-generated method stub
- return false;
- }
- //Video播完的時候得到通知
- @Override
- public void onCompletion(MediaPlayer mp) {
- this.finish();
- }
- //開始
- public void onStart() {
- // Play Video
- mVideoView.setVideoURI(mUri);
- mVideoView.start();
- super.onStart();
- }
- //暫停
- public void onPause() {
- // Stop video when the activity is pause.
- mPositionWhenPaused = mVideoView.getCurrentPosition();
- mVideoView.stopPlayback();
- Log.d(TAG, "OnStop: mPositionWhenPaused = " + mPositionWhenPaused);
- Log.d(TAG, "OnStop: getDuration = " + mVideoView.getDuration());
- super.onPause();
- }
- public void onResume() {
- // Resume video player
- if(mPositionWhenPaused >= 0) {
- mVideoView.seekTo(mPositionWhenPaused);
- mPositionWhenPaused = -1;
- }
- super.onResume();
- }
- }
現在android的每一個項目都會需要設置為全屏,現在介紹兩種設置為全屏的方式。 一、在配置文件中設置android:theme=”@android:style/
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
SQLite是Android平台軟件開發中會經常用到的數據庫產品,作為一款輕型數據庫,SQLite的設計目標就是是嵌入式的,而且目前已經在很多嵌入式產品中使用了它
自定義dialog肯定是用的很多了但是感覺每次做都是很亂 單純完成任務而已,現在封裝了一下 以後用到直接copy 先上圖: 主activity 代碼如下: pac