2023年7月7日发(作者:)
安卓视频播放器
该项目是自己学习阶段研发的,如果有什么不足之处,希望还能共同探,按钮和背景图片,还需要自己找,下面上代码
欢迎动画,文件
package ;
import ty;
import ;
import ;
import ;
import Manager;
public class WelcomeActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
te(savedInstanceState);
te(savedInstanceState);
requestWindowFeature(E_NO_TITLE);
dow().setFlags(_FULLSCREEN,
}
_FULLSCREEN);
setContentView(e);
new MyWelcome().start();
}
class MyWelcome extends Thread{
@Override
public void run() {
try {
sleep(3000);
Intent intent=new Intent(,);
startActivity(intent);
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
}
tackTrace();
}
@Override
protected void onStop() {
finish();
();
} 欢迎动画配置文件
android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/welcome" android:orientation="vertical" >
三秒后进行跳转,进入界面,利用TabHost,VideoPlayerActivity代码如下
package ;
import iteSimpleCursorAdapter;
import iterSimAdapter;
import ivity;
import t;
import ;
import tFoundException;
import ;
import ;
import Manager;
import Adapter;
import CursorAdapter;
import t;
import hangeListener;
import c;
public class VideoPlayerActivity extends TabActivity {
/** Called when the activity is first created. */
static boolean flag;
@Override
public void onCreate(Bundle savedInstanceState) {
te(savedInstanceState);
requestWindowFeature(E_NO_TITLE);
dow().setFlags(_FULLSCREEN,
_FULLSCREEN);
setContentView();
try {
//获取ShareActivity上下文
t = createPackageContext("",
T_IGNORE_SECURITY);
= redPreferences("setupadapter",
_WORLD_READABLE);
= ();
} catch (NameNotFoundException e) { tackTrace();
}
if (ing("setupadapter", "off").equals("on")) {
flag = true;
}
if (ing("setupadapter", "off").equals("off")) {
flag = false;
}
=new Dbhelper(this, "/mnt/sdcard/", null, 1);
//设置为可读
// =dableDatabase();
TabHost tabHost = getTabHost();
//创建选项卡
TabSpec localVideo=Spec("localvideo");
TabSpec videoList=Spec("videoList");
//设置选项卡名称
icator("加载本地文件");
icator("播放列表");
abChangedListener(new OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
// TODO Auto-generated method stub
}
});
Intent intentLocal = new Intent(getApplicationContext(),);
Intent intentList = new Intent(getApplicationContext(),);
tent(intentLocal);
tent(intentList);
// 添加选项卡
(localVideo);
(videoList);
//设置监听
abChangedListener(new OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
// TODO Auto-generated method stub
boolean f = ("videoList");
boolean b = ("localvideo");
if (f) {
if (flag) { =dableDatabase();
String sql="select * from videoinfo";
=ry(sql, null);
r=new
OverwriteSimpleCursorAdapter(getApplicationContext(), , ,
new String[]{"path","videoname"},
new int[]{e,ame});
pter(r);
}if(!flag){
=dableDatabase();
String sql="select * from videoinfo";
=ry(sql, null);
SimpleCursorAdapter(getApplicationContext(), r=new
, ,
}
new String[]{"path","videoname"},
new int[]{e,ame});
pter(r);
}
if (b) {
if (flag) {
}
}
OverwriterSimAdapter adapter = new OverwriterSimAdapter(
getApplicationContext(), ems, st,
new String[] { "filename", "icon", "modify" }, new int[] {
_name, , _modify });
pter(adapter);
}if(!flag){
}
SimpleAdapter adapter = new SimpleAdapter(
getApplicationContext(), ems, st,
new String[] { "filename", "icon", "modify" }, new int[] {
_name, , _modify });
pter(adapter);
});
}
@Override
protected void onDestroy() {
// ();
// ();
roy();
} }
配置文件
android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"> android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dp"> android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#00000000" /> android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dp" />
遍历内存卡ShowList代码
package ;
import ;
import ist;
import p;
import ;
import ;
import iterSimAdapter;
import ty;
import t;
import tFoundException;
import ;
import ;
import rView; import ClickListener;
import ;
import Layout;
import ew;
import Adapter;
import ew;
import ;
public class ShowList extends Activity {
private TextView filepath;
static ListView filesList;
private Button backButton;
LinearLayout localBack;
// 记录当前的父文件夹
File floderParent;
int i ;
// 记录当前路径下的所有文件夹的文件数组
File[] dirFiles;
static List
public void onCreate(Bundle savedInstanceState) {
te(savedInstanceState);
setContentView(st);
localBack = (LinearLayout)findViewById(ack);
kgroundResource(3);
=new Dbhelper(this, "/mnt/sdcard/", null, 1);
//设置为可读
=dableDatabase();
filesList = (ListView) ewById(ist);
filepath = (TextView) ewById(th);
backButton = (Button) ewById(tton);
=new Dbhelper(this, "/mnt/sdcard/", null, 1);
=dableDatabase();
try {
//获取ShareActivity上下文
= createPackageContext("",
//
//
t
T_IGNORE_SECURITY);
= redPreferences("setupadapter",
_WORLD_READABLE);
= ();
} catch (NameNotFoundException e) {
tackTrace();
}
//对背景进行判断
if (ing("picture", "卡通").equals("卡通")) {
kgroundResource();
}
if (ing("picture", "卡通").equals("风景")) {
kgroundResource(d2);
}
if (ing("picture", "卡通").equals("明星")) {
kgroundResource();
}
// 获取系统的SDCard的目录
File root = new File("/mnt/sdcard/");
// 如果SD卡存在的话
if (()) {
floderParent = root;
}
temClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView> adapterView, View view,
int position, long id) {
// 如果用户单击了文件,直接返回,不做任何处理
if (dirFiles[position].isFile()) {
i = position;
if
dirFiles = les();
// 使用当前目录下的全部文件、文件夹来填充ListView
inflateListView(dirFiles);
(dirFiles[position].getPath().endsWith(".3gp")||dirFiles[position].getPath().endsWith(".mp4")
||dirFiles[position].getPath().endsWith(".mp3")||dirFiles[position].getPath().endsWith(".rmvb")) {
/* if
(currentFiles[position].getPath().equals(ing(1))) {
xt(getApplicationContext(), "你妹啊,路径名相同了", 1000).show();
}else{*/
=dableDatabase();
String sqlSelect = "select * from videoinfo where path=?";
new = ry(sqlSelect,
String[]{dirFiles[position].getPath()});
if(!Next()){ // 放入数据库
String sql="insert into videoinfo values(null,?,?)";
L(sql,new
String[]{dirFiles[position].getPath(),dirFiles[position].getName()});
xt(getApplicationContext(), "文件加载成功",
1000).show();
1000).show();
}
}
}else{
}
xt(getApplicationContext(), "路径名相同了",
// }
return;
// 也可自定义扩展打开这个文件等
}
// 获取用户点击的文件夹 下的所有文件
File[] tem = dirFiles[position].listFiles();
if (tem == null || == 0) {
xt(,
"空文件夹", _LONG).show();
} else {
// 获取用户单击的列表项对应的文件夹,设为当前的父文件夹
}
floderParent = dirFiles[position];
// 保存当前的父文件夹内的全部文件和文件夹
dirFiles = tem;
// 再次更新ListView
inflateListView(dirFiles);
});
// 获取上一级目录
lickListener(new kListener() {
@Override
public void onClick(View v) {
try {
if (!onicalPath().equals("/mnt/sdcard")) {
// 获取上一级目录
floderParent = entFile();
// 列出当前目录下的所有文件
dirFiles = les();
// 再次更新ListView
}
/**
inflateListView(dirFiles);
}
} catch (Exception e) {
// TODO: handle exception
}
}
});
* 根据文件夹填充ListView
*
* @param files
*/
private void inflateListView(File[] files) {
listItems = new ArrayList
for (int i = 0; i < ; i++) {
Map
if (files[i].isDirectory()) {
// 如果是文件夹就显示的图片为文件夹的图片
("icon", );
}
if(files[i].isFile()){
//判断是否是视频
if(files[i].getPath().endsWith(".3gp")||files[i].getPath().endsWith(".mp4")||files[i].getPath().endsWith(".mp3")){
if(files[i].getPath().endsWith(".3gp")||files[i].getPath().endsWith(".mp4")){
}
if () {
("icon", files[i].getAbsolutePath());
}
("modify"
,size(files[i].length())+"");
("icon", );
("modify"
,size(files[i].length())+"");
}if (!) {
}
}
}else if(files[i].getPath().endsWith(".mp3")){
("icon", 3);
}else{
("icon", );
}
}
// 添加一个文件名称
("filename", files[i].getName());
(listItem);
// 判断是否使用缩略图
if () {
OverwriterSimAdapter adapter = new OverwriterSimAdapter(
}
, listItems, st,
new String[] { "filename", "icon", "modify" }, new int[] {
_name, , _modify });
pter(adapter);
if(!){
SimpleAdapter adapter = new SimpleAdapter(
}
try {
t("当前路径为:" + onicalPath());
//t("文件如下:");
} catch (Exception e) {
tackTrace();
}
, listItems, st,
new String[] { "filename", "icon", "modify" }, new int[] {
_name, , _modify });
pter(adapter);
public String size(long size){
long mysize;
}
if(size<1024*1024){
mysize = size/1024;
return mysize+"Kb";
}else{
mysize = size/(1024*1024);
}
return mysize+"Mb";
@Override
protected void onRestart() {
if (ing("picture", "卡通").equals("卡通")) {
kgroundResource();
}
}
@Override
protected void onDestroy() {
();
();
roy();
if (ing("picture", "卡通").equals("风景")) {
kgroundResource(d2);
}
if (ing("picture", "卡通").equals("明星")) {
kgroundResource();
}
art();
//
//
}
}
@Override
protected void onStop() {
();
}
配置文件
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:id="@+id/localback" > android:id="@+id/filepath" android:layout_gravity="center_horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="20dip" /> android:layout_width="wrap_content" android:layout_height="wrap_content" >
核心内容,MediaPlayer和SurfaceView实现比方视频,PlayVideo代码
package ;
import ption;
import ;
import ty;
import t;
import tFoundException;
import anager;
import layer;
import eringUpdateListener;
import letionListener;
import ;
import r;
import ureListener;
import y;
import Event;
import eHolder;
import eView;
import ;
import ; import Manager;
import kListener;
import hListener;
import utton;
import Layout;
import Params;
import indow;
import r;
import BarChangeListener;
import ew;
import ;
public class PlayVideo extends Activity implements
OnGestureListener,
OnClickListener,// 监听
OnBufferingUpdateListener,// 当网络缓冲数据流变OnCompletionListener,// 当媒体资源在播放的时aredListener,
ck// 回调函数
化的时候唤起的播放事件
候到达终点时唤起的播放事件
{
// 视频高和宽
int videoWidth;
int videoHeight;
// 按钮
ImageButton play;
//定义快进按钮
ImageButton fastPlay;
//定义快退按钮
ImageButton fastBack;
// 控制栏
LinearLayout layout_control;
LinearLayout layout_prograss;
LinearLayout videoBack;
// 用来播放媒体
MediaPlayer
// 显示媒体
SurfaceView
mediaPlayer;
surView;
// 用来控制SurfaceView
SurfaceHolder surHolder;
// 路径
String
// 是否是播放状态
path;
boolean boTing = true;
//获取播放的位置
int num;
//点击屏幕次数
int count;
//第一次点击
int firClick;
//第二次点击
int secClick;
//通过flag判断是否全屏
boolean flag;
//播放进度条
SeekBar seekbar;
//显示时间组建
TextView showTime;
//播放文件的时间
int minute;
int second;
//进度条进度
int progress;
//线程控制
MyThread mt;
//声音控制
SeekBar sound;
//声音进度
int soundId;
//显示音量
TextView showSound;
//接取拖动进度条
int videoLength;
boolean f = true;
//播放尺寸
//按钮隐藏时间
int hint = 5000;
//用于接取点击ListView位置
int position;
//声称随机数
Random random;
//通过buttonFlag判断按钮背景
boolean buttonFlag = true;
//显示视频总时间
TextView allTime;
TextView distant;
PopupWindow popuWindow;
View view;
boolean popFlag ;
public void onCreate(Bundle savedInstanceState) {
te(savedInstanceState);
requestWindowFeature(E_NO_TITLE);
dow().setFlags(_FULLSCREEN,
_FULLSCREEN);
setContentView();
// 产生对象
//得到布局的ID
videoBack = (LinearLayout)ewById(ack);
// 产生对象
play = (ImageButton) ewById(_bu_bofang);
layout_control = (LinearLayout)findViewById(_control);
layout_prograss= (LinearLayout)findViewById(_prograss);
seekbar = (SeekBar)ewById(r);
showTime = (TextView)ewById(me);
fastPlay = (ImageButton)ewById(ay);
fastBack = (ImageButton)ewById(ck);
sound = (SeekBar)ewById();
showSound = (TextView)ewById(und);
surView = (SurfaceView) findViewById(eview_1);
allTime = (TextView)ewById(e);
distant = (TextView)findViewById(t);
ght(0);
surHolder = der();
PopupWindow(view,
view = outInflater().inflate(ndow, null);
popuWindow = new
_PARENT,_CONTENT);
// 设置回调函数
lback(this);
// 设置风格
e(E_TYPE_PUSH_BUFFERS);
//bu_ibility(BLE);
// 设置按键监听
lickListener(this);
//快进监听
lickListener(this);
//快退按钮监听
lickListener(this);
//new随机数对象
random = new Random();
//接取到播放列表中点击的位置
position = on;
try {
//获取ShareActivity上下文
= createPackageContext("", t
T_IGNORE_SECURITY);
= redPreferences("setupadapter",
_WORLD_READABLE);
= ();
} catch (NameNotFoundException e) {
tackTrace();
}
//对读取的信息进行判断
if (ing("hinttime", "5秒").equals("5秒")) {
hint = 5000;
}
if (ing("hinttime", "5秒").equals("10秒")) {
hint = 10000;
}
if (ing("hinttime", "5秒").equals("15秒")) {
hint = 15000;
}
//设置全屏播放
ouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
// ptyMessageAtTime(0x11, 3000);
if(_DOWN == ion()){
count++;
if(count == 1){
new countClear().start();
firClick = (int) tTimeMillis();
if (!popFlag) {
popuWindow = new PopupWindow(view,
// // //
_PARENT,_CONTENT);
Location(view, , 0, 0);
popFlag = true;
Messages(0x11);
ptyMessageDelayed(0x11, hint);
/*
//
}
//设置layout显示
if (!flag) {
layout_ibility(E);
layout_ibility(E);*/
//点击surfaceView延时3S发送信息
/* Messages(0x11);
ptyMessageDelayed(0x11, hint);*/
} //
} else if (count == 2){
secClick = (int) tTimeMillis();
if(secClick - firClick < 1000){
flag = !flag;
count = 0;
}
if(flag){
ght(0);
outParams(new
Params(_PARENT, _PARENT));
edSize(480, 760);
if (!popFlag) {
// popuWindow = new PopupWindow(view,
_PARENT,_CONTENT);
Location(view, , 0,
0);
popFlag = true;
Messages(0x11);
}
ptyMessageDelayed(0x11, hint);
// 开始播放
// ();
}else{
if (ing("size", "4:3").equals("4:3")) {
outParams(new
Params(_PARENT, 360));
edSize(480, 360);
ght(0);
if (!popFlag) {
// popuWindow = new PopupWindow(view,
_PARENT,_CONTENT);
Location(view, , 0, 0);
popFlag = true;
Messages(0x11);
ptyMessageDelayed(0x11, hint);
}
}
if (ing("size", "4:3").equals("16:9")) {
outParams(new
Params(_PARENT, 270));
edSize(480, 270);
ght(250);
if (!popFlag) {
new PopupWindow(view, // popuWindow =
_PARENT,_CONTENT);
Location(view,
, 0, 0);
popFlag = true;
Messages(0x11);
ptyMessageDelayed(0x11, hint);
}
}
}
count = 0;
firClick = 0;
secClick = 0;
}
}
return true;
}
});
//监听进度条进度
eekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
videoLength = gress();
// int q = rentPosition();
(videoLength);
//获取进度条当前的位置
int dest = gress();
//
//设置播放器当期的播放位置
// (num);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
//得到seekbar的进度
videoLength = gress();*/
/* gress(progress);
}
});
eekBarChangeListener(new OnSeekBarChangeListener() {
@Override
});
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
int i= gress();
}
ume(i/100f,i/100f);
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
}
boolean fromUser) {
// TODO Auto-generated method stub
int i= gress();
t("音量:"+i);
Messages(0x11);
ptyMessageDelayed(0x11, hint);
private void playVideo(){
// 构建MediaPlayer对象
mediaPlayer = new MediaPlayer();
try {
// 设置媒体文件路径
aSource();
// 设置通过SurfaceView来显示画面
play(surHolder);
// 准备
e();
ght(200);
// 设置事件监听
ufferingUpdateListener(this);
ompletionListener(this);
reparedListener(this);
ioStreamType(_MUSIC);
(ation());
//设置当前播放音量最大
soundId = gress();
ume(soundId, soundId);
t("音量:"+soundId);
mt = new MyThread();
();
ptyMessage(0x13);
int n = ation();//获得持续时间
(n);
n = n/1000;
int m = n/60;
int h = m/60;
int s = n%60;
m = m%60;
t(("影片长度:"+"%02d:%02d:%02d", h,m,s));
} catch (IllegalArgumentException e) {
tackTrace();
} catch (IllegalStateException e) {
tackTrace();
} catch (IOException e) {
}
tackTrace();
}
// aredListener
public void onCompletion(MediaPlayer mp) {
ptyMessage(0x14);
}
// aredListener
// 这时能确保player处于Prepared状态,触发start是最合适的
public void onPrepared(MediaPlayer mp) {
if (ing("size", "4:3").equals("4:3")) {
outParams(new
Params(_PARENT, 360));
// 设置播放视频的宽度和高度
}
if (ing("size", "4:3").equals("16:9")) {
// 设置播放视频的宽度和高度
outParams(new
edSize(480, 360);
// 开始播放
();
Params(_PARENT, 270));
edSize(480, 270);
}
}
// 开始播放
();
public void surfaceCreated(SurfaceHolder holder) {
playVideo();
}
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
}
protected void onDestroy()
{
roy();
if (mediaPlayer != null)
{
}
e();
mediaPlayer = null;
//关闭cursor
();
//关闭数据库
();
//改变线程循环条件
f = false;
Messages(0x11);
s();
//
//
}
public void onClick(View v) {
if(v==play){
//如果正在播放
}
}
if (v == fastPlay) {
int i = rentPosition()+5000;
(i);
gress(i);
Messages(0x11);
ptyMessageDelayed(0x11, hint);
if (buttonFlag) {
geResource(_1);
}
();
buttonFlag = false;
geResource(_1);
();
buttonFlag = true;
}else{
Messages(0x11);
ptyMessageDelayed(0x11, hint);
}
if (v == fastBack) {
}
int i = rentPosition()-5000;
(i);
gress(i);
Messages(0x11);
ptyMessageDelayed(0x11, hint);
Handler handler = new Handler(){
public void handleMessage(e msg) {
if ( == 0x11) {
if(ing()&&f){
s();
}
popFlag = false;
/*
}
////启动后设置layout隐藏
layout_ibility(BLE);
layout_ibility(BLE);*/
if ( == 0x12) {
if(mediaPlayer!=null){
}
num = rentPosition();
gress(num);
为时 分 秒赋值
num = num/1000;
int minute = num/60;
int hour = minute/60;
int second = num%60;
minute = minute%60;
//
/* if (mediaPlayer!=null) {
gress(rentPosition());
}*/
t(("播放进度:"+"%02d:%02d:%02d",
hour,minute,second));
// ptyMessage(0x12);
}
if ( == 0x14) {
if (ing("playstyle","顺序播放").equals("单曲循环")) {
//释放播放的视频
e();
//游标移动到点击ListView位置
Position(on);
//在数据库中取出ListView点击的路径
= ing(1);
//播放视频
playVideo();
//
}
if (ing("playstyle", "顺序播放").equals("顺序播放")) {
//释放当前的MediaPlayer
e();
//自加
position ++;
if (position==nt()) {
position = 0;
}
//游标向下移动
};
}
Position(position);
//取出移动后的视频路径
= ing(1);
//播放视频
playVideo();
}
if (ing("playstyle", "顺序播放").equals("随机播放")) {
}
//释放播放的视频
e();
int r = t(nt()-1);
Position(r);
//在数据库中取出ListView点击的路径
= ing(1);
//播放视频
playVideo();
};
class MyThread extends Thread{
}
@Override
public void run() {
ptyMessageDelayed(0x11, hint);
}
// if (ation()+"".equals("0") ) {
while (f) {
try {
sleep(1000);
ptyMessage(0x12);
}catch (InterruptedException e) {
// TODO Auto-generated catch block
tackTrace();
}
}
// }
class countClear extends Thread{
@Override
public void run() {
try {
sleep(1000);
}
//睡一秒后count清0
count = 0;
} catch (InterruptedException e) {
// TODO Auto-generated catch block
}
tackTrace();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
}
@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
// TODO Auto-generated method stub
}
@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
}
float velocityY) {
// TODO Auto-generated method stub
return false;
@Override
public void onLongPress(MotionEvent e) {
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// TODO Auto-generated method stub
return false;
// TODO Auto-generated method stub
}
}
@Override
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub
}
return false;
配置文件
android:id="@+id/videoback" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > android:layout_width="match_parent" android:layout_height="0px" android:background="#00000000" android:id="@+id/distant"/> android:id="@+id/surfaceview_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="300px" android:layout_gravity="center_horizontal" />
SQLiteOpenHelper数据库文件Dbhelper,代码如下
package ;
import t;
import Database;
import Factory;
import OpenHelper;
public class Dbhelper extends SQLiteOpenHelper{
//创建数据库
private static final String CREATETABLE = "create table videoinfo"
+"(_id integer primary key autoincrement,path,videoname)";
}
/**
*
* @param context:上下文
* @param name :数据库名称
* @param factory :Cursor
* @param version :数据库版本号,只能增长
*/
public Dbhelper(Context context, String name, CursorFactory factory,
}
/**
* 表的创建
*/
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
L(CREATETABLE);
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
/**
* 更改表结构或增删表
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
// TODO Auto-generated method stub
if (newVersion>oldVersion) {
//删除已存在的表
}
String sql = "drop table if exsits videoinfo";
L("sql");
L(CREATETABLE);
用户设置界面,Choose代码如下
package ;
import ist;
import p; import ;
import ;
import ty;
import ialog;
import ;
import t;
import Interface;
import tFoundException;
import ;
import Inflater;
import ;
import rView;
import ClickListener;
import ew;
import utton;
import roup;
import Adapter;
import ;
public class Choose extends Activity {
//将定义的选项显示到ListView上
ListView choose;
String[] menu = {
"播放比例","播放模式","按钮隐藏","更换背景图片"
};
//定义容器
List
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
te(savedInstanceState);
setContentView();
//得到listview
choose=(ListView)findViewById();
try {
//获取ShareActivity上下文
= createPackageContext("", t
T_IGNORE_SECURITY);
= redPreferences("setupadapter",
_WORLD_READABLE);
= ();
} catch (NameNotFoundException e) {
tackTrace();
}
for(int i=0;i<;i++){
//将数组信息添加到map
Map
}
("text", menu[i]);
(map);
//适配器
SimpleAdapter adapter=new SimpleAdapter(this,list,,new
pter(new
String[]{"text"},new int[]{});
//
ArrayAdapter
pter(adapter);
//为ListView设置监听
}
temClickListener(new OnItemClickListener() {
});
@Override
public void onItemClick(AdapterView> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
}
//对用户点击的位置进行判断,并弹出对话框
if (arg2 == 0) {
showDialog(1);
}
if (arg2 == 1) {
}
showDialog(2);
if (arg2 == 2) {
showDialog(3);
}
if (arg2 == 3) {
}
showDialog(4);
@Override
public Dialog onCreateDialog(int id) {
//创建产生对话框的Builder的对象
r builder=new r(this);
LayoutInflater flater;
//播放比例
if(id==1){
flater = getLayoutInflater();
final View view = e(ze, null);
final RadioGroup biLi = (RadioGroup)ewById(ze);
le("请选择播放比例").setView(view)
.setPositiveButton("确定",new kListener() {
public void onClick(DialogInterface dialog, int which) {
//得到用户选择的内容
String
size=((RadioButton)ewById(ckedRadioButtonId())).getText().toString();
//给定键值
}
ing("size", size);
//提交
();
xt(getApplicationContext(), "设置成功", 1000).show();
}).setNeutralButton("取消", new kListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
}
//播放模式选择
if(id==2){
flater = getLayoutInflater();
final View view = e(yle, null);
final RadioGroup biLi = (RadioGroup)ewById(yle);
le("请选择视频播放模式").setView(view)
.setPositiveButton("确定",new kListener() {
public void onClick(DialogInterface dialog, int which) {
//得到用户选择的内容
String
playstyle=((RadioButton)ewById(ckedRadioButtonId())).getText().toString();
ing("playstyle", playstyle);
//提交
();
xt(getApplicationContext(), "设置成功", 1000).show();
}
}).setNeutralButton("取消", new kListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
}
//按钮隐藏时间设定
if(id==3){
flater = getLayoutInflater();
final View view = e(me, null);
final RadioGroup biLi = (RadioGroup)ewById(me);
le("请选择按钮隐藏时间").setView(view)
.setPositiveButton("确定",new kListener() {
public void onClick(DialogInterface dialog, int which) {
//得到选择的隐藏时间
String
hinttime=((RadioButton)ewById(ckedRadioButtonId())).getText().toString();
//存入文件
ing("hinttime", hinttime);
// 提交
();
xt(getApplicationContext(), "设置成功", 1000).show();
}
}).setNeutralButton("取消", new kListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
}
//更换背景
if(id==4){
flater = getLayoutInflater();
final View view = e(picture, null);
final RadioGroup biLi = (RadioGroup)ewById(picture);
le("请选择背景图片").setView(view)
.setPositiveButton("确定",new kListener() {
public void onClick(DialogInterface dialog, int which) {
//得到用户选择图片的模式
String
picture=((RadioButton)ewById(ckedRadioButtonId())).getText().toString();
//写入文件
ing("picture", picture);
//提交
();
xt(getApplicationContext(), "设置成功", 1000).show();
}
}).setNeutralButton("取消", new kListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
}
}
}
//通过create方法产生对话框
return ();
配置文件:
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > android:layout_height="wrap_content" android:id="@+id/choose" > android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:layout_marginLeft="30dp" android:layout_marginTop="10dp" android:textStyle="bold" />
设置界面的配置文件,更改背景图片
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > android:id="@+id/changepicture" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="卡通" android:checked="true" /> android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="风景"/> android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="明星"/>
发布者:admin,转转请注明出处:http://www.yc00.com/news/1688673932a161543.html
评论列表(0条)