Android Open Source - JiangHomeStyle_Android_Phone Splash Activity






From Project

Back to project page JiangHomeStyle_Android_Phone.

License

The source code is released under:

Apache License

If you think the Android project JiangHomeStyle_Android_Phone listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.cidesign.jianghomestylephone;
//from ww w  .j a  va 2s. c o  m
import java.io.File;
import java.io.IOException;
import java.util.List;

import com.androidquery.AQuery;
import com.cidesign.jianghomestylephone.db.DatabaseHelper;
import com.cidesign.jianghomestylephone.entity.ArticleEntity;
import com.cidesign.jianghomestylephone.entity.FileListEntity;
import com.cidesign.jianghomestylephone.tools.FileOperationTools;
import com.cidesign.jianghomestylephone.tools.MD5Tools;
import com.cidesign.jianghomestylephone.tools.StorageUtils;
import com.cidesign.jianghomestylephone.tools.XmlParseTools;
import com.cidesign.jianghomestylephone.version.VersionUpdate;
import com.j256.ormlite.dao.RuntimeExceptionDao;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.widget.Toast;

public class SplashActivity extends Activity
{
  private static final String TAG = SplashActivity.class.getSimpleName();

  private SharedPreferences settings = null;
  private SharedPreferences downTimeSettings = null;

  private DatabaseHelper dbHelper;
  private RuntimeExceptionDao<FileListEntity, Integer> fileListDao = null;
  private RuntimeExceptionDao<ArticleEntity, Integer> articleDao = null;
  private AQuery aq;

  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.splash);
    settings = getSharedPreferences("INIT_PARAMS", Context.MODE_PRIVATE);
    downTimeSettings = getSharedPreferences("LAST_UPDATE_TIME", Context.MODE_PRIVATE);
    dbHelper = new DatabaseHelper(this);
    fileListDao = dbHelper.getFileListDataDao();
    articleDao = dbHelper.getArticleListDataDao();
    aq = new AQuery(this);
  }

  @Override
  public void onStart()
  {
    super.onStart();

    int initData = settings.getInt("initData", 0);
    if (initData == 0) // ??????
    {
      if (StorageUtils.isSDCardPresent())
      {
        try
        {
          StorageUtils.mkdir();

          new InitDataTask().execute();
        }
        catch (IOException e)
        {
          e.printStackTrace();
        }
      }
      else
      {
        Toast.makeText(this, "?????SD????????????SD???????????", Toast.LENGTH_LONG).show();
      }
    }
    else if (initData == 1) // ????????
    {
      VersionUpdate vUpdate = new VersionUpdate(this.getApplicationContext(), SplashActivity.this, aq);
      vUpdate.getServerVerCode();
    }
  }

  class InitDataTask extends AsyncTask<Void, Void, String>
  {
    List<FileListEntity> listFile = null;
    RuntimeExceptionDao<FileListEntity, Integer> dao = null;

    @Override
    protected void onPreExecute()
    {
      // ???????????
      super.onPreExecute();
    }

    @Override
    protected String doInBackground(Void... arg0)
    {
      String time = "0";
      FileOperationTools.copyAssets(getApplicationContext());
      // ?????????SD????????????list.xml

      try
      {
        listFile = XmlParseTools.parseFileInputStreamList(getAssets().open("filelist.xml"));

        for (FileListEntity flEntity : listFile)
        {
          fileListDao.create(flEntity);
          File target = new File(StorageUtils.FILE_TEMP_ROOT + flEntity.getServerID() + ".zip");
          if (flEntity.getMd5().equals(MD5Tools.getFileMD5String(target)))
          {
            // ???????????????????
            File file = new File(StorageUtils.FILE_ROOT + flEntity.getServerID());
            if (file.isDirectory())
            {
              StorageUtils.delete(file);
            }

            // ?????????????
            FileOperationTools.unZip(StorageUtils.FILE_TEMP_ROOT + flEntity.getServerID() + ".zip",
                StorageUtils.FILE_ROOT);

            // ?????????????
            flEntity.setDownloadFlag(1);
            fileListDao.update(flEntity);

            ArticleEntity articleEntity = XmlParseTools.readDocXML(StorageUtils.FILE_ROOT + "/"
                + flEntity.getServerID() + "/doc.xml");
            articleEntity.setServerID(flEntity.getServerID());
            articleEntity.setPost_date(flEntity.getTimestamp());
            if (articleEntity != null)
            {
              articleDao.createOrUpdate(articleEntity);
            }

            time = flEntity.getTimestamp();

            StorageUtils.delete(target);
          }
        }
      }
      catch (IOException e)
      {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
      // ????????????????????
      return time;
    }

    @Override
    protected void onPostExecute(String result)
    {
      Log.d("", "????????....");
      super.onPostExecute(result);
      settings.edit().putInt("initData", 1).commit();
      downTimeSettings.edit().putString("lastUpdateTime", result).commit();

      startActivity(new Intent(SplashActivity.this, MainActivity.class));
      finish();
    }
  }
}




Java Source Code List

