package com.pixtas.yogapowervinyasa.activity;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.pixtas.framework.YogaAppContext;
import com.pixtas.helpers.DialogHelper;
import com.pixtas.helpers.FileDownHelper;
import com.pixtas.helpers.HardwareHelper;
import com.pixtas.models.DatabaseAdapter;
import com.pixtas.models.option.DataBaseOption;
import com.pixtas.models.rest.RestAPI;
import com.pixtas.models.struts.FlashUrl;
import com.pixtas.yogapowervinyasa.Config;
import com.pixtas.yogapowervinyasa.R;
import com.pixtas.yogapowervinyasa.YogaApp;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnDismissListener;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.AdapterView.OnItemSelectedListener;
public class Home extends Activity implements OnClickListener,OnItemSelectedListener,OnTouchListener{
private static final String TAG = "Home";
private ProgressDialog pd = null;
private TextView playTitle;
private ProgressBar playPB;
private ImageView pre,pause,next,yogaImg;
private MediaPlayer mp;
private Spinner chapters;
private String saveDir;
private String saveAudioTo;
private String[] saveImgTos = null;
private int chapter = 1;
private boolean isPlaying = false;
/*-------------弹出窗口控件-------------*/
//下载窗口
private Dialog dlg;
private TextView cancel;
private ProgressBar installPB;
//设置窗口
private RadioButton englishRadio,sanskritRadio,spanishRadio;
private Button sureBtn,cancelBtn;
private RadioGroup languageRadioGroup;
private int arg = 0;
/*------------------------------------------*/
/*访问远程音频文件的大小*/
private int audioSize = 0;//flash音频大小
private int allImageSize = 0;//flash所有照片大小
private int flashSize = 0;//flash大小(audioSize + allImamgeSize)
private int audioTime = 0;//audio时间
private boolean switchChapter = true;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
YogaAppContext.initApp((YogaApp)getApplication());
DataBaseOption.databaseAdapter = new DatabaseAdapter(YogaAppContext.getApp());
if(HardwareHelper.connectedNetwork(YogaAppContext.getApp())){
if(!RestAPI.checkApkUpgrade()){
Builder builder = DialogHelper.showAlertBuilder(Home.this, R.string.main_need_update, R.string.warning);
builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String url = "market://details?id=com.pixtas.yogatestaudio";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
finish();
}
});
builder.setNegativeButton("no", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
initCreate();
}
});
builder.show();
}else{
this.initCreate();
}
}else{
this.initCreate();
}
}
/*创建视图之前的准备工作*/
private void initCreate(){
if(!DataBaseOption.isInstall()){
if(this.checkNet()){
this.progressDlg(1);//没下载完
}
}else{
if(HardwareHelper.connectedNetwork(YogaAppContext.getApp())){
if(RestAPI.checkNewVersion()){
Builder builder = DialogHelper.showAlertBuilder(Home.this,R.string.update_msg,R.string.warning);
builder.setCancelable(true);
builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
progressDlg(2);//检测到有更改再下载
}
});
builder.setNegativeButton("no", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
initFlashMsg();
}
});
builder.show();
}else{
this.initFlashMsg();
}
}else{
this.initFlashMsg();
}
}
this.initComponents();
}
/*加载老版本的东西*/
private void initFlashMsg(){
this.progressDlg(0);
}
/*加载flash信息*/
private void loadFlashMsg(){
RestAPI.initFlashUrl();
audioSize = Config.audioSize;
allImageSize = Config.allImageSize;
flashSize = audioSize + allImageSize;
}
/*删除照片*/
private void delPhotos(){
for(int i = 1;i <= FlashUrl.chaptersNum;i ++){
String path = FileDownHelper.getSaveImgName(YogaAppContext.getApp(),Integer.toString(i));
File f = new File(path);
if(f.exists()){
f.delete();
}
}
}
/*创建加载窗口*/
private void progressDlg(final int type){
pd = new ProgressDialog(this);
pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pd.setMessage("Loading...");
pd.setCancelable(false);
pd.show();
new Thread(){
public void run(){
if(type == 0){
RestAPI.initFlash();
}else if(type == 2){//检查更新
DataBaseOption.updateInstallVersion(1, Config.newVersion);
DataBaseOption.updateInstallData(1, 0);
delPhotos();
loadFlashMsg();
}else if(type == 3){//重新下载
DataBaseOption.updateInstallData(1, 0);
File audioFile = new File(saveAudioTo);
if(audioFile.exists()){
audioFile.delete();
}
delPhotos();
loadFlashMsg();
}else{
loadFlashMsg();
}
pd.dismiss();
}
}.start();
pd.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
// TODO Auto-generated method stub
if(type == 3){
playPB.setProgress(0);
pause.setImageResource(R.drawable.play);
}
initTitleSpinner();
initInstallAudioDlg(type);
}
});
}
private void initTitleSpinner(){
List<String> data = new ArrayList<String>();
switch (arg) {
case 0:
for(int i = 0 ;i < FlashUrl.photoEnglishTitles.length;i ++){
data.add(Integer.toString(i + 1) + ". " + FlashUrl.photoEnglishTitles[i]);
}
break;
case 1:
for(int i = 0 ;i < FlashUrl.photoSanskritTitles.length;i ++){
data.add(Integer.toString(i + 1) + ". " + FlashUrl.photoSanskritTitles[i]);
}
break;
case 2:
for(int i = 0 ;i < FlashUrl.photoSpanishTitles.length;i ++){
data.add(Integer.toString(i + 1) + ". " + FlashUrl.photoSpanishTitles[i]);
}
break;
default:
break;
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(Home.this,android.R.layout.simple_spinner_item,data);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
chapters.setAdapter(adapter);
}
private boolean checkNet(){
if(!HardwareHelper.connectedNetwork(YogaAppContext.getApp())){
Builder builder = DialogHelper.showAlertBuilder(Home.this,R.string.no_wifi,R.string.warning);
builder.setNeutralButton(R.string.close,
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Android 动画顺序播放源码.zip项目安卓应用源码下载Android 动画顺序播放源码.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
资源推荐
资源详情
资源评论
收起资源包目录
Android 动画顺序播放源码.zip项目安卓应用源码下载 (178个子文件)
resources.ap_ 113KB
YogaPowerVinyasa.apk 136KB
Home.class 21KB
RestAPI.class 7KB
DatabaseAdapter.class 5KB
FileDownHelper.class 5KB
DataBaseOption.class 3KB
HardwareHelper.class 2KB
Home$2.class 2KB
DialogHelper.class 2KB
Home$12.class 2KB
Home$1.class 2KB
Home$8.class 2KB
DatabaseAdapter$DatabaseHelper.class 1KB
Home$9.class 1KB
Home$4.class 1KB
Home$18.class 1KB
Config.class 1KB
R$string.class 1KB
RemoteFile.class 1KB
R$drawable.class 1KB
R$id.class 994B
Home$6.class 956B
Home$11.class 932B
Home$16.class 932B
Home$5.class 928B
Home$13.class 922B
Home$10.class 911B
Home$7.class 905B
Home$14.class 877B
Home$19.class 877B
Home$17.class 873B
Home$3.class 858B
FlashUrl.class 826B
R.class 708B
Home$15.class 696B
YogaAppContext.class 602B
NoWifi.class 535B
R$layout.class 525B
R$color.class 509B
R$array.class 422B
R$attr.class 367B
YogaApp.class 309B
.classpath 280B
Thumbs.db 33KB
classes.dex 42KB
entries 3KB
entries 825B
entries 822B
entries 795B
entries 527B
entries 522B
entries 520B
entries 494B
entries 401B
entries 370B
entries 365B
entries 365B
entries 363B
entries 357B
entries 275B
entries 266B
entries 206B
entries 199B
entries 199B
entries 192B
Home.java 21KB
RestAPI.java 7KB
DatabaseAdapter.java 5KB
FileDownHelper.java 5KB
R.java 4KB
DataBaseOption.java 3KB
HardwareHelper.java 1KB
DialogHelper.java 1KB
Config.java 835B
RemoteFile.java 708B
FlashUrl.java 501B
NoWifi.java 322B
YogaAppContext.java 276B
YogaApp.java 125B
1-1209141H9210-L.png 95KB
default_sunset.png 65KB
next.png 5KB
back.png 5KB
no_wifi.png 5KB
next_down.png 5KB
back_down.png 5KB
icon.png 4KB
icon.png 4KB
icon.png 4KB
ic_menu_refresh.png 4KB
ic_menu_about.png 3KB
play.png 3KB
pause.png 2KB
ic_menu_settings.png 2KB
play_down.png 2KB
pause_down.png 2KB
ic_menu_play_clip.png 1KB
ause_down.png 1KB
leftarrow.png 1KB
共 178 条
- 1
- 2
资源评论
yxkfw
- 粉丝: 76
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功