Я работаю над проектом сетевой коммуникации в android, но моя доза приложения не работает! после некоторой отладки я узнаю, что каждый сетевой запрос имеет нулевой ответ от системы.Сетевые запросы возвращают null - Android
я пытался так много способов, таких как: 1) жесткий перезагрузить телефон 2) добавление всех сетевых разрешений для файла манифеста
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
3), используя локальную сеть (мой телефон в качестве сервера) 4) позволяет всем приложениям подключаться к сети: настройка> сетевые приложения> ...
но! ничего не произошло ...
это моя похожа ссылка проблемы, но нет ответа в этой теме: can't connect to internet in ONLY in my android app. Each method to connect internet returns null
сеть работает на моем телефоне, потому что некоторые приложения, такие как телеграмма и хром работают хорошо!
и здесь есть что-то смешное, когда я копирую и прохожу этот код в простой проект java, а не проект андроида, он работает хорошо!
потому что я хотел выяснить, в чем проблема, я просто скопирую 3 простых строки кодов в простой проект андроида, но все равно ничего не произошло!
файл манифеста:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.dltests"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET"/>
<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/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
расположение файла
<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"
tools:context="${relativePackage}.${activityClass}" >
<TextView
android:id="@+id/hello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
исходный файл
package com.example.dltests;
import java.net.HttpURLConnection;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView mTextView = (TextView) findViewById(R.id.hello);
try
{
URL mUrl = new URL("http://192.168.1.53:8080/some.zip");
HttpURLConnection mHttpURLConnection = (HttpURLConnection) mUrl.openConnection();
mTextView.setText(mHttpURLConnection.getContentLength());
}
catch (Exception e)
{
mTextView.setText("ERROR: " + e.getMessage());
}
}
}
и результат: ОШИБКА: пустой
Запишите исключение, чтобы увидеть NetworkOnMainThreadException, а затем подумайте, что означает название исключения. – laalto
Вы уверены, что ваш телефон может использовать этот URL? Что произойдет, если вы используете веб-браузер телефона, чтобы перейти на страницу http://192.168.1.53:8080/HiSuiteSetup_2.3.55.1.zip? – elevine
@laalto: да точно! это ошибка: android.os.NetworkOnMainThreadException – user3276720