DiaryActivity.java :  » Client » mixiclient » jp » co » haw » mixiclient » diary » Android Open Source

Android Open Source » Client » mixiclient 
mixiclient » jp » co » haw » mixiclient » diary » DiaryActivity.java
package jp.co.haw.mixiclient.diary;

import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.TimeZone;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import jp.co.haw.mixiclient.R;
import jp.co.haw.mixiclient.RequestNewListBaseTask;
import jp.co.haw.mixiclient.RequestNewListTask;
import jp.co.haw.mixiclient.R.id;
import jp.co.haw.mixiclient.R.layout;
import jp.co.haw.mixiclient.builder.MessageBuilderFactory.PATTERN;
import jp.co.haw.mixiclient.database.DatabaseHelper;
import jp.co.haw.mixiclient.database.MessageDao;
import jp.co.haw.mixiclient.database.Message.CATEGORY;
import jp.co.haw.mixiclient.parser.Base64Coder;
import jp.co.haw.mixiclient.parser.SaxFeedParser;
import jp.co.haw.mixiclient.preference.RequestLoginTask;

import org.apache.http.HttpException;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.HttpEntityWrapper;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.ByteArrayBuffer;
import org.apache.http.util.EntityUtils;
import org.slideme.atom.parser.AtomReader;
import org.slideme.atom.parser.Feed;
import org.slideme.atom.parser.ParserUtils;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.Dialog;
import android.app.ListActivity;
import android.app.PendingIntent;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.RemoteViews.ActionException;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;

public class DiaryActivity extends Activity {
//http://d.hatena.ne.jp/ymotongpoo/20081201/1228158688
//http://teahut.sakura.ne.jp/b/2007-07-01-1.html
  
  private ProgressDialog dialog;
  //ID
  private String diary_id;
  private String owner_id;
  //ID
  private String topic_id;
  private String comm_id;
  private boolean isDiary;
  private String url;

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.diary);

    //execute
    Bundle extras = getIntent().getExtras();
    if (extras != null) {

      // 
      dialog = new ProgressDialog(this);
      dialog.setIndeterminate(true);
      dialog.setMessage("");
      dialog.show();

      url = extras.getString("URI");
      String name = extras.getString("NAME");
      if (url.contains("view_bbs.pl")) {
          Pattern p = Pattern.compile("\\?id=([^&]+)");
          Matcher matcher = p.matcher(url);
          while (matcher.find()) {
            topic_id = matcher.group(1);
          }
          Pattern p2 = Pattern.compile("comm_id=([^&]+)");
          Matcher matcher2 = p2.matcher(url);
          while (matcher2.find()) {
            comm_id = matcher2.group(1);
          }
//        comm_id = url.substring(url.indexOf("comm_id=") + 8);
      } else {
        this.isDiary = true;
        if (url.indexOf("?id=") != -1 && url.indexOf("&owner_id=") != -1)
          diary_id = url.substring(url.indexOf("?id=") + 4, url.indexOf("&owner_id="));
        if (url.indexOf("owner_id=") != -1)
          owner_id = url.substring(url.indexOf("owner_id=") + 9);
      }
      Log.v("SERVICE", url);
      
      //
      String title = "";
        if (url.contains("view_bbs")) {
          title = name.trim().substring(1, name.length()-1);
        } else {
          title = name.trim().substring(1, name.length()-1) + "";
        }
        setTitle(title);
        
      RequestDiaryPageTask diaryTask = new RequestDiaryPageTask(this);
      diaryTask.execute(url, name);
    }
  }
  
  public void dismisDialog() {
    dialog.dismiss();
  }
  
  //
  //http://yamablo.com/wp-content/uploads/2009/09/androidDevIcon.jpg
  //http://yamablo.com/2009/09/23-114828.php
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    menu.add(0,0,0, "").setIcon(android.R.drawable.ic_menu_edit);
    return true;
  }
  

  @Override
  public boolean onMenuItemSelected(int featureId, MenuItem item) {
    super.onMenuItemSelected(featureId, item);
    
    final Dialog _dialog = new Dialog(DiaryActivity.this);
    _dialog.setContentView(R.layout.dialog_comment);
    _dialog.setTitle("");
    _dialog.findViewById(R.id.button_submit_comment).setOnClickListener(
      new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          //
          EditText editText_comment = (EditText )_dialog.findViewById(R.id.edittext_comment);
          String comment = editText_comment.getText().toString();
          SubmitCommentRequestTask comment_task = new SubmitCommentRequestTask(DiaryActivity.this);
          if (isDiary)
            comment_task.execute(diary_id, owner_id, comment, url);
          else
            comment_task.execute(topic_id, comm_id, comment, url);
          //()
          _dialog.dismiss();
          dialog.setMessage("");
          dialog.show();
        }
      }
    );
    _dialog.show();
    return true;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.