gpt4 book ai didi

android - 如何在 Android Studio 中使用 Google Plus 集成

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:05:25 34 4
gpt4 key购买 nike

我正在制作应用程序,我想将它与 G+ 集成,让用户使用 Google 帐户登录。我使用 Android Studio 创建应用。

我在 Stack Overflow 上阅读了很多问题和答案,但我无法修复我的应用!

以下是我执行的步骤:
1. 添加google-play-services.jar到我项目的libs文件夹
2. 在Android-Studio project explorer中点击jar文件的“Add As Library”
3. 将web example中的脚本添加到java文件
4. 将 google-play-services.jar 库添加到 Build.Gradle 文件
5. 启动应用程序使其崩溃

问题是:如何将 Google+ 集成添加到使用 Android Studio 制作的应用程序中,我做错了什么吗?谢谢您的帮助

这是我的源代码:

Java 类:

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks;
import com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener;
import com.google.android.gms.plus.PlusClient;

public class StartActivity extends Activity implements View.OnClickListener, ConnectionCallbacks, OnConnectionFailedListener {

private static final String TAG = "ExampleActivity";
private static final int REQUEST_CODE_RESOLVE_ERR = 9000;

private ProgressDialog mConnectionProgressDialog;
private PlusClient mPlusClient;
private ConnectionResult mConnectionResult;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loading_screen);

mPlusClient = new PlusClient.Builder(this, this, this)
.setVisibleActivities("http://schemas.google.com/AddActivity", "http://schemas.google.com/BuyActivity")
.build();

mConnectionProgressDialog = new ProgressDialog(this);
mConnectionProgressDialog.setMessage("Signing in...");

initializeSplashElements();

}


/// *** /// PLUS INTEGRATION /// *** ////

@Override
protected void onStart() {
super.onStart();
mPlusClient.connect();
}

@Override
protected void onStop() {
super.onStop();
mPlusClient.disconnect();
}

@Override
public void onConnectionFailed(ConnectionResult result) {
if (result.hasResolution()) {
try {
result.startResolutionForResult(this, REQUEST_CODE_RESOLVE_ERR);
} catch (IntentSender.SendIntentException e) {
mPlusClient.connect();
}
}
// Save the result and resolve the connection failure upon a user click.
mConnectionResult = result;
}

@Override
protected void onActivityResult(int requestCode, int responseCode, Intent intent) {
if (requestCode == REQUEST_CODE_RESOLVE_ERR && responseCode == RESULT_OK) {
mConnectionResult = null;
mPlusClient.connect();
}
}

@Override
public void onConnected(Bundle bundle) {
String accountName = mPlusClient.getAccountName();
Toast.makeText(this, accountName + " is connected.", Toast.LENGTH_LONG).show();
}

@Override
public void onDisconnected() {
Log.d(TAG, "disconnected");
}

/// *** /// PLUS INTEGRATION /// *** ///

(...)

}

布局 XML:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".StartActivity"
android:clickable="false"
android:background="@drawable/ziel_pomar_tlo">

<ImageView
android:layout_width="fill_parent"
android:layout_height="150dp"
android:id="@+id/splashLogo"
android:src="@drawable/catch_up_logo_flatten"
android:contentDescription="@string/catchup_logo_describe"
android:layout_marginTop="40dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:focusable="false"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/loading_3dot"
android:id="@+id/loadingText"
android:enabled="true"
android:gravity="center"
android:textSize="40dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginLeft="35dp"
android:layout_marginRight="35dp"
android:layout_marginBottom="35dp"/>

<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/scrollView"
android:layout_above="@+id/loadingText"
android:layout_below="@+id/splashLogo"
android:layout_margin="10dp"
android:layout_alignParentEnd="false"
android:layout_centerHorizontal="true">

<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:clickable="false"
>

<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:id="@+id/gps_row">

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/loading_screen_no_gps"
android:id="@+id/gps_desc"
android:textSize="20dp"/>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="3"
android:layout_marginTop="10dp">

<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/loading_screen_no_gps_settings"
android:id="@+id/gps_settings"
android:layout_weight="2"/>

<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/loading_screen_no_gps_ok"
android:id="@+id/gps_fixed"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/web_row"
android:layout_gravity="bottom|top"
android:layout_marginTop="20dp">

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/loading_screen_no_web"
android:id="@+id/web_desc"
android:textSize="20dp"/>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="3"
android:layout_marginTop="10dp">

<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/loading_screen_no_web_settings"
android:id="@+id/web_wifi_settings"
android:layout_weight="1"/>

<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/loading_screen_no_web_settings2"
android:id="@+id/web_3g_settings"
android:layout_weight="1"/>

<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/loading_screen_no_web_ok"
android:id="@+id/web_fixed"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>

</RelativeLayout>

Build.Gradle:

buildscript {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'

dependencies {
compile files('libs/android-support-v4.jar', 'libs/google-play-services.jar')
}

android {
compileSdkVersion 17
buildToolsVersion "17.0.0"

defaultConfig {
minSdkVersion 11
targetSdkVersion 17
compileSdkVersion 17
}
}

最佳答案

您可以使用 Google Repository,而无需在代码中导入任何库 (.jar)

更新:如果您正在寻找 Google(或第三方)库,您可以查看:http://gradleplease.appspot.com/ (作者:Google 开发人员 Chris Broadfoot)

dependencies {
compile 'com.google.android.gms:play-services:4.4.52'
compile 'com.android.support:support-v4:19.1.0'
// compile files('libs/android-support-v4.jar') // OLD: can remove

// Other useful library
// compile 'com.android.support:appcompat-v7:19.1.0'
// compile 'com.android.support:gridlayout-v7:19.1.0'
// compile 'com.android.support:mediarouter-v7:19.1.0'
// compile 'com.android.support:support-v13:19.1.0'

// Note: these libraries require the "Google Repository" and "Android Repository"
// to be installed via the SDK manager.
}

引用:https://plus.google.com/+AndroidDevelopers/posts/4Yhpn6p9icf

关于android - 如何在 Android Studio 中使用 Google Plus 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17135158/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com