Объявление

Свернуть
Пока нет объявлений.

Мелкими шажками в сторону nKTVplayer для Android 3.x (APP development)

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • #16
    Re: Мелкими шажками в сторону nKTVplayer для Android 3.x (APP development)

    итак еще один мелкий жагусечка вперед

    http://remwebdevelopment.com/dev/a20...tp-Client.html

    вот это смог вписать в свой проект и запустить. там только как всегда зыбыли указать, что стринги прописать надо в файле, я тут хз сколько парился понять не мог где ошибка, гребаный эклипс не показывал на манифест файл, а там была ошибка, тк я стринг один удалил.

    в итоге ошибка android.os.NetworkOnMainThreadException

    хотя в манифесте прописал <uses-permission android:name="android.permission.INTERNET&quo t;/>
    Обсуждение всех нюансов развода в Германии. www.razvod.net

    Комментарий


    • #17
      Re: Мелкими шажками в сторону nKTVplayer для Android 3.x (APP development)

      итак, ответ на запрос я получил

      Код:
      package de.pristavka.nktvplayer;
      
      import java.io.BufferedReader;
      import java.io.InputStream;
      import java.io.InputStreamReader;
      import java.util.ArrayList;
      import java.util.List;
      
      import android.app.Activity;
      import android.os.Bundle;
      import android.os.Looper;
      import android.view.View;
      import android.widget.Button;
      //import android.widget.EditText;
      import android.widget.TextView;
      
      import org.apache.http.HttpEntity;
      import org.apache.http.HttpResponse;
      import org.apache.http.NameValuePair;
      import org.apache.http.client.entity.UrlEncodedFormEntity;
      import org.apache.http.client.methods.HttpPost;
      import org.apache.http.impl.client.DefaultHttpClient;
      import org.apache.http.message.BasicNameValuePair;
      import org.apache.http.params.HttpConnectionParams;
      import org.apache.http.protocol.HTTP;
      
      public class nKTVplayerActivity extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
          //final EditText txtUrl = (EditText)findViewById(R.id.url);
          final Button btnFetch = (Button)findViewById(R.id.button);
          final TextView txtResult = (TextView)findViewById(R.id.content); 
          
         
          
      
          btnFetch.setOnClickListener(new Button.OnClickListener(){
            public void onClick(View v){
            	doLogin("147", "741");
            }
          });
        }
        
        public void test(final String result){	
        	 System.out.println("result" + result);
        	 TextView txtResult = (TextView)findViewById(R.id.content); 
        	 System.out.println("txtResult " + txtResult);
         	txtResult.setText("lllllllllllllllllll"); 
      
        }
        
        private void doLogin(final String login, final String pass) {
          Thread t = new Thread() {
            public void run() {
              Looper.prepare();
              DefaultHttpClient client = new DefaultHttpClient();
              HttpConnectionParams.setConnectionTimeout(client.getParams(), 15000);        
              HttpResponse response;
              HttpEntity entity;    
              try {
                HttpPost post = new HttpPost("http://iptv.kartina.tv/api/xml/login");
                List <NameValuePair> nvps = new ArrayList <NameValuePair>();
                nvps.add(new BasicNameValuePair("login", login));
                nvps.add(new BasicNameValuePair("pass", pass));
                post.setHeader("Content-Type", "application/x-www-form-urlencoded");
                post.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
                response = client.execute(post);
                String result = "";
                entity = response.getEntity();
                System.out.println(entity);
                InputStream in = entity.getContent();
                try{
                  BufferedReader reader = new BufferedReader(new InputStreamReader(in));
                  StringBuilder str = new StringBuilder();
                  String line = null;
                  while((line = reader.readLine()) != null){
                    str.append(line + "\n");
                  }
                  in.close();
                  result = str.toString();
                  
                }catch(Exception ex){
                  result = "Error" + ex;
                }
                //
                test(result);
                //if (entity != null) entity.consumeContent();
              } catch (Exception ex) {
              	System.out.println(ex);
              }
              Looper.loop();  
            }
          };
          t.start();   
        }
        
      
      }
      скомбинировал с этим кодом
      http://android-developers.de/tutoria...erver-405.html

      ответ получаю, это гут, понять не могу, почему функция тест, не пишет в поле текст тупой стринг....

      полезная инфа:
      для просмотра того, что выдает System.out.println
      нужно брубить в панели окно дебагера

      In Eclipse, Goto Window-> Show View -> Other -> Android-> Logcat.
      Обсуждение всех нюансов развода в Германии. www.razvod.net

      Комментарий


      • #18
        Re: Мелкими шажками в сторону nKTVplayer для Android 3.x (APP development)

        проблема в потоке, используй handler

        Код:
        public class HTTPTestActivity extends Activity 
        {
         
        	private EditText m_txtResult;
        	Handler handler;
        
        	
          @Override
          public void onCreate(Bundle savedInstanceState)
          {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            final Button btnFetch = (Button)findViewById(R.id.button);
            m_txtResult = (EditText)findViewById(R.id.content); 
            
           
            handler = new Handler()
          	{
            	public void handleMessage(Message msg) 
          		{
            		String returnValue = (String)msg.obj;
            		test(returnValue);
          		}
          	};
        
            btnFetch.setOnClickListener(new Button.OnClickListener(){
              public void onClick(View v){
              	doLogin("147", "741");
              }
            });
            
          }
          
          public void test(String result)
          {	
          	m_txtResult.setText(result); 
          }
          
          private void doLogin(final String login, final String pass) {
            Thread t = new Thread() {
              public void run() {
                Looper.prepare();
                DefaultHttpClient client = new DefaultHttpClient();
                HttpConnectionParams.setConnectionTimeout(client.getParams(), 15000);        
                HttpResponse response;
                HttpEntity entity;    
                try {
                  HttpPost post = new HttpPost("http://iptv.kartina.tv/api/json/login");
                  List <NameValuePair> nvps = new ArrayList <NameValuePair>();
                  nvps.add(new BasicNameValuePair("login", login));
                  nvps.add(new BasicNameValuePair("pass", pass));
                  post.setHeader("Content-Type", "application/x-www-form-urlencoded");
                  post.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
                  response = client.execute(post);
                  String result = "";
                  entity = response.getEntity();
                  System.out.println(entity);
                  InputStream in = entity.getContent();
                  try{
                    BufferedReader reader = new BufferedReader(new InputStreamReader(in));
                    StringBuilder str = new StringBuilder();
                    String line = null;
                    while((line = reader.readLine()) != null){
                      str.append(line + "\n");
                    }
                    in.close();
                    result = str.toString();
                    
                  }catch(Exception ex){
                    result = "Error" + ex;
                  }
                  //
                  
                  Message msg = handler.obtainMessage(1, (String)result);
                  handler.sendMessage(msg);
        
                  //if (entity != null) entity.consumeContent();
                } catch (Exception ex) {
                	System.out.println(ex);
                }
                Looper.loop();  
              }
            };
            t.start();   
          }
          
        }
        а вообще лучше asynctask
        DroidStreamPortal

        Комментарий


        • #19
          Re: Мелкими шажками в сторону nKTVplayer для Android 3.x (APP development)

          спасибо, но я не совсем понял
          1.как я понял, мне нужно было переменную глобально прописать, а я её прописал после
          @Override поэтому он её не знает
          потом в void onCreate
          дать переменной значение и потом я смогу её выводить на экран?
          или нет? или чтобы чтото вышло на экран нужно обновить картинку экрана?

          что делает handler я вообще из кода не понял, типо я отдаю результат ей, она функции тест, но тест у меня и так получал результат и я его мог выводить в лог.

          AsyncTask
          http://developer.android.com/referen...AsyncTask.htmlв

          попробую, как я понял это альтернатива геморному new Thread или просто чтото новое, чего раньше не было, а тот пример, что использовал я, просто написан по старому
          Обсуждение всех нюансов развода в Германии. www.razvod.net

          Комментарий


          • #20
            Re: Мелкими шажками в сторону nKTVplayer для Android 3.x (APP development)

            не, насчет глобальной, это я так просто всегда делаю, а насчет handler-a и threads то test у тебя получал результат, но проблема была в том, что твой edit-feld не принимал текст и не показывал его, вот для этого и надо handler
            использовать threads или asynctask это дело вкуса наверное, я пользуюсь asynctask
            DroidStreamPortal

            Комментарий


            • #21
              Re: Мелкими шажками в сторону nKTVplayer для Android 3.x (APP development)

              понятно, спасибо, вечером попробую.

              ну меня написание этого треада не устраивает, куча хрени с запуском функции изнутри.
              return мне тоже както попривычнее будет. ну сначала посмотрю что там с хендлером и потом попробую проделать тоже самое с асинктаском
              Обсуждение всех нюансов развода в Германии. www.razvod.net

              Комментарий


              • #22
                Re: Мелкими шажками в сторону nKTVplayer для Android 3.x (APP development)

                http://techtej.blogspot.com/2011/03/...ctspart-4.html
                нашел инфу по threads/asynctask со сравнением возможностей.

                ну а тут пример с тред и асинктаском
                http://www.vogella.de/articles/Andro...e/article.html

                буду изучать, надо еще наверно дома книжку для приличия почитать
                а всё лень, охото сразу понять, как получить хмл, как её потом пропарзить и как передавать данные из одного класса другому...

                Android – How to get an image via an intent
                http://www.vogella.de/blog/2011/09/1...via-an-intent/
                тоже пригодится для логотипов, хотя их наверное проще держать в программе и обновлять при необходимости. тк видел на картиноэпп долгую загрузку логотипов, если сразу промотал кучу каналов вниз.
                Обсуждение всех нюансов развода в Германии. www.razvod.net

                Комментарий


                • #23
                  Re: Мелкими шажками в сторону nKTVplayer для Android 3.x (APP development)

                  [quote author=nitrogen14 link=topic=9448.msg132714#msg132714 date=1319627828]
                  тоже пригодится для логотипов, хотя их наверное проще держать в программе и обновлять при необходимости. тк видел на картиноэпп долгую загрузку логотипов, если сразу промотал кучу каналов вниз.
                  [/quote]
                  тоже как-то думал, что надо-бы логотипы в бд хранить, они-ж не так часто меняются
                  DroidStreamPortal

                  Комментарий


                  • #24
                    Re: Мелкими шажками в сторону nKTVplayer для Android 3.x (APP development)

                    я в нктв для энигмы(питон) картинки отдельно хранил, тк энигма не могла с гифами работать

                    какие у тебя еще цели с KartinaDroid?
                    мне вот охото делать удобную оболочку аля нктв и мечтаю о встроеном плеере.
                    плеера чужие не смотрел, типо тотже вплеер, как с него библиотеки слямзить и встроить в плаг, чтобы народ отдельно плеер не устанавливал?
                    Обсуждение всех нюансов развода в Германии. www.razvod.net

                    Комментарий


                    • #25
                      Re: Мелкими шажками в сторону nKTVplayer для Android 3.x (APP development)

                      обсуждение разработки видеоплеера отсоеденил в отдельную тему:
                      разработка плеера под андроид для воспроизведения видеострима
                      Обсуждение всех нюансов развода в Германии. www.razvod.net

                      Комментарий

                      Обработка...
                      X