我使用 Android Studio,将“Android 支持库”更新到版本后连接到 Parse.com 时遇到问题。 22. 以前有效的项目现在不起作用了。 经过几个小时的搜索和测试,我决定仅为此打开一个清晰的项目,但问题仍然存在。
MainActivity 类
public class MainActivity extends Activity {
List<ParseObject> data;
List<String> nameList;
String[] name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String appId = " ********* ";
String clientId = " ********* ";
Parse.initialize(getApplicationContext(), appId, clientId);
ParseQuery<ParseObject> query = ParseQuery.getQuery("test");
try {
data = query.find();
}catch (ParseException e){
Log.i("myParseExceptionLog", "Can't connect to test table at parse");
}
nameList = new ArrayList<String>();
for (int i=0 ; i < data.size(); i++){
nameList.add(data.get(i).getString("name"));
}
name = nameList.toArray(new String[nameList.size()]);
TextView myTV = (TextView)findViewById(R.id.test);
myTV.setText(name[0]);
}
}
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView
android:id="@+id/test"
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
AndroidManifast.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="shachar.com.parsetest" >
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
我知道我需要在 build.gradle 中依赖我的 jar,但请查看注释。 无论如何,它出现在项目结构中,我可以从我的类中的解析导入库。 当我尝试在 build.gradle 中依赖并同步删除的 Manifat 时。
黑屏 2 分钟后,应用程序记得崩溃并给我带来 NullPointerExpiton(因为“数据”为空)。
LogCat 错误
03-17 16:46:17.686 18427-18427/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: shachar.com.parsetest, PID: 18427
java.lang.RuntimeException: Unable to start activity ComponentInfo{shachar.com.parsetest/shachar.com.parsetest.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2338)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5292)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at shachar.com.parsetest.MainActivity.onCreate(MainActivity.java:39)
at android.app.Activity.performCreate(Activity.java:5264)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2302)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5292)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
at dalvik.system.NativeStart.main(Native Method)
03-17 16:46:18.212 672-695/? E/﹕ Could not open '/data/data/hotplug/cmd'
03-17 16:46:18.212 672-695/? E/﹕ error : 2, No such file or directory
03-17 16:46:18.245 672-3024/? E/Sensors﹕ new acc setDelay handle(0),ns(20000000) err! go to hwmsen
03-17 16:46:18.323 672-3023/? E/﹕ Could not open '/data/data/hotplug/cmd'
03-17 16:46:18.323 672-3023/? E/﹕ error : 2, No such file or directory
我知道什么?
我缺少什么?
新的“Android 支持库”版本有什么变化吗?
编辑:
我刚刚做了另一个测试,我从他们的网站下载了完整的示例解析,其中包含所有设置和最后的解析版本。我重新安装了 Android 支持库,但仍然无法正常工作
最佳答案
是的,第 39 行似乎有空值,您可以将行号添加到其中,以便我们可以看到该空值被抛出的位置吗?
关于java - 更新 'Android Support Libary' v22 后无法连接到 Parse.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29102733/