package com.example.love_reading;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import com.example.love_reading.MainActivity.MyAdapter;
import com.example.love_reading.sql.SQLiteHelper2;
import com.example.love_reading.sql.SQLiteHelper3;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.bean.SocializeEntity;
import com.umeng.socialize.bean.StatusCode;
import com.umeng.socialize.controller.RequestType;
import com.umeng.socialize.controller.UMServiceFactory;
import com.umeng.socialize.controller.UMSocialService;
import com.umeng.socialize.controller.UMSsoHandler;
import com.umeng.socialize.controller.listener.SocializeListeners.SnsPostListener;
import com.umeng.socialize.controller.listener.SocializeListeners.UMAuthListener;
import com.umeng.socialize.exception.SocializeException;
import android.app.AlertDialog.Builder;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.format.Time;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.NumberPicker;
import android.widget.NumberPicker.Formatter;
import android.widget.TextView;
import android.widget.Toast;
public class Bookthink<viewAddEmployee> extends Activity implements Formatter{
final UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.share",RequestType.SOCIAL);
private final int LISTDIALOG = 1;
private Cursor cursor;
private ImageButton show,decide;
private TextView bookplan_title;
private EditText bookplan_think;
private SQLiteDatabase db;
private SQLiteHelper2 dbHelper;
public static final String DB_NAME = "bookplan.db";
public static final String DB_NAME2 = "booknow.db";
public static int DB_VERSION = 1;
private File path = new File("/sdcard/love_reading");// ����Ŀ¼
private File f = new File("/sdcard/love_reading/bookplan.db");// �����ļ�
private File f2 = new File("/sdcard/love_reading/booknow.db");// �����ļ�
private MyAdapter adapter;
private Intent intent;
private String str;
private NumberPicker mNumberPicker,mNumberPicker2;
private int now;
private SQLiteHelper3 dbHelper2;
private String tag = Bookthink.this.getClass().getSimpleName();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.bookthink);
bookplan_title=(TextView)findViewById(R.id.title);
bookplan_think=(EditText)findViewById(R.id.book_think);
show=(ImageButton)findViewById(R.id.show);
decide=(ImageButton)findViewById(R.id.decide);
intent=getIntent();
bookplan_title.setText("����"+intent.getStringExtra("name")+"�ĸ���");
createData();
getdata();
init();
look();
}
private void createData() {
if (!path.exists()) {// Ŀ¼���ڷ���false
path.mkdirs();// ����һ��Ŀ¼
}
if (!f.exists()) {// �ļ����ڷ���false
try {
f.createNewFile();// �����ļ�
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
dbHelper = new SQLiteHelper2(this, DB_NAME, null, DB_VERSION);
db = SQLiteDatabase.openOrCreateDatabase(f, null);
StringBuilder sql = new StringBuilder();
sql.append("CREATE TABLE IF NOT EXISTS ").append(SQLiteHelper2.TB_NAME).append(" (").append("_id integer primary key autoincrement,")
.append("name text,").append("startpage integer,").append("endpage integer,").append("year integer,").append("month integer,").append("date integer,")
.append("hour integer,").append("minute integer,").append("second integer,").append("summary text")
.append(")");
db.execSQL(sql.toString());
} catch (IllegalArgumentException e) {
e.printStackTrace();
++DB_VERSION;
dbHelper.onUpgrade(db, --DB_VERSION, DB_VERSION);
}
db.close();
}
private void getdata() {
try {
dbHelper2 = new SQLiteHelper3(this, DB_NAME2, null, DB_VERSION);
db = SQLiteDatabase.openOrCreateDatabase(f2, null);
/* ��ѯ���õ�cursor���� */
cursor = db.rawQuery("select * from booknow where name='"+intent.getStringExtra("name")+"'", null);
cursor.moveToFirst();
while (!cursor.isAfterLast() && (cursor.getString(1) != null)) {
now = cursor.getInt(2);
cursor.moveToNext();
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
++DB_VERSION;
dbHelper.onUpgrade(db, --DB_VERSION, DB_VERSION);
}
}
private void init() {
mNumberPicker = (NumberPicker) findViewById(R.id.book_think_startpage);
mNumberPicker.setFormatter(this);
mNumberPicker.setMaxValue(Integer.parseInt(intent.getStringExtra("pages")));
mNumberPicker.setMinValue(0);
mNumberPicker.setValue(now);
mNumberPicker2 = (NumberPicker) findViewById(R.id.book_think_endpage);
mNumberPicker2.setFormatter(this);
mNumberPicker2.setMaxValue(Integer.parseInt(intent.getStringExtra("pages")));
mNumberPicker2.setMinValue(0);
mNumberPicker2.setValue(now);
}
public String format(int value) {
String tmpStr = String.valueOf(value);
if (value < 10) {
tmpStr = "000" + tmpStr;
}
else if (value < 100) {
tmpStr = "00" + tmpStr;
}
else if (value < 1000) {
tmpStr = "0" + tmpStr;
}
return tmpStr;
}
public void look(){
decide.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
intthink();
finish();
}
});
show.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
intthink();
mController.setShareContent("#ͼ�����#����"+intent.getStringExtra("name")+"�Ȿ��,����"+mNumberPicker.getValue()+"��"+mNumberPicker2.getValue()+"֮��,����һЩ�ĵ�.�������£�"+bookplan_think.getText().toString());
showDialog(LISTDIALOG);
//mController.openShare(Bookthink.this, false);
//finish();
}
});
}
protected Dialog onCreateDialog(int id) {
Dialog dialog = null;
switch(id) {
case LISTDIALOG:
Builder builder = new AlertDialog.Builder(this);
builder.setTitle("�������ƽ̨ѡ��");
DialogInterface.OnClickListener listener =
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface,
int which) {
switch(which) {
case 0:
mController.doOauthVerify(Bookthink.this, SHARE_MEDIA.QZONE, new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩ��ʼ", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SocializeException e, SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩ����", Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle value, SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩ���", Toast.LENGTH_SHORT).show();
//��ȡ�����Ȩ��Ϣ������ת���Զ���ķ���༭ҳ��
String uid = value.getString("uid");
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩȡ��", Toast.LENGTH_SHORT).show();
}
} );
mController.directShare(Bookthink.this, SHARE_MEDIA.QZONE,
new SnsPostListener() {
@Override
public void onStart() {
Toast.makeText(Bookthink.this, "����ʼ",Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(SHARE_MEDIA platform,int eCode, SocializeEntity entity) {
if(eCode == StatusCode.ST_CODE_SUCCESSED){
Toast.makeText(Bookthink.this, "����ɹ�",Toast.LENGTH_SHORT).show();
finish();
}else{
Toast.makeText(Bookthink.this, "����ʧ��",Toast.LENGTH_SHORT).show();
finish();
}
}
});
break;
case 1:
mController.doOauthVerify(Bookthink.this, SHARE_MEDIA.TENCENT, new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩ��ʼ", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SocializeException e, SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩ����", Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle value, SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩ���", Toast.LENGTH_SHORT).show();
//��ȡ�����Ȩ��Ϣ������ת���Զ���ķ���༭ҳ��
String uid = value.getString("uid");
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩȡ��", Toast.LENGTH_SHORT).show();
}
} );
mController.directShare(Bookthink.this, SHARE_MEDIA.TENCENT,
new SnsPostListener() {
@Override
public void onStart() {
Toast.makeText(Bookthink.this, "����ʼ",Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(SHARE_MEDIA platform,int eCode, SocializeEntity entity) {
if(eCode == StatusCode.ST_CODE_SUCCESSED){
Toast.makeText(Bookthink.this, "����ɹ�",Toast.LENGTH_SHORT).show();
finish();
}else{
Toast.makeText(Bookthink.this, "����ʧ��",Toast.LENGTH_SHORT).show();
finish();
}
}
});
break;
case 2:
mController.doOauthVerify(Bookthink.this, SHARE_MEDIA.SINA, new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩ��ʼ", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SocializeException e, SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩ����", Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle value, SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩ���", Toast.LENGTH_SHORT).show();
//��ȡ�����Ȩ��Ϣ������ת���Զ���ķ���༭ҳ��
String uid = value.getString("uid");
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩȡ��", Toast.LENGTH_SHORT).show();
}
} );
mController.directShare(Bookthink.this, SHARE_MEDIA.SINA,
new SnsPostListener() {
@Override
public void onStart() {
Toast.makeText(Bookthink.this, "����ʼ",Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(SHARE_MEDIA platform,int eCode, SocializeEntity entity) {
if(eCode == StatusCode.ST_CODE_SUCCESSED){
Toast.makeText(Bookthink.this, "����ɹ�",Toast.LENGTH_SHORT).show();
finish();
}else{
Toast.makeText(Bookthink.this, "����ʧ��",Toast.LENGTH_SHORT).show();
finish();
}
}
});
break;
case 3:
mController.doOauthVerify(Bookthink.this, SHARE_MEDIA.DOUBAN, new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩ��ʼ", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SocializeException e, SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩ����", Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle value, SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩ���", Toast.LENGTH_SHORT).show();
//��ȡ�����Ȩ��Ϣ������ת���Զ���ķ���༭ҳ��
String uid = value.getString("uid");
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(Bookthink.this, "��Ȩȡ��", Toast.LENGTH_SHORT).show();
}
} );
mController.directShare(Bookthink.this, SHARE_MEDIA.DOUBAN,
new SnsPostListener() {
@Override
public void onStart() {
Toast.makeText(Bookthink.this, "����ʼ",Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(SHARE_MEDIA platform,int eCode, SocializeEntity entity) {
if(eCode == StatusCode.ST_CODE_SUCCESSED){
Toast.makeText(Bookthink.this, "����ɹ�",Toast.LENGTH_SHORT).show();
finish();
}else{
Toast.makeText(Bookthink.this, "����ʧ��",Toast.LENGTH_SHORT).show();
finish();
}
}
});
break;
}
}
};
builder.setItems(R.array.hobby, listener);
dialog = builder.create();
break;
}
return dialog;
}
public void intthink() {
// TODO Auto-generated method stub
Time t=new Time();
t.setToNow();
db = SQLiteDatabase.openOrCreateDatabase(f, null);
Log.i(tag," "+t.month);
dbHelper = new SQLiteHelper2(this, DB_NAME, null, DB_VERSION);
dbHelper.insertData(db , intent.getStringExtra("name") , mNumberPicker.getValue() , mNumberPicker2.getValue() , t.year , t.month + 1 , t.monthDay , t.hour , t.minute , t.second , bookplan_think.getText().toString() );
if (now < mNumberPicker2.getValue()) {
change();
}
}
private void change() {
// TODO Auto-generated method stub
db = SQLiteDatabase.openOrCreateDatabase(f2, null);
dbHelper2 = new SQLiteHelper3(this, DB_NAME2, null, DB_VERSION);
ContentValues values =new ContentValues();
values.put("now", mNumberPicker2.getValue());
db.update("booknow", values, "name='"+intent.getStringExtra("name")+"'", null);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
/**ʹ��SSO��Ȩ����������´��� */
UMSsoHandler ssoHandler = mController.getConfig().getSsoHandler(requestCode) ;
if(ssoHandler != null){
ssoHandler.authorizeCallBack(requestCode, resultCode, data);
}
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
}