Android Open Source - JiangHomeStyle_Android_Phone Artical Operation






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.http;
//w  w w .j  a v  a2 s  .co m
import java.io.File;
import java.sql.SQLException;
import java.util.List;

import org.apache.http.HttpStatus;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.util.Log;

import com.androidquery.AQuery;
import com.androidquery.callback.AjaxCallback;
import com.androidquery.callback.AjaxStatus;
import com.cidesign.jianghomestylephone.R;
import com.cidesign.jianghomestylephone.db.DatabaseHelper;
import com.cidesign.jianghomestylephone.entity.ArticleEntity;
import com.cidesign.jianghomestylephone.entity.FileListEntity;
import com.cidesign.jianghomestylephone.service.DownloadService;
import com.cidesign.jianghomestylephone.tools.StorageUtils;
import com.cidesign.jianghomestylephone.tools.XmlParseTools;
import com.j256.ormlite.dao.RuntimeExceptionDao;
import com.j256.ormlite.stmt.DeleteBuilder;

public class ArticalOperation
{
  private static final String TAG = ArticalOperation.class.getSimpleName();

  private AQuery aq;
  public DatabaseHelper dbHelper;
  private SharedPreferences settings = null;
  private String request_address = "";
  public Activity activity;

  public ArticalOperation(Activity activity, AQuery aq, DatabaseHelper dbHelper)
  {
    this.activity = activity;
    this.aq = aq;
    this.dbHelper = dbHelper;
    settings = activity.getSharedPreferences("LAST_UPDATE_TIME", Context.MODE_PRIVATE);
    request_address = activity.getResources().getString(R.string.request_address);
  }

  public void getArticleInfo()
  {
    String url = request_address + "/travel/dataUpdate?lastUpdateDate=" + settings.getString("lastUpdateTime", "0")+"&category=1";
    
    long expire = 15 * 1000;

    aq.ajax(url, String.class, expire, new AjaxCallback<String>()
    {
      @Override
      public void callback(String url, String html, AjaxStatus status)
      {
        if (HttpStatus.SC_OK == status.getCode())
        {
          new InsertDBArticleDate().execute(html);
        }
      }
    });
  }

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

    @Override
    protected void onPreExecute()
    {

    }

    @Override
    protected String doInBackground(String... params)
    {      
      listFile = XmlParseTools.parseFileList(params[0]);
      
      if (listFile.size() > 0)
      {
        String time = "0";

        dao = dbHelper.getFileListDataDao();

        for (FileListEntity fileEntity : listFile)
        {
          if (fileEntity.getOperation() == 'u')
          {
            fileEntity.setDownloadFlag(0);
            dao.createOrUpdate(fileEntity);
          }
          else if (fileEntity.getOperation() == 'd')
          {
            // ??????????????
            dao.delete(fileEntity);

            // ???SD??????????
            File file = new File(StorageUtils.FILE_ROOT + fileEntity.getServerID());
            if (file.isDirectory())
            {
              StorageUtils.delete(file);
            }

            // ????????????
            RuntimeExceptionDao<ArticleEntity, Integer> articleDao = dbHelper.getArticleListDataDao();
            DeleteBuilder<ArticleEntity, Integer> delBuilder = articleDao.deleteBuilder();
            try
            {
              delBuilder.where().eq("serverID", fileEntity.getServerID());
              delBuilder.delete();
            }
            catch (SQLException e)
            {
              e.printStackTrace();
            }

          }
          time = fileEntity.getTimestamp();
        }

        // ????????????????
        SharedPreferences.Editor editor = settings.edit();
        editor.putString("lastUpdateTime", time);        
        editor.commit();
      }
      return null;
    }

    @Override
    protected void onPostExecute(String result)
    {
      if (dao == null)
      {
        dao = dbHelper.getFileListDataDao();
      }
      List<FileListEntity> listFile = dao.queryForEq("downloadFlag", 0);

      if (listFile.size() > 0)
      {
        // ???????????????
        Intent intent = new Intent(activity, DownloadService.class);
        intent.putExtra("RESULT", 0);
        activity.startService(intent);
      }
    }
  }
}




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