Für die Verwendung von Google-Plus-Integration in Android Studio
Mache ich Anwendung und ich wollen zu integrieren, es mit G+, um Benutzer-login mit dem Google-Konto. Erstellen app, die ich verwenden Android Studio.
Ich gelesen, dass viele Fragen und Antworten auf Stack Overflow, aber ich kann nicht fix meine app!
Hier sind die Schritte, die ich vorgenommen:
1. Hinzufügen google-play-services.jar zu libs-Ordner von meinem Projekt
2. Klicken Sie auf "Fügen Sie die Bibliothek" auf die jar-Datei in Android-Studio-Projekt-explorer
3. Fügen Sie das Skript zum java-Datei aus dem Beispiel in der web
4. Hinzufügen google-play-services.jar Bibliothek zu Bauen.Gradle Datei
5. Starten Sie die app macht es crash
Die Frage ist: Wie Google+ ingeration der Anwendung mit Android Studio, mache ich etwas falsch???, Danke, dass Ihr für Sie helfen.
Hier meine Quellcodes:
Java-Klasse:
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 /// *** ///
(...)
}
Layout-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>
Bauen.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
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie mit Google-Repository, ohne dass import-alle libs (.jar) in Ihrem code
UPDATE: wenn Sie auf der Suche nach Google (oder der Dritte) die Bibliothek, die Sie prüfen können: http://gradleplease.appspot.com/ (von Chris Broadfoot, ein Google-Entwickler)
Ref: https://plus.google.com/+AndroidDevelopers/posts/4Yhpn6p9icf
4.4.52
Teil mit?Google-plus-integration in android studio ist sehr einfach, befolgen Sie diese Schritte.
1.Add-play-Dienste-Abhängigkeit zu erstellen.gradle.
2.Fügen Sie die json-Konfigurationsdatei, um Ihre app-Verzeichnis können Sie es von Google Entwickler-Konsole
3.Bauen GoogleSignInOption und GoogleApiClient und starten Sie das google-login auf den button klicken..
weitere Details können Sie mit diesem tutorial
Google-plus-Integration in android studio