调用Httppost时无法启动活动ComponentInfo

时间:2017-11-26 16:10:13

标签: android http-post

我有一个函数需要使用post请求将令牌和mac号写入我的DB。 我从onCreate调用函数,当它调用时我得到: 无法启动活动ComponentInfo

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="web2application.master.com.myapplication">

    <!-- GCM connects to Google Services. -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <!-- GCM requires a Google account. -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <permission android:name="web2application.master.com.myapplication.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="nirtzin.com.pushbots.permission.C2D_MESSAGE" />
    <!-- This app has permission to register and receive dataf message. -->
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.VIBRATE" />



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

            android:theme="@style/AppTheme.NoActionBar">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

我会很乐意提供一些建议

我在android中很新,所以这是我的宣言:

E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                          Process: web2application.master.com.myapplication, PID: 14054
                                                                                          java.lang.RuntimeException: Unable to start activity ComponentInfo{web2application.master.com.myapplication/web2application.master.com.myapplication.MainActivity}: android.os.NetworkOnMainThreadException
                                                                                              at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2326)
                                                                                              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
                                                                                              at android.app.ActivityThread.access$800(ActivityThread.java:147)
                                                                                              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
                                                                                              at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                              at android.os.Looper.loop(Looper.java:135)
                                                                                              at android.app.ActivityThread.main(ActivityThread.java:5264)
                                                                                              at java.lang.reflect.Method.invoke(Native Method)
                                                                                              at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:900)
                                                                                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:695)
                                                                                           Caused by: android.os.NetworkOnMainThreadException
                                                                                              at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147)
                                                                                              at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
                                                                                              at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
                                                                                              at java.net.InetAddress.getAllByName(InetAddress.java:215)
                                                                                              at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
                                                                                              at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
                                                                                              at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
                                                                                              at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
                                                                                              at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
                                                                                              at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
                                                                                              at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
                                                                                              at web2application.master.com.myapplication.MainActivity.writeTokenAndMacToDB(MainActivity.java:964)
                                                                                              at web2application.master.com.myapplication.MainActivity.onCreate(MainActivity.java:300)
                                                                                              at android.app.Activity.performCreate(Activity.java:5975)
                                                                                              at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
                                                                                              at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
                                                                                              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
                                                                                              at android.app.ActivityThread.access$800(ActivityThread.java:147) 
                                                                                              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281) 
                                                                                              at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                              at android.os.Looper.loop(Looper.java:135) 
                                                                                              at android.app.ActivityThread.main(ActivityThread.java:5264) 
                                                                                              at java.lang.reflect.Method.invoke(Native Method) 
                                                                                              at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:900) 
                                                                                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:695)

完整的logcat错误:

file1=open("filex.txt","r")
line=file1.readline()
for line in file1:
   print(line,end="")

0 个答案:

没有答案