Доступ к интернету

dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Доступ к интернету

Сообщение dimky » 27 май 2013, 14:54

Приветствую всех.

У меня возникла следующая проблема. Приложению необходим доступ в сеть. Установил соотвествующий пермишн, минсдк стоял 4. Все работало.
Поставил минсдк 11 (что-бы активизировать Holo), доступа к интернету нет. Почему так?

brucemax
Сообщения: 117
Зарегистрирован: 01 апр 2012, 16:09
Откуда: Минск
Контактная информация:

Re: Доступ к интернету

Сообщение brucemax » 27 май 2013, 14:58

А что в логах пишет при интернет запросах?

dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Re: Доступ к интернету

Сообщение dimky » 27 май 2013, 14:59

А как посмотреть соотвествующий лог? Я сам его искал, но найти не смог. Вчера вообще скачал сдк только.

dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Re: Доступ к интернету

Сообщение dimky » 28 май 2013, 09:33

Ребят, ну подскажите куда смотреть, что копать?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Доступ к интернету

Сообщение rezak90 » 28 май 2013, 10:16

логи, где логи?
R.id.team
Политика на форуме запрещена

dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Re: Доступ к интернету

Сообщение dimky » 28 май 2013, 10:54

Ну я ж спросил, где посмотреть лог? :)

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Доступ к интернету

Сообщение KamiSempai » 28 май 2013, 11:34

dimky писал(а):Ну я ж спросил, где посмотреть лог? :)
Окошко/вкладка "Log Cat".
Если его нет то:
1) Главное меню/Window/Show view/Other...
2) Затем Android/Log Cat
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Re: Доступ к интернету

Сообщение dimky » 28 май 2013, 11:39

Спасибо.

Лог большой, ничего по поводу доступа к интернету там не обнаружил.
При нажатии кнопки которая запускает соединение в логкате ничего не появляется.
Лог скопировал сюда: http://pastebin.com/NwpXZe08

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Доступ к интернету

Сообщение rezak90 » 28 май 2013, 13:44

та там много чего интересного, например:
05-28 08:37:46.160: E/ActivityThread(661): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cedb18 that was originally bound here
05-28 08:37:46.160: E/ActivityThread(661): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cedb18 that was originally bound here
05-28 08:37:46.160: E/ActivityThread(661): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
05-28 08:37:46.160: E/ActivityThread(661): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
R.id.team
Политика на форуме запрещена

dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Re: Доступ к интернету

Сообщение dimky » 28 май 2013, 18:25

Для меня к сожелению это ничего не говорит. Уверен, что для Вас, как человека с опытом, это говорит о многом. Могли бы поделится своими мыслями по этому поводу. :)

dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Re: Доступ к интернету

Сообщение dimky » 30 май 2013, 18:01

Да, отзывчивость пользователей на высоком уровне конечно... Много чего интересного, но чего, одному резаку известно.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Доступ к интернету

Сообщение Foenix » 30 май 2013, 18:04

а что, так и не решили проблему? а как решали, расскажите.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Re: Доступ к интернету

Сообщение dimky » 30 май 2013, 18:07

Так и не решил. В результате поиска в интернете все сводится к пермишену, у всех у кого возникали такие проблеми, решались после установки пермишена. У меня естественно пермишен стоит. Доступ к сети есть например на minsdk=4, ставлю 11, интернета нет. Описание такой проблемы я не могу найти. Эмулятор переустанавливал...

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Доступ к интернету

Сообщение Foenix » 30 май 2013, 18:16

я вообще в этом не очень понимаю, но так просто сидеть и смотреть на ошибку тоже не годится. Я бы например, сформировала свободный от другого кода тестовый фрагмент и запустила бы его, просто чтобы проверить. Если ничего так и не получится, попробовать не на эмуляторе, а на устройстве (или наоборот), если и тогда ничего, то скинуть проект кому-то проверить, если нету знакомых, то сюда. Но он должен быть максимально простым, т.к. в дебрях кода просто реально нет ни у кого времени разбираться. Мы помогаем по мере сил и за минимально возможное время..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Доступ к интернету

Сообщение Foenix » 30 май 2013, 18:18

ты не обижайся, если ответ за пару минут не приходит, никто не будет за кого-то другого гуглить и искать ответ..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Доступ к интернету

Сообщение KamiSempai » 30 май 2013, 18:55

Похоже, у Вас проблемы не с интернетом, а с AsyncTask который к интернету подключается.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Доступ к интернету

Сообщение Mikhail_dev » 30 май 2013, 21:04

unbindService есть в onPause или onStop? Если нету, то добавить куда-нибудь

xr0m
Сообщения: 131
Зарегистрирован: 06 апр 2013, 14:01

Re: Доступ к интернету

Сообщение xr0m » 30 май 2013, 21:05

Похоже он вовсе AsyncTask не использует. У него утечка.

А зачем для подключения использовать сервис? Странно все, выкладывай коды.

dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Re: Доступ к интернету

Сообщение dimky » 30 май 2013, 21:08

AsyncTask не использую, unbindService тоже нет, т.к. пока не знаю что это.

Код совершенно прост:

Код: Выделить всё

package com.part66online;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener {

	Button btnActTwo;
	
	  @Override
	  public void onCreate(Bundle savedInstanceState) {
	    super.onCreate(savedInstanceState);
	    setContentView(R.layout.main);
	    
	    btnActTwo = (Button) findViewById(R.id.login_button);
	    btnActTwo.setOnClickListener((OnClickListener) this);
	  }
    
    public void onClick(View v) {
      switch (v.getId()) {
      case R.id.login_button:
          final TextView login = (TextView) findViewById(R.id.login);
          final TextView pass = (TextView) findViewById(R.id.pass);
          final TextView test_field = (TextView) findViewById(R.id.text);
              	  
	  
      	CharSequence username = login.getText();
      	CharSequence password = pass.getText();
      	
      	String response = ParseXMLMethods.getXML("http://part66online.com/api/login.php?username=" + username + "&password=" + password);
      	
      	
      	if(response.equals("ok"))
      	{
      	      Intent intent = new Intent(this, ActivityTwo.class);
      	      startActivity(intent);    		
      	}
      	else
      	{
      		test_field.setText(response);           
      	}
        break;
      default:
        break;
      }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}

Код: Выделить всё

package com.part66online;

import java.io.IOException;
import java.io.StringReader;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;


public class ParseXMLMethods {

	public final static Document XMLfromString(String xml){
		
		Document doc = null;
		
		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        try {
        	
			DocumentBuilder db = dbf.newDocumentBuilder();
			
			InputSource is = new InputSource();
	        is.setCharacterStream(new StringReader(xml));
	        doc = db.parse(is); 
	        
		} catch (ParserConfigurationException e) {
			System.out.println("XML parse error: " + e.getMessage());
			return null;
		} catch (SAXException e) {
			System.out.println("Wrong XML file structure: " + e.getMessage());
            return null;
		} catch (IOException e) {
			System.out.println("I/O exeption: " + e.getMessage());
			return null;
		}
        return doc;
	}

	 public final static String getElementValue( Node elem ) {
	     Node kid;
	     if( elem != null){
	         if (elem.hasChildNodes()){
	             for( kid = elem.getFirstChild(); kid != null; kid = kid.getNextSibling() ){
	                 if( kid.getNodeType() == Node.TEXT_NODE  ){
	                     return kid.getNodeValue();
	                 }
	             }
	         }
	     }
	     return "";
	 }
		 
	 public static String getXML(String url){	 
			String line = null;

			try {
				
				DefaultHttpClient httpClient = new DefaultHttpClient();
				HttpPost httpPost = new HttpPost(url);

				HttpResponse httpResponse = httpClient.execute(httpPost);
				HttpEntity httpEntity = httpResponse.getEntity();
				line = EntityUtils.toString(httpEntity);
				
			} catch (Exception e) {
				line = "Internet Connection Error >> " + e.getMessage();
			} 
			return line;
	 }
	 
	public static int numResults(Document doc){		
		Node results = doc.getDocumentElement();
		int res = -1;
		try{
			res = Integer.valueOf(results.getAttributes().getNamedItem("count").getNodeValue());
		}catch(Exception e ){
			res = -1;
		}
		return res;
	}

	public static String getValue(Element item, String str) {		
		NodeList n = item.getElementsByTagName(str);		
		return ParseXMLMethods.getElementValue(n.item(0));
	}
}
Ну и AndroidManifest:

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.part66online"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk android:minSdkVersion="11" />
    
    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:label="PART66Online"
        android:theme="@android:style/Theme.Holo">
        <activity
            android:name="com.part66online.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>  
        
	<activity android:name="com.part66online.ActivityTwo"></activity>        
        
    </application>
   
</manifest>

dimky
Сообщения: 29
Зарегистрирован: 27 май 2013, 14:51

Re: Доступ к интернету

Сообщение dimky » 30 май 2013, 21:10

Foenix писал(а):я вообще в этом не очень понимаю, но так просто сидеть и смотреть на ошибку тоже не годится. Я бы например, сформировала свободный от другого кода тестовый фрагмент и запустила бы его, просто чтобы проверить. Если ничего так и не получится, попробовать не на эмуляторе, а на устройстве (или наоборот), если и тогда ничего, то скинуть проект кому-то проверить, если нету знакомых, то сюда. Но он должен быть максимально простым, т.к. в дебрях кода просто реально нет ни у кого времени разбираться. Мы помогаем по мере сил и за минимально возможное время..
Яж не сижу 3 дня и только в эту ошибку смотрю, у меня и другие занятия есть, в свободное время занимаюсь вот этой бедой. :) Темболее что эта ошибка мне ничего не говорит.

Ответить