com.cidesign.jianghomestylephone.DetailActivity.java
com.cidesign.jianghomestylephone.JiangActivity.java
com.cidesign.jianghomestylephone.MainActivity.java
com.cidesign.jianghomestylephone.SplashActivity.java
com.cidesign.jianghomestylephone.adapter.CommunityViewpagerAdapter.java
com.cidesign.jianghomestylephone.adapter.HumanityViewpagerAdapter.java
com.cidesign.jianghomestylephone.adapter.LandscapeViewpagerAdapter.java
com.cidesign.jianghomestylephone.adapter.LayoutCaculateAdapter.java
com.cidesign.jianghomestylephone.adapter.StoryViewpagerAdapter.java
com.cidesign.jianghomestylephone.async.AsyncDownTask.java
com.cidesign.jianghomestylephone.async.AsyncInitCommunityData.java
com.cidesign.jianghomestylephone.async.AsyncInitData.java
com.cidesign.jianghomestylephone.async.AsyncInitHomeData.java
com.cidesign.jianghomestylephone.async.AsyncInitHumanityData.java
com.cidesign.jianghomestylephone.async.AsyncInitLandscapeData.java
com.cidesign.jianghomestylephone.async.AsyncInitStoryData.java
com.cidesign.jianghomestylephone.db.DatabaseConfigUtil.java
com.cidesign.jianghomestylephone.db.DatabaseHelper.java
com.cidesign.jianghomestylephone.entity.ArticleEntity.java
com.cidesign.jianghomestylephone.entity.FileListEntity.java
com.cidesign.jianghomestylephone.entity.LayoutEntity.java
com.cidesign.jianghomestylephone.entity.RelativeLayoutRulesEntity.java
com.cidesign.jianghomestylephone.http.ArticalOperation.java
com.cidesign.jianghomestylephone.http.DownLoadThread.java
com.cidesign.jianghomestylephone.service.DownloadService.java
com.cidesign.jianghomestylephone.tools.CategoryDataLoadingLogic.java
com.cidesign.jianghomestylephone.tools.FileOperationTools.java
com.cidesign.jianghomestylephone.tools.JiangCategory.java
com.cidesign.jianghomestylephone.tools.LayoutMarginSetting.java
com.cidesign.jianghomestylephone.tools.LoadingDataFromDB.java
com.cidesign.jianghomestylephone.tools.LoadingImageTools.java
com.cidesign.jianghomestylephone.tools.MD5Tools.java
com.cidesign.jianghomestylephone.tools.StorageUtils.java
com.cidesign.jianghomestylephone.tools.TimeTools.java
com.cidesign.jianghomestylephone.tools.WidgetCache.java
com.cidesign.jianghomestylephone.tools.XmlParseTools.java
com.cidesign.jianghomestylephone.version.NetworkTool.java
com.cidesign.jianghomestylephone.version.VersionConfig.java
com.cidesign.jianghomestylephone.version.VersionUpdate.java
com.cidesign.jianghomestylephone.widget.CommunityRelativeLayout.java
com.cidesign.jianghomestylephone.widget.CustomScrollView.java
com.cidesign.jianghomestylephone.widget.HScrollViewTouchLogic.java
com.cidesign.jianghomestylephone.widget.HumanityRelativeLayout.java
com.cidesign.jianghomestylephone.widget.LandscapeRelativeLayout.java
com.cidesign.jianghomestylephone.widget.PopMenu.java
com.cidesign.jianghomestylephone.widget.StoryRelativeLayout.java
org.apache.tools.zip.AbstractUnicodeExtraField.java
org.apache.tools.zip.AsiExtraField.java
org.apache.tools.zip.CentralDirectoryParsingZipExtraField.java
org.apache.tools.zip.ExtraFieldUtils.java
org.apache.tools.zip.FallbackZipEncoding.java
org.apache.tools.zip.GeneralPurposeBit.java
org.apache.tools.zip.JarMarker.java
org.apache.tools.zip.NioZipEncoding.java
org.apache.tools.zip.Simple8BitZipEncoding.java
org.apache.tools.zip.UnicodeCommentExtraField.java
org.apache.tools.zip.UnicodePathExtraField.java
org.apache.tools.zip.UnixStat.java
org.apache.tools.zip.UnparseableExtraFieldData.java
org.apache.tools.zip.UnrecognizedExtraField.java
org.apache.tools.zip.UnsupportedZipFeatureException.java
org.apache.tools.zip.Zip64ExtendedInformationExtraField.java
org.apache.tools.zip.Zip64Mode.java
org.apache.tools.zip.Zip64RequiredException.java
org.apache.tools.zip.ZipConstants.java
org.apache.tools.zip.ZipEightByteInteger.java
org.apache.tools.zip.ZipEncodingHelper.java
org.apache.tools.zip.ZipEncoding.java
org.apache.tools.zip.ZipEntry.java
org.apache.tools.zip.ZipExtraField.java
org.apache.tools.zip.ZipFile.java
org.apache.tools.zip.ZipLong.java
org.apache.tools.zip.ZipOutputStream.java
org.apache.tools.zip.ZipShort.java
org.apache.tools.zip.ZipUtil.java