MainActivity.java 4.04 KB
package com.gumptech.loginsdk.sample;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import com.gumptech.sdk.GumpSDK;
import com.gumptech.sdk.bean.GumpUser;
import com.gumptech.sdk.bean.PurchaseResult;
import com.gumptech.sdk.callback.InitializeCallback;
import com.gumptech.sdk.callback.LoginStateListener;
import com.gumptech.sdk.callback.PurchaseCallback;
import com.loginsdk.sample.R;

public class MainActivity extends Activity  implements PurchaseCallback{

    private static final String TAG = "MainActivity";

    private TextView tvVersion;
    private TextView userInfo;

    private Button btnLoginOrLogout;

    private String appId = "10022";
    private String appKey = "93a27b0bd99bac3e68a440b48aa421ab";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvVersion = (TextView) findViewById(R.id.version);
        userInfo = (TextView) findViewById(R.id.user_info);
        btnLoginOrLogout = (Button) findViewById(R.id.login_or_logout);
        btnLoginOrLogout.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if (btnLoginOrLogout.getTag() == null || (Integer) btnLoginOrLogout.getTag() == 0)
                    GumpSDK.start(MainActivity.this);
                else
                    GumpSDK.logout(MainActivity.this);
            }
        });
        findViewById(R.id.pay).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Bundle payInfo = new Bundle();
                payInfo.putString("nick", "thi");
                payInfo.putString("product", "元宝");
                payInfo.putFloat("amount", 0.0f);
                payInfo.putString("extraInfo", "This is demo!");
                payInfo.putString("serverId", "5001");
                GumpSDK.pay(MainActivity.this, payInfo, "3332768", MainActivity.this);
            }
        });
        GumpSDK.setDebugState(true);
        GumpSDK.setLogoShow(true);
        GumpSDK.setScreenLandscape(false);
        GumpSDK.setUserStateListener(new LoginStateListener() {
            @Override
            public void onLoginSuccess(GumpUser user) {
                userInfo.setText("Userid:" + user.getUid() + "\n accountType:" + user.getAccountType() + "\n sessionKey:" + user.getSessionKey());
                btnLoginOrLogout.setText("Logout");
                btnLoginOrLogout.setTag(1);
            }

            @Override
			public void onLoginFailed(int code, String msg) {
                userInfo.setText(msg);
                Toast.makeText(MainActivity.this, "Login failed:code="+code+",message="+msg, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onLoginCanceled() {
                Toast.makeText(MainActivity.this, "operate be canceled", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onLogout() {
                btnLoginOrLogout.setText("Login");
                btnLoginOrLogout.setTag(0);
                userInfo.setText("User is logout");
            }
        });
        GumpSDK.init(getApplicationContext(), appId, appKey, "1000", new InitializeCallback() {
            @Override
            public void initComplete(int result) {
                if (result == GumpSDK.CODE.OK) {
                    btnLoginOrLogout.setEnabled(true);
                }
            }
        });


        tvVersion.setText("SDK Version:" + GumpSDK.getVersion());
    }

    @Override
    public void onPurchaseCompleted(PurchaseResult result) {
        Log.i(TAG,"purchase completed");
    }

    @Override
    public void onPurchaseError(int code, String msg) {
        Log.i(TAG,"purchase error");
    }

    @Override
    public void onPurchaseCanceled() {
        Log.i(TAG,"purchase canceled");
    }
}