Commit 7cbcf7845c6ec7aa4f0cb12e7ed38e81e8e6beb9
1 parent
f60c7c1fb6
Exists in
master
add sample project
Showing 22 changed files with 400 additions and 0 deletions Inline Diff
- .gitignore
- CohesiveSDKSample/.classpath
- CohesiveSDKSample/.project
- CohesiveSDKSample/AndroidManifest.xml
- CohesiveSDKSample/assets/cohesive.conf
- CohesiveSDKSample/libs/CohesiveSDK.jar
- CohesiveSDKSample/proguard-project.txt
- CohesiveSDKSample/project.properties
- CohesiveSDKSample/res/drawable-hdpi/ic_launcher.png
- CohesiveSDKSample/res/drawable-hdpi/sample_yuanbao.png
- CohesiveSDKSample/res/drawable-mdpi/ic_launcher.png
- CohesiveSDKSample/res/drawable-xhdpi/ic_launcher.png
- CohesiveSDKSample/res/layout/activity_main.xml
- CohesiveSDKSample/res/values-v11/styles.xml
- CohesiveSDKSample/res/values-v14/styles.xml
- CohesiveSDKSample/res/values-w820dp/dimens.xml
- CohesiveSDKSample/res/values/dimens.xml
- CohesiveSDKSample/res/values/strings.xml
- CohesiveSDKSample/res/values/styles.xml
- CohesiveSDKSample/src/com/gump/cohesivesdk/sample/MainActivity.java
- CohesiveSDKSample/src/com/gump/cohesivesdk/sample/MyApplication.java
- CohesiveSDKSample/src/com/gump/cohesivesdk/sample/MySplashActivity.java
.gitignore
File was created | 1 | CohesiveSDKSample/bin | |
2 | CohesiveSDKSample/gen |
CohesiveSDKSample/.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 |
CohesiveSDKSample/.project
File was created | 1 | <?xml version="1.0" encoding="UTF-8"?> | |
2 | <projectDescription> | ||
3 | <name>CohesiveSDKSample</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 |
CohesiveSDKSample/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.tencent.tmgp.testgump" | ||
4 | android:versionCode="1" | ||
5 | android:versionName="1.0" > | ||
6 | |||
7 | <uses-sdk | ||
8 | android:minSdkVersion="8" | ||
9 | android:targetSdkVersion="21" /> | ||
10 | |||
11 | <uses-permission android:name="android.permission.BLUETOOTH" /> | ||
12 | <uses-permission android:name="android.permission.WRITE_SETTINGS" /> | ||
13 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | ||
14 | <uses-permission android:name="android.permission.INTERNET" /> | ||
15 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | ||
16 | |||
17 | <application | ||
18 | android:name="com.gump.cohesivesdk.sample.MyApplication" | ||
19 | android:allowBackup="true" | ||
20 | android:icon="@drawable/ic_launcher" | ||
21 | android:label="@string/app_name" > | ||
22 | <activity | ||
23 | android:name="com.gump.cohesivesdk.sample.MainActivity" | ||
24 | android:label="@string/app_name" > | ||
25 | </activity> | ||
26 | <activity android:name="com.gump.cohesivesdk.sample.MySplashActivity" > | ||
27 | <intent-filter> | ||
28 | <action android:name="android.intent.action.MAIN" /> | ||
29 | |||
30 | <category android:name="android.intent.category.LAUNCHER" /> | ||
31 | </intent-filter> | ||
32 | </activity> | ||
33 | </application> | ||
34 | |||
35 | </manifest> |
CohesiveSDKSample/assets/cohesive.conf
File was created | 1 | { | |
2 | "ChannelId":"100700", | ||
3 | "MainClass":"PJ", | ||
4 | "CAId":"1267", | ||
5 | "CAKey":"Nf4cl66bcnlJ2taJ5i9guRdaokriRJJp", | ||
6 | "CASecret":"Nf4cl66bcnlJ2taJ5i9guRdaokriRJJp" | ||
7 | } | ||
8 |
CohesiveSDKSample/libs/CohesiveSDK.jar
No preview for this file type
CohesiveSDKSample/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 |
CohesiveSDKSample/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 | target=android-19 | ||
15 |
CohesiveSDKSample/res/drawable-hdpi/ic_launcher.png
9.18 KB
CohesiveSDKSample/res/drawable-hdpi/sample_yuanbao.png
4.85 KB
CohesiveSDKSample/res/drawable-mdpi/ic_launcher.png
5.11 KB
CohesiveSDKSample/res/drawable-xhdpi/ic_launcher.png
14 KB
CohesiveSDKSample/res/layout/activity_main.xml
File was created | 1 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
2 | xmlns:tools="http://schemas.android.com/tools" | ||
3 | android:layout_width="match_parent" | ||
4 | android:layout_height="match_parent" | ||
5 | android:orientation="vertical" | ||
6 | android:paddingBottom="@dimen/activity_vertical_margin" | ||
7 | android:paddingLeft="@dimen/activity_horizontal_margin" | ||
8 | android:paddingRight="@dimen/activity_horizontal_margin" | ||
9 | android:paddingTop="@dimen/activity_vertical_margin" | ||
10 | tools:context="com.gump.cohesivesdk.sample.MainActivity" > | ||
11 | |||
12 | <TextView | ||
13 | android:id="@+id/info" | ||
14 | android:layout_width="match_parent" | ||
15 | android:layout_height="wrap_content" | ||
16 | android:gravity="center_horizontal" /> | ||
17 | |||
18 | <Button | ||
19 | android:id="@+id/login" | ||
20 | android:layout_width="match_parent" | ||
21 | android:layout_height="wrap_content" | ||
22 | android:text="login" /> | ||
23 | |||
24 | <Button | ||
25 | android:id="@+id/pay" | ||
26 | android:layout_width="match_parent" | ||
27 | android:layout_height="wrap_content" | ||
28 | android:layout_below="@id/login" | ||
29 | android:text="pay" /> | ||
30 | |||
31 | </LinearLayout> |
CohesiveSDKSample/res/values-v11/styles.xml
File was created | 1 | <resources> | |
2 | |||
3 | |||
4 | </resources> | ||
5 |
CohesiveSDKSample/res/values-v14/styles.xml
File was created | 1 | <resources> | |
2 | |||
3 | |||
4 | </resources> | ||
5 |
CohesiveSDKSample/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 |
CohesiveSDKSample/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 |
CohesiveSDKSample/res/values/strings.xml
File was created | 1 | <?xml version="1.0" encoding="utf-8"?> | |
2 | <resources> | ||
3 | |||
4 | <string name="app_name">CohesiveSDKSample</string> | ||
5 | </resources> | ||
6 |
CohesiveSDKSample/res/values/styles.xml
File was created | 1 | <resources> | |
2 | |||
3 | |||
4 | </resources> | ||
5 |
CohesiveSDKSample/src/com/gump/cohesivesdk/sample/MainActivity.java
File was created | 1 | package com.gump.cohesivesdk.sample; | |
2 | |||
3 | import android.app.Activity; | ||
4 | import android.app.ProgressDialog; | ||
5 | import android.content.Intent; | ||
6 | import android.os.Bundle; | ||
7 | import android.util.Log; | ||
8 | import android.view.View; | ||
9 | import android.widget.Button; | ||
10 | import android.widget.TextView; | ||
11 | |||
12 | import com.gump.cohesivesdk.CohesiveApi; | ||
13 | import com.gump.cohesivesdk.callback.ExitCallback; | ||
14 | import com.gump.cohesivesdk.callback.InitialCallback; | ||
15 | import com.gump.cohesivesdk.callback.PaymentListener; | ||
16 | import com.gump.cohesivesdk.callback.UserStateListener; | ||
17 | import com.gump.cohesivesdk.model.GPUser; | ||
18 | import com.gump.cohesivesdk.model.Payment; | ||
19 | import com.tencent.tmgp.testgump.R; | ||
20 | |||
21 | public class MainActivity extends Activity implements UserStateListener { | ||
22 | private static final String TAG = "MainActivity"; | ||
23 | |||
24 | CohesiveApi cohesiveApi; | ||
25 | private Button btnLogin; | ||
26 | private Button btnPay; | ||
27 | private TextView tvInfo; | ||
28 | private boolean isLogin = false; | ||
29 | |||
30 | private ProgressDialog prog; | ||
31 | |||
32 | @Override | ||
33 | protected void onCreate(Bundle savedInstanceState) { | ||
34 | super.onCreate(savedInstanceState); | ||
35 | setContentView(R.layout.activity_main); | ||
36 | |||
37 | CohesiveApi.setDebugging(true); | ||
38 | cohesiveApi = CohesiveApi.build(this); | ||
39 | cohesiveApi.onCreate(this, getIntent()); | ||
40 | cohesiveApi.init(this, "1002", new InitialCallback() { | ||
41 | |||
42 | @Override | ||
43 | public void onInitComplete(int result) { | ||
44 | Log.d(TAG, "sdk init completed result:" + result); | ||
45 | if (result == 0) | ||
46 | setListeners(); | ||
47 | } | ||
48 | }); | ||
49 | cohesiveApi.setUserListener(this); | ||
50 | btnLogin = (Button) findViewById(R.id.login); | ||
51 | btnPay = (Button) findViewById(R.id.pay); | ||
52 | tvInfo = (TextView) findViewById(R.id.info); | ||
53 | tvInfo.setText("SDK Version:" + CohesiveApi.getVersion()); | ||
54 | } | ||
55 | |||
56 | private void setListeners() { | ||
57 | btnLogin.setOnClickListener(new View.OnClickListener() { | ||
58 | |||
59 | @Override | ||
60 | public void onClick(View v) { | ||
61 | prog = ProgressDialog.show(MainActivity.this, "", isLogin ? "正在注销" : "正在登录"); | ||
62 | if (isLogin) | ||
63 | cohesiveApi.logout(MainActivity.this); | ||
64 | else | ||
65 | cohesiveApi.login(MainActivity.this); | ||
66 | } | ||
67 | }); | ||
68 | btnPay.setOnClickListener(new View.OnClickListener() { | ||
69 | |||
70 | @Override | ||
71 | public void onClick(View v) { | ||
72 | Bundle payinfo = new Bundle(); | ||
73 | payinfo.putString("orderId", System.currentTimeMillis() + ""); | ||
74 | payinfo.putString("product", "coin"); | ||
75 | payinfo.putString("extra", "buy 10 coins"); | ||
76 | payinfo.putLong("amount", 1); | ||
77 | cohesiveApi.goPay(MainActivity.this, payinfo, new PaymentListener() { | ||
78 | |||
79 | @Override | ||
80 | public void onPaySuccess(Payment arg0) { | ||
81 | Log.i(TAG, arg0.toString()); | ||
82 | } | ||
83 | |||
84 | @Override | ||
85 | public void onPayError(int code) { | ||
86 | Log.i(TAG, "pay Error:" + code); | ||
87 | } | ||
88 | }); | ||
89 | } | ||
90 | }); | ||
91 | } | ||
92 | |||
93 | @Override | ||
94 | public void onBackPressed() { | ||
95 | cohesiveApi.exit(this, new ExitCallback() { | ||
96 | |||
97 | @Override | ||
98 | public void onNo3rdExiterProvide() { | ||
99 | // 退出窗口需要游戏自定义,并且实现资源回收,杀死进程等退出逻辑 | ||
100 | // TODO 实现退出窗口 | ||
101 | cohesiveApi.appDestroy(MainActivity.this); | ||
102 | MainActivity.super.onBackPressed(); | ||
103 | } | ||
104 | |||
105 | @Override | ||
106 | public void onExit() { | ||
107 | // 退出窗口由渠道提供,游戏只须实现资源回收,杀死进程等退出逻辑 | ||
108 | cohesiveApi.appDestroy(MainActivity.this); | ||
109 | // 调用游戏退出逻辑 | ||
110 | MainActivity.super.onBackPressed(); | ||
111 | } | ||
112 | }); | ||
113 | } | ||
114 | |||
115 | @Override | ||
116 | protected void onNewIntent(Intent intent) { | ||
117 | super.onNewIntent(intent); | ||
118 | cohesiveApi.onNewIntent(this, intent); | ||
119 | } | ||
120 | |||
121 | @Override | ||
122 | protected void onActivityResult(int requestCode, int resultCode, Intent data) { | ||
123 | super.onActivityResult(requestCode, resultCode, data); | ||
124 | cohesiveApi.onActivityResult(requestCode, resultCode, data); | ||
125 | } | ||
126 | |||
127 | @Override | ||
128 | protected void onPause() { | ||
129 | super.onPause(); | ||
130 | cohesiveApi.onPause(this); | ||
131 | } | ||
132 | |||
133 | @Override | ||
134 | protected void onResume() { | ||
135 | super.onResume(); | ||
136 | cohesiveApi.onResume(this); | ||
137 | } | ||
138 | |||
139 | @Override | ||
140 | protected void onDestroy() { | ||
141 | super.onDestroy(); | ||
142 | cohesiveApi.onDestroy(this); | ||
143 | } | ||
144 | |||
145 | @Override | ||
146 | protected void onRestart() { | ||
147 | super.onRestart(); | ||
148 | cohesiveApi.onRestart(this); | ||
149 | } | ||
150 | |||
151 | @Override | ||
152 | protected void onStop() { | ||
153 | super.onStop(); | ||
154 | cohesiveApi.onStop(this); | ||
155 | } | ||
156 | |||
157 | @Override | ||
158 | public void onLoginFailed(String arg0) { | ||
159 | Log.i(TAG, "Login Failed:" + arg0); | ||
160 | if (prog != null) | ||
161 | prog.cancel(); | ||
162 | } | ||
163 | |||
164 | @Override | ||
165 | public void onLoginSuccess(GPUser arg0) { | ||
166 | Log.i(TAG, "Login success:" + arg0.toString()); | ||
167 | btnLogin.setText("logout"); | ||
168 | isLogin = true; | ||
169 | if (prog != null) | ||
170 | prog.cancel(); | ||
171 | } | ||
172 | |||
173 | @Override | ||
174 | public void onLogout() { | ||
175 | Log.i(TAG, "logout"); | ||
176 | btnLogin.setText("login"); | ||
177 | isLogin = false; | ||
178 | if (prog != null) | ||
179 | prog.cancel(); | ||
180 | } | ||
181 | |||
182 | } | ||
183 |
CohesiveSDKSample/src/com/gump/cohesivesdk/sample/MyApplication.java
File was created | 1 | package com.gump.cohesivesdk.sample; | |
2 | |||
3 | import com.gump.cohesivesdk.CohesiveApplication; | ||
4 | |||
5 | import android.content.Context; | ||
6 | import android.support.multidex.MultiDex; | ||
7 | import android.support.multidex.MultiDexApplication; | ||
8 | |||
9 | public class MyApplication extends CohesiveApplication { | ||
10 | |||
11 | // @Override | ||
12 | // protected void attachBaseContext(Context base) { | ||
13 | // super.attachBaseContext(base); | ||
14 | // MultiDex.install(this); | ||
15 | // } | ||
16 | |||
17 | } | ||
18 |
CohesiveSDKSample/src/com/gump/cohesivesdk/sample/MySplashActivity.java
File was created | 1 | package com.gump.cohesivesdk.sample; | |
2 | |||
3 | import android.content.Intent; | ||
4 | |||
5 | import com.gump.cohesivesdk.SplashActivity; | ||
6 | |||
7 | public class MySplashActivity extends SplashActivity { | ||
8 | |||
9 | @Override | ||
10 | public void onSplashStop() { | ||
11 | Intent intent = new Intent(this,MainActivity.class); | ||
12 | startActivity(intent); | ||
13 | finish(); | ||
14 | } | ||
15 | |||
16 | } | ||
17 |