예제 #1
0
  public boolean checkLogin() {
    SharedPreferences sharedata = getSharedPreferences("data", 0);
    String accessToken = sharedata.getString("accessToken", null);
    String tokenSecret = sharedata.getString("tokenSecret", null);
    String uid = sharedata.getString("uid", null);

    // 未登录
    if (accessToken == null || tokenSecret == null) {
      return false;
    }
    // 已登录
    else {
      NetUtil.getDoubanService().setAccessToken(accessToken, tokenSecret);
      NetUtil.setUid(uid);
      // 获取cookie
      try {
        restoreCookieFromFile();
      } catch (Exception e) {
        e.printStackTrace();
        return false;
      }

      return checkExperid(NetUtil.getCkStore().getCookies());
    }
  }
예제 #2
0
 @Override
 protected void onResume() {
   super.onResume();
   // 取得SharedPreferences保存的数据
   SharedPreferences sharedata = getSharedPreferences("data", 0);
   String accessToken = sharedata.getString("accessToken", null);
   String tokenSecret = sharedata.getString("tokenSecret", null);
   String uid = sharedata.getString("uid", null);
   doubanService.setAccessToken(accessToken, tokenSecret);
   NetUtil.setUid(uid);
 }
예제 #3
0
  // 获取cookie
  private void restoreCookieFromFile() throws Exception {
    FileInputStream fs = this.openFileInput("cookie.dat");
    ObjectInputStream ois = new ObjectInputStream(fs);

    Object[] myCookies = (Object[]) ois.readObject();
    ois.close();
    BasicCookieStore ckstore = new BasicCookieStore();
    for (Object myCookie : myCookies) {
      ckstore.addCookie(((MyClientCookie) myCookie).toBasicCookie());
    }
    NetUtil.setCkStore(ckstore);
  }
예제 #4
0
public class BaseListActivity extends ListActivity {
  private DoubanService doubanService = NetUtil.getDoubanService();
  ProgressDialog pd;

  public DoubanService getDoubanService() {
    return doubanService;
  }

  public void setDoubanService(DoubanService doubanService) {
    this.doubanService = doubanService;
  }

  @Override
  protected void onResume() {
    super.onResume();
    // 取得SharedPreferences保存的数据
    SharedPreferences sharedata = getSharedPreferences("data", 0);
    String accessToken = sharedata.getString("accessToken", null);
    String tokenSecret = sharedata.getString("tokenSecret", null);
    String uid = sharedata.getString("uid", null);
    doubanService.setAccessToken(accessToken, tokenSecret);
    NetUtil.setUid(uid);
  }

  // 退出
  protected void doExit() {
    new AlertDialog.Builder(BaseListActivity.this)
        .setTitle("提示")
        .setMessage("确定要退出豆瓣客户端吗?")
        .setPositiveButton(
            "确定",
            new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialoginterface, int i) {
                finish();
              }
            })
        .setNeutralButton(
            "取消",
            new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface arg0, int arg1) {}
            })
        .show();
  }

  // 加载对话框
  public void showDialog() {
    pd = ProgressDialog.show(BaseListActivity.this, "提示", "加载数据中...");
    pd.setCancelable(true);
  }

  public void showProgressBar() {
    AnimationSet set = new AnimationSet(true);

    Animation animation = new AlphaAnimation(0.0f, 1.0f);
    animation.setDuration(500);
    set.addAnimation(animation);

    animation =
        new TranslateAnimation(
            Animation.RELATIVE_TO_SELF,
            0.0f,
            Animation.RELATIVE_TO_SELF,
            0.0f,
            Animation.RELATIVE_TO_SELF,
            -1.0f,
            Animation.RELATIVE_TO_SELF,
            0.0f);
    animation.setDuration(500);
    set.addAnimation(animation);

    LayoutAnimationController controller = new LayoutAnimationController(set, 0.5f);
    RelativeLayout loading = (RelativeLayout) findViewById(R.id.loading);
    loading.setVisibility(View.VISIBLE);
    loading.setLayoutAnimation(controller);
  }

  public void closeProgressBar() {

    AnimationSet set = new AnimationSet(true);

    Animation animation = new AlphaAnimation(0.0f, 1.0f);
    animation.setDuration(500);
    set.addAnimation(animation);

    animation =
        new TranslateAnimation(
            Animation.RELATIVE_TO_SELF,
            0.0f,
            Animation.RELATIVE_TO_SELF,
            0.0f,
            Animation.RELATIVE_TO_SELF,
            0.0f,
            Animation.RELATIVE_TO_SELF,
            -1.0f);
    animation.setDuration(500);
    set.addAnimation(animation);

    LayoutAnimationController controller = new LayoutAnimationController(set, 0.5f);
    RelativeLayout loading = (RelativeLayout) findViewById(R.id.loading);

    loading.setLayoutAnimation(controller);

    loading.setVisibility(View.INVISIBLE);
  }

  public void showProgressBar(String title) {
    TextView loading = (TextView) findViewById(R.id.txt_loading);
    loading.setText(title);
    showProgressBar();
  }

  public boolean checkLogin() {
    SharedPreferences sharedata = getSharedPreferences("data", 0);
    String accessToken = sharedata.getString("accessToken", null);
    String tokenSecret = sharedata.getString("tokenSecret", null);
    String uid = sharedata.getString("uid", null);

    // 未登录
    if (accessToken == null || tokenSecret == null) {
      return false;
    }
    // 已登录
    else {
      NetUtil.getDoubanService().setAccessToken(accessToken, tokenSecret);
      NetUtil.setUid(uid);
      // 获取cookie
      try {
        restoreCookieFromFile();
      } catch (Exception e) {
        e.printStackTrace();
        return false;
      }

      return checkExperid(NetUtil.getCkStore().getCookies());
    }
  }

  // 获取cookie
  private void restoreCookieFromFile() throws Exception {
    FileInputStream fs = this.openFileInput("cookie.dat");
    ObjectInputStream ois = new ObjectInputStream(fs);

    Object[] myCookies = (Object[]) ois.readObject();
    ois.close();
    BasicCookieStore ckstore = new BasicCookieStore();
    for (Object myCookie : myCookies) {
      ckstore.addCookie(((MyClientCookie) myCookie).toBasicCookie());
    }
    NetUtil.setCkStore(ckstore);
  }

  // 检查过期时间
  private boolean checkExperid(List<Cookie> cookies) {
    for (Cookie cookie : cookies) {
      if ("ue".equals(cookie.getName())) {
        Date now = new Date();
        if (now.compareTo(cookie.getExpiryDate()) > 0) {
          return false;
        }
      }
    }
    return true;
  }
}