package com.ntp.ui.me; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; import com.ntp.ui.MainActivity; import com.ntp.ui.R; import com.ntp.dao.CourseDao; import com.ntp.dao.CourseTypeDao; import com.ntp.util.AppConfig; import com.ntp.dao.SearchHistoryDao; import com.ntp.view.MyConfirmDialog; import com.ntp.view.MyExitDialog; import java.io.File; /** * 软件设置 */ public class SettingActivity extends Activity implements View.OnClickListener { /** * 清除缓存对话框请求码 */ private final static int REQUEST = 1; /** * 退出请求码 */ public static final int REQUEST_EXIT = 2; private ImageView back;//退出 private ImageView switchImg;//用2G3G4G网络播放视频和下载课件开关图片 private TextView about, exit;//关于、退出 private RelativeLayout cache; private TextView cacheText; private CourseTypeDao courseTypeDao; private CourseDao courseDao; private SearchHistoryDao searchHistoryDao; private final static String TIP="将删除所有缓存的课程信息"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_setting); back = (ImageView) findViewById(R.id.back); switchImg = (ImageView) findViewById(R.id.switchImg); about = (TextView) findViewById(R.id.about); exit = (TextView) findViewById(R.id.exit); cache= (RelativeLayout) findViewById(R.id.cache); cacheText= (TextView) findViewById(R.id.cache_text); back.setOnClickListener(this); switchImg.setOnClickListener(this); about.setOnClickListener(this); exit.setOnClickListener(this); cache.setOnClickListener(this); courseTypeDao=new CourseTypeDao(getApplicationContext()); courseDao=new CourseDao(getApplicationContext()); searchHistoryDao = new SearchHistoryDao(getApplicationContext()); if (AppConfig.getConfig(getApplicationContext())) {//可以使用移动网络播放视频、下载课件 switchImg.setImageDrawable(getResources().getDrawable(R.drawable.switch_on)); } else { switchImg.setImageDrawable(getResources().getDrawable(R.drawable.switch_off)); } cacheText.setText(getCache()+"KB"); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.back://退出 finish(); break; case R.id.switchImg://设置用2G3G4G网络播放视频和下载课件开关 if (AppConfig.getConfig(getApplicationContext())) { switchImg.setImageDrawable(getResources().getDrawable(R.drawable.switch_off)); AppConfig.saveConfig(getApplicationContext(), false); } else { switchImg.setImageDrawable(getResources().getDrawable(R.drawable.switch_on)); AppConfig.saveConfig(getApplicationContext(), true); } break; case R.id.cache://清除缓存 Intent intent=new Intent(getApplicationContext(), MyConfirmDialog.class); Bundle bundle=new Bundle(); bundle.putString("tip",TIP); intent.putExtras(bundle); startActivityForResult(intent,REQUEST); break; case R.id.about://关于 Intent intent1 = new Intent(this, AboutActivity.class); startActivity(intent1); break; case R.id.exit://退出 startActivityForResult(new Intent(getApplicationContext(), MyExitDialog.class), REQUEST_EXIT); break; } } /** * 获取应用本地缓存大小 */ public String getCache(){ String path="/data/data/"+getApplicationContext().getPackageName()+"/databases"; String st="0"; //如果数据库有数据 if(courseDao.getAllCourse().size()>0){ File file=new File(path); File[] files=file.listFiles(); double sizeInit=0; for (int i=0;i<files.length;i++){ sizeInit+=files[i].length(); } double size=sizeInit/1024;//以kb为单位 st=String.valueOf(size).substring(0,String.valueOf(size).indexOf(".")); } return st; } @Override protected void onDestroy() { courseDao.close(); courseTypeDao.close(); searchHistoryDao.close(); super.onDestroy(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode==REQUEST&&resultCode==RESULT_OK){//用户选择确定时 courseDao.delete(); courseTypeDao.delete(); searchHistoryDao.delete(); cacheText.setText("0KB"); Toast.makeText(getApplicationContext(),"清除成功",Toast.LENGTH_LONG).show(); } else if (requestCode == REQUEST_EXIT) { if (resultCode == MyExitDialog.RESULT_EXIT_LOGIN) {//退出登录 AppConfig.saveLoadName(getApplicationContext(), "");//清除登录信息 finish(); } else if (resultCode == MyExitDialog.RESULT_EXIT_APP) {//退出应用 sendBroadcast(new Intent(MainActivity.EXIT_ACTION)); finish(); } } } }