Commit 7bb9515948d8419847e511aad620031c73b1ff4a
1 parent
6cda3647ed
Exists in
master
add sample project
Showing 14 changed files with 333 additions and 0 deletions Inline Diff
- android/GameSDKSample/.classpath
- android/GameSDKSample/.project
- android/GameSDKSample/AndroidManifest.xml
- android/GameSDKSample/lint.xml
- android/GameSDKSample/proguard-project.txt
- android/GameSDKSample/project.properties
- android/GameSDKSample/res/drawable-hdpi/ic_launcher.png
- android/GameSDKSample/res/drawable-mdpi/ic_launcher.png
- android/GameSDKSample/res/drawable-xhdpi/ic_launcher.png
- android/GameSDKSample/res/layout/activity_main.xml
- android/GameSDKSample/res/values-w820dp/dimens.xml
- android/GameSDKSample/res/values/dimens.xml
- android/GameSDKSample/res/values/strings.xml
- android/GameSDKSample/src/com/gumptech/loginsdk/sample/MainActivity.java
android/GameSDKSample/.classpath
File was created | 1 | <?xml version="1.0" encoding="UTF-8"?> | |
2 | <classpath> | ||
3 | <classpathentry kind="src" path="src"/> | ||
4 | <classpathentry kind="src" path="gen"/> | ||
5 | <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> | ||
6 | <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> | ||
7 | <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> | ||
8 | <classpathentry kind="output" path="bin/classes"/> | ||
9 | </classpath> | ||
10 |
android/GameSDKSample/.project
File was created | 1 | <?xml version="1.0" encoding="UTF-8"?> | |
2 | <projectDescription> | ||
3 | <name>GameSDKSample</name> | ||
4 | <comment></comment> | ||
5 | <projects> | ||
6 | </projects> | ||
7 | <buildSpec> | ||
8 | <buildCommand> | ||
9 | <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> | ||
10 | <arguments> | ||
11 | </arguments> | ||
12 | </buildCommand> | ||
13 | <buildCommand> | ||
14 | <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> | ||
15 | <arguments> | ||
16 | </arguments> | ||
17 | </buildCommand> | ||
18 | <buildCommand> | ||
19 | <name>org.eclipse.jdt.core.javabuilder</name> | ||
20 | <arguments> | ||
21 | </arguments> | ||
22 | </buildCommand> | ||
23 | <buildCommand> | ||
24 | <name>com.android.ide.eclipse.adt.ApkBuilder</name> | ||
25 | <arguments> | ||
26 | </arguments> | ||
27 | </buildCommand> | ||
28 | </buildSpec> | ||
29 | <natures> | ||
30 | <nature>com.android.ide.eclipse.adt.AndroidNature</nature> | ||
31 | <nature>org.eclipse.jdt.core.javanature</nature> | ||
32 | </natures> | ||
33 | </projectDescription> | ||
34 |
android/GameSDKSample/AndroidManifest.xml
File was created | 1 | <?xml version="1.0" encoding="utf-8"?> | |
2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
3 | package="com.gumptech.loginsdk.sample" | ||
4 | android:versionCode="4" | ||
5 | android:versionName="1.4" > | ||
6 | |||
7 | <uses-sdk | ||
8 | android:minSdkVersion="8" | ||
9 | android:targetSdkVersion="8" /> | ||
10 | |||
11 | <uses-permission android:name="android.permission.INTERNET" /> | ||
12 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | ||
13 | <uses-permission android:name="android.permission.BLUETOOTH" /> | ||
14 | <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> | ||
15 | <uses-permission android:name="android.permission.WRITE_SETTINGS" /> | ||
16 | <uses-permission android:name="android.permission.GET_ACCOUNTS" /> | ||
17 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | ||
18 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> | ||
19 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> | ||
20 | <!-- for card.io card scanning --> | ||
21 | <uses-permission android:name="android.permission.CAMERA" /> | ||
22 | <uses-permission android:name="android.permission.VIBRATE" /> | ||
23 | |||
24 | <uses-feature | ||
25 | android:name="android.hardware.camera" | ||
26 | android:required="false" /> | ||
27 | <uses-feature | ||
28 | android:name="android.hardware.camera.autofocus" | ||
29 | android:required="false" /> | ||
30 | <!-- VERY IMPORTANT! Don't forget this permission, or in-app billing won't work. --> | ||
31 | <uses-permission android:name="com.android.vending.BILLING" /> | ||
32 | |||
33 | <application | ||
34 | android:allowBackup="true" | ||
35 | android:icon="@drawable/ic_launcher" | ||
36 | android:label="@string/app_name" > | ||
37 | <activity | ||
38 | android:name="com.gumptech.loginsdk.sample.MainActivity" | ||
39 | android:configChanges="navigation|orientation|keyboard" | ||
40 | android:label="@string/app_name" | ||
41 | android:screenOrientation="portrait" > | ||
42 | <intent-filter> | ||
43 | <action android:name="android.intent.action.MAIN" /> | ||
44 | |||
45 | <category android:name="android.intent.category.LAUNCHER" /> | ||
46 | </intent-filter> | ||
47 | </activity> | ||
48 | <activity | ||
49 | android:name="com.gumptech.sdk.ContainerActivity" | ||
50 | android:configChanges="orientation|screenLayout" | ||
51 | android:screenOrientation="portrait" | ||
52 | android:theme="@style/container_dialog" > | ||
53 | </activity> | ||
54 | <activity | ||
55 | android:name="com.facebook.LoginActivity" | ||
56 | android:theme="@android:style/Theme.Translucent.NoTitleBar" > | ||
57 | </activity> | ||
58 | <activity | ||
59 | android:name="com.gumptech.sdk.PaymentActivity" | ||
60 | android:configChanges="orientation|screenLayout" | ||
61 | android:theme="@android:style/Theme.Translucent.NoTitleBar" > | ||
62 | </activity> | ||
63 | |||
64 | <activity | ||
65 | android:name="com.gumptech.sdk.ExchangeWindow" | ||
66 | android:configChanges="orientation|screenLayout" | ||
67 | android:theme="@style/ex_win" > | ||
68 | </activity> | ||
69 | <!-- paypal --> | ||
70 | <service | ||
71 | android:name="com.paypal.android.sdk.payments.PayPalService" | ||
72 | android:exported="false" /> | ||
73 | |||
74 | <activity android:name="com.paypal.android.sdk.payments.PaymentActivity" /> | ||
75 | <activity android:name="com.paypal.android.sdk.payments.LoginActivity" /> | ||
76 | <activity android:name="com.paypal.android.sdk.payments.PaymentMethodActivity" /> | ||
77 | <activity android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity" /> | ||
78 | <activity android:name="com.paypal.android.sdk.payments.PayPalFuturePaymentActivity" /> | ||
79 | <activity android:name="com.paypal.android.sdk.payments.FuturePaymentConsentActivity" /> | ||
80 | <activity android:name="com.paypal.android.sdk.payments.FuturePaymentInfoActivity" /> | ||
81 | <activity | ||
82 | android:name="io.card.payment.CardIOActivity" | ||
83 | android:configChanges="keyboardHidden|orientation" /> | ||
84 | <activity android:name="io.card.payment.DataEntryActivity" /> | ||
85 | </application> | ||
86 | |||
87 | </manifest> |
android/GameSDKSample/lint.xml
File was created | 1 | <?xml version="1.0" encoding="UTF-8"?> | |
2 | <lint> | ||
3 | <issue id="MissingTranslation" severity="warning" /> | ||
4 | </lint> |
android/GameSDKSample/proguard-project.txt
File was created | 1 | # To enable ProGuard in your project, edit project.properties | |
2 | # to define the proguard.config property as described in that file. | ||
3 | # | ||
4 | # Add project specific ProGuard rules here. | ||
5 | # By default, the flags in this file are appended to flags specified | ||
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt | ||
7 | # You can edit the include path and order by changing the ProGuard | ||
8 | # include property in project.properties. | ||
9 | # | ||
10 | # For more details, see | ||
11 | # http://developer.android.com/guide/developing/tools/proguard.html | ||
12 | |||
13 | # Add any project specific keep options here: | ||
14 | |||
15 | # If your project uses WebView with JS, uncomment the following | ||
16 | # and specify the fully qualified class name to the JavaScript interface | ||
17 | # class: | ||
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { | ||
19 | # public *; | ||
20 | #} | ||
21 |
android/GameSDKSample/project.properties
File was created | 1 | # This file is automatically generated by Android Tools. | |
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! | ||
3 | # | ||
4 | # This file must be checked in Version Control Systems. | ||
5 | # | ||
6 | # To customize properties used by the Ant build system edit | ||
7 | # "ant.properties", and override values to adapt the script to your | ||
8 | # project structure. | ||
9 | # | ||
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): | ||
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt | ||
12 | |||
13 | # Project target. | ||
14 | |||
15 | target=android-18 | ||
16 | android.library.reference.1=../GameSDKRelease | ||
17 |
android/GameSDKSample/res/drawable-hdpi/ic_launcher.png
9.18 KB
android/GameSDKSample/res/drawable-mdpi/ic_launcher.png
5.11 KB
android/GameSDKSample/res/drawable-xhdpi/ic_launcher.png
14 KB
android/GameSDKSample/res/layout/activity_main.xml
File was created | 1 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
2 | android:layout_width="match_parent" | ||
3 | android:layout_height="match_parent" | ||
4 | android:background="@android:color/white" | ||
5 | android:orientation="vertical" > | ||
6 | |||
7 | <TextView | ||
8 | android:id="@+id/user_info" | ||
9 | android:layout_width="wrap_content" | ||
10 | android:layout_height="wrap_content" /> | ||
11 | |||
12 | <Button | ||
13 | android:id="@+id/logout" | ||
14 | android:layout_width="wrap_content" | ||
15 | android:layout_height="wrap_content" | ||
16 | android:text="logout" | ||
17 | android:visibility="gone" /> | ||
18 | |||
19 | <Button | ||
20 | android:id="@+id/bind" | ||
21 | android:layout_width="wrap_content" | ||
22 | android:layout_height="wrap_content" | ||
23 | android:text="bound" | ||
24 | android:visibility="gone" /> | ||
25 | |||
26 | <Button | ||
27 | android:id="@+id/pay" | ||
28 | android:layout_width="wrap_content" | ||
29 | android:layout_height="wrap_content" | ||
30 | android:text="pay" /> | ||
31 | |||
32 | </LinearLayout> |
android/GameSDKSample/res/values-w820dp/dimens.xml
File was created | 1 | <resources> | |
2 | |||
3 | <!-- | ||
4 | Example customization of dimensions originally defined in res/values/dimens.xml | ||
5 | (such as screen margins) for screens with more than 820dp of available width. This | ||
6 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). | ||
7 | --> | ||
8 | <dimen name="activity_horizontal_margin">64dp</dimen> | ||
9 | |||
10 | </resources> | ||
11 |
android/GameSDKSample/res/values/dimens.xml
File was created | 1 | <resources> | |
2 | |||
3 | <!-- Default screen margins, per the Android Design guidelines. --> | ||
4 | <dimen name="activity_horizontal_margin">16dp</dimen> | ||
5 | <dimen name="activity_vertical_margin">16dp</dimen> | ||
6 | |||
7 | </resources> | ||
8 |
android/GameSDKSample/res/values/strings.xml
File was created | 1 | <?xml version="1.0" encoding="utf-8"?> | |
2 | <resources> | ||
3 | |||
4 | <string name="app_name">LoginSDKSample</string> | ||
5 | <string name="hello_world">Hello world!</string> | ||
6 | <string name="action_settings">Settings</string> | ||
7 | |||
8 | </resources> | ||
9 |
android/GameSDKSample/src/com/gumptech/loginsdk/sample/MainActivity.java
File was created | 1 | package com.gumptech.loginsdk.sample; | |
2 | |||
3 | import android.app.Activity; | ||
4 | import android.content.Intent; | ||
5 | import android.os.Bundle; | ||
6 | import android.util.Log; | ||
7 | import android.view.View; | ||
8 | import android.widget.Button; | ||
9 | import android.widget.TextView; | ||
10 | import android.widget.Toast; | ||
11 | |||
12 | import com.gumptech.sdk.GumpPreference; | ||
13 | import com.gumptech.sdk.GumpSDK; | ||
14 | |||
15 | public class MainActivity extends Activity implements GumpSDK.Callback { | ||
16 | |||
17 | private TextView userInfo; | ||
18 | |||
19 | private Button btnLogout; | ||
20 | private Button btnBind; | ||
21 | |||
22 | @Override | ||
23 | protected void onCreate(Bundle savedInstanceState) { | ||
24 | super.onCreate(savedInstanceState); | ||
25 | setContentView(R.layout.activity_main); | ||
26 | userInfo = (TextView) findViewById(R.id.user_info); | ||
27 | btnLogout = (Button) findViewById(R.id.logout); | ||
28 | btnBind = (Button) findViewById(R.id.bind); | ||
29 | btnLogout.setOnClickListener(new View.OnClickListener() { | ||
30 | |||
31 | @Override | ||
32 | public void onClick(View v) { | ||
33 | GumpSDK.logout(MainActivity.this, MainActivity.this); | ||
34 | } | ||
35 | }); | ||
36 | btnBind.setOnClickListener(new View.OnClickListener() { | ||
37 | |||
38 | @Override | ||
39 | public void onClick(View v) { | ||
40 | GumpSDK.boundMail(MainActivity.this); | ||
41 | } | ||
42 | }); | ||
43 | findViewById(R.id.pay).setOnClickListener(new View.OnClickListener() { | ||
44 | |||
45 | @Override | ||
46 | public void onClick(View v) { | ||
47 | Bundle payInfo = new Bundle(); | ||
48 | payInfo.putString("nick", "thi"); | ||
49 | payInfo.putString("product", "元宝"); | ||
50 | payInfo.putFloat("amount", 0.0f); | ||
51 | payInfo.putString("extraInfo", "This is demo!"); | ||
52 | GumpSDK.pay(MainActivity.this, payInfo); | ||
53 | } | ||
54 | }); | ||
55 | GumpSDK.init("10009", "483d8df877b31405c1e8fe4247f02d86", "301596413332339", "1000", "4003", "120"); | ||
56 | GumpSDK.start(this); | ||
57 | } | ||
58 | |||
59 | @Override | ||
60 | protected void onActivityResult(int requestCode, int resultCode, Intent data) { | ||
61 | Log.d("Main", "activity requestCode:" + requestCode + ",resultCode:" + resultCode); | ||
62 | if (requestCode == GumpSDK.LOGIN_REQUEST_CODE) { | ||
63 | if (resultCode == RESULT_OK) { | ||
64 | int uid = data.getIntExtra("userId", -1); | ||
65 | int accountType = data.getIntExtra("accountType", -1); | ||
66 | String sessionkey = data.getStringExtra("sessionKey"); | ||
67 | userInfo.setText("userid:" + uid + ",accountType:" + accountType + ",sessionKey:" + sessionkey); | ||
68 | btnLogout.setVisibility(View.VISIBLE); | ||
69 | if (accountType == GumpPreference.ACCOUNT_TYPE_QUICK_REG) | ||
70 | btnBind.setVisibility(View.VISIBLE); | ||
71 | } else if (resultCode == RESULT_CANCELED) { | ||
72 | Toast.makeText(this, "operate be canceled", Toast.LENGTH_SHORT).show(); | ||
73 | } | ||
74 | } else if (requestCode == GumpSDK.BOUND_REQUEST_CODE) { | ||
75 | if (resultCode == RESULT_OK) { | ||
76 | int uid = data.getIntExtra("userId", -1); | ||
77 | int accountType = data.getIntExtra("accountType", -1); | ||
78 | String sessionkey = data.getStringExtra("sessionKey"); | ||
79 | userInfo.setText("userid:" + uid + ",accountType:" + accountType + ",sessionKey:" + sessionkey); | ||
80 | btnBind.setVisibility(View.GONE); | ||
81 | } else if (resultCode == RESULT_CANCELED) { | ||
82 | Toast.makeText(this, "operate be canceled", Toast.LENGTH_SHORT).show(); | ||
83 | } | ||
84 | } else if (requestCode == GumpSDK.PAY_REQUEST_CODE) { | ||
85 | if (resultCode == RESULT_OK) { | ||
86 | int code = data.getIntExtra("code", -1); | ||
87 | String msg = data.getStringExtra("msg"); | ||
88 | int orderId = data.getIntExtra("orderId", -1); | ||
89 | String extraInfo = data.getStringExtra("extraInfo"); | ||
90 | Toast.makeText(this, "pay result: " + code + "," + msg + ",orderId:" + orderId + ",extraInfo:" + extraInfo, Toast.LENGTH_SHORT).show(); | ||
91 | } else if (resultCode == RESULT_CANCELED) { | ||
92 | Toast.makeText(this, "operate be canceled", Toast.LENGTH_SHORT).show(); | ||
93 | } | ||
94 | } | ||
95 | super.onActivityResult(requestCode, resultCode, data); | ||
96 | } | ||
97 | |||
98 | @Override | ||
99 | public void onLogout() { | ||
100 | btnLogout.setVisibility(View.GONE); | ||
101 | if (btnBind.getVisibility() == View.VISIBLE) | ||
102 | btnBind.setVisibility(View.GONE); | ||
103 | userInfo.append(" is logout"); | ||
104 | } | ||
105 | |||
106 | } | ||
107 |