问题描述
现在我使用静态布尔值来判断初始化何时发生.有没有更简单的方法可以知道我已经调用了初始化?
Right now I am using a static boolean to tell when the initialization has occurred. Is there an easier way to know that I have already called initialize?
谢谢!!!
解决了!!!!非常感谢您的评论.您需要在扩展应用程序的类中初始化解析,然后将其作为应用程序(而不是其他活动)添加到清单文件中.
SOLVED!!!! Thank you so much for your comments. You need to initialize parse in a class that extends an application, and then add it to the manifest file as an application (not an other activity).
:)
这是我使用 Parse 的类:
This is my class to use Parse:
package com.example.myapp;
import com.parse.Parse;
import android.app.Application;
public class UseParse extends Application {
@Override
public void onCreate() {
super.onCreate();
Parse.initialize(this, "id", "key");
}
}
这是我的安卓清单文件
This is my android manifest file
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0"
>
<uses-sdk android:minSdkVersion="11"
android:targetSdkVersion="14"/>
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CALL_PHONE" android:required="false" />
<permission android:protectionLevel="signature"
android:name="com.example.myapp.permission.C2D_MESSAGE" />
<uses-permission android:name="com.example.myapp.permission.C2D_MESSAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:screenOrientation="portrait"
android:label="@string/app_name"
android:name ="com.example.myapp.UseParse"
android:theme="@style/AppTheme" >
<activity
android:screenOrientation="portrait"
android:name="com.example.myapp.SplashActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:theme="@style/FullscreenTheme" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".LoginActivity" />
//... more
<service android:name="com.parse.PushService" />
<receiver android:name="com.parse.ParseBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
<receiver android:name="com.parse.GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.example.myapp" />
</intent-filter>
</receiver>
</application>
</manifest>
推荐答案
创建一个应用程序类并在 onCreate 中初始化解析.
Make a Application Class and in onCreate initialize parse.
public class YourApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Parse.initialize(this, "id","key");
}
}
在此之后它不会被一次又一次地调用.
After this it wont be called again and again.
也在你的清单中声明它
<application
android:name="com.you.yourapp.YourApplication "
这是您初始化它的唯一地方.而不是在登录活动或其他任何地方.
This is the only place where you initialize it. And not in the Login Activity or anywhere else.
这篇关于如何知道 Parse.initialize() 何时已被调用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!