首页 > 解决方案 > 使用 android studio 将数据导出到谷歌表:“不幸的是,我的应用程序已停止”

问题描述

我正在尝试在 youtube 上应用有关在 google sheet 上发布一些数据的教程:

https://www.youtube.com/watch?v=GyuJ2GtpZd0

解释得很好,我做的一切都和那个人一样,但我不明白为什么我的应用程序停止了......我设法毫无问题地构建它(我没有更改布局,我只是添加了类“ Http请求”)。

我对java没有任何了解,我只是复制了教程,代码如下:

package com.example.test;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

import java.net.URLEncoder;

public class MainActivity extends Activity {

    final String myTag = "DocsUpload";



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.i(myTag, "OnCreate()");
        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                postData();

            }
        });
        t.start();
    }

    public void postData() {

        String fullUrl = "https://docs.google.com/forms/d/e/1FAIpQLSeADSNYrRj2c8ctLn5Q0M7taM6ayYnykFbp3oZI_xorAt6gKg/formResponse";
        HttpRequest mReq = new HttpRequest();
        String col1 = "Hello";

        String data = "entry.1529019979=" + URLEncoder.encode(col1);
        String response = mReq.sendPost(fullUrl, data);
        Log.i(myTag, response);
    }

}

以下是显示的错误:

10-28 18:23:35.254 10736-10736/? E/libprocessgroup: failed to make and chown /acct/uid_10057: Read-only file system
10-28 18:23:35.353 10736-10752/? E/Your App Name Here: HttpUtils: java.lang.SecurityException: Permission denied (missing INTERNET permission?)
10-28 18:23:35.354 10736-10752/? E/AndroidRuntime: FATAL EXCEPTION: Thread-602
    Process: com.example.test, PID: 10736
    java.lang.NullPointerException: println needs a message
        at android.util.Log.println_native(Native Method)
        at android.util.Log.i(Log.java:160)
        at com.example.test.MainActivity.postData(MainActivity.java:40)
        at com.example.test.MainActivity$1.run(MainActivity.java:23)
        at java.lang.Thread.run(Thread.java:818)
10-28 18:23:35.694 10736-10753/? E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf
10-28 18:23:35.695 10736-10753/? E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008824

请问,有人可以帮我吗?这份报告中的任何内容我都看不懂...

非常感谢!

标签: javaandroid

解决方案


您必须在文件中添加INTERNET权限AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

推荐阅读