填充Android清单以使用parse.com SDK

时间:2015-12-05 11:56:26

标签: android parse-platform

我是Android新手,并尝试合并parse.com sdk。我怀疑我的android清单在解析活动周围不正确。它在初学者应用程序中工作正常,我试图将其转移到我自己的应用程序。其余文件应该没问题。

<?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
            package="com.jorc.fleetmanagement">
                <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
                <uses-permission android:name="android.permission.INTERNET" />
                <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


            <application
                android:allowBackup="true"
                android:icon="@mipmap/ic_launcher"
                android:label="@string/app_name"
                android:supportsRtl="true"
                android:theme="@style/AppTheme">
                  <meta-data
                    android:name="com.google.android.geo.API_KEY"
                    android:value="@string/google_maps_key" />

                <activity
                    android:name=".MapsActivity"
                    android:label="@string/legal_info"/>
                <activity
                    android:name=".ImageList"
                    android:label="@string/image_info"/>
                <activity
                    android:name=".MainActivity"
                    android:label="@string/app_name"
                    android:theme="@style/AppTheme.NoActionBar">
                    <intent-filter>
                        <action android:name="android.intent.action.MAIN" />

                        <category android:name="android.intent.category.LAUNCHER" />
                    </intent-filter>
                </activity>
                <activity
                android:name=".StarterApplication"
                android:label="@string/app_name" >
                <meta-data
                    android:name="com.parse.APPLICATION_ID"
                    android:value="@string/parse_app_id" />
                <meta-data
                    android:name="com.parse.CLIENT_KEY"
                    android:value="@string/parse_client_key" />
               </activity>


            </application>

    </manifest>

StarterApplication.java也在下面。

package com.jorc.fleetmanagement;

import android.app.Application;

import com.parse.Parse;
import com.parse.ParseACL;
import com.parse.ParseUser;


public class StarterApplication extends Application {

  @Override
  public void onCreate() {
    super.onCreate();

    // Enable Local Datastore.
    Parse.enableLocalDatastore(this);

    // Add your initialization code here
    Parse.initialize(this,"my id", "my key");

    ParseUser.enableAutomaticUser();
    ParseACL defaultACL = new ParseACL();
    // Optionally enable public read access.
    // defaultACL.setPublicReadAccess(true);
    ParseACL.setDefaultACL(defaultACL, true);
  }
}

我的app build.gradle也在下面。当我从jcenter改为mavern时,不确定这个mavern和jcenter是什么意思(这是正确的事情)

apply plugin: 'com.android.application'
apply plugin: 'com.parse'

buildscript {
  repositories {
    mavenCentral()
    maven { url 'https://maven.parse.com/repo' }
  }
  dependencies {
    classpath 'com.parse.tools:gradle:1.+'
  }
}

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.jorc.fleetmanagement"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.google.android.gms:play-services:8.3.0'
    compile 'com.android.support:support-v4:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.parse.bolts:bolts-tasks:1.3.0'
    compile 'com.parse:parse-android:1.11.0'
}

错误信息在下面是相当确定的,因为解析没有连接并获得任何结果。

12-05 12:07:33.106 1858-1858 / com.jorc.fleetmanagement D / score:错误:java.lang.NullPointerException:尝试调用虚方法&#39; java.io.File com.parse。 ParsePlugins.getParseDir()&#39;在null对象引用上 12-05 12:07:33.159 1858-1876 / com.jorc.fleetmanagement W / EGL_emulation:eglSurfaceAttrib未实施 12-05 12:07:33.159 1858-1876 / com.jorc.fleetmanagement W / OpenGLRenderer:无法在表面0xb4319c20上设置EGL_SWAP_BEHAVIOR,错误= EGL_SUCCESS

1 个答案:

答案 0 :(得分:1)

您是否在清单文件中引用StarterApplication。 如果您没有引用它,那么只需创建这样的应用程序标记

而不是将应用程序类引用为活动

        <activity
        android:name=".StarterApplication"
        android:label="@string/app_name" >

像这样编辑你的apllication标签

               <application
                android:name=".StarterApplication" 
                android:allowBackup="true"
                android:icon="@mipmap/ic_launcher"
                android:label="@string/app_name"
                android:supportsRtl="true"
                android:theme="@style/AppTheme">

只需将android:name=".StarterApplication"添加到您的应用标记

即可

然后我认为一切都应该正常工作..