Son Forum Aktiviteleri

6
Tümünü Gör

jsoup html parse try catch boş dönmesi

Merhaba arkadaşlar yapmış oldugum uygulamada bir web sayfasındaki günlük menüleri çekmek. Birkaç işlemde bulundum fakat bir hata ile karşılaşmadım. İstenilen verileri ise çekemedim. Yardımlarınızdan dolayı teşekkürederim.
 

[code]

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import android.app.ActionBar;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class yemekhane1 extends ActionBarActivity {
    String url="http://duyuru.neu.edu.tr/?p=92780";
    ProgressDialog mProgressDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.yemekhane1);
        Button button=(Button) findViewById(R.id.button);


        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                new  Title().execute();

            }
        });

    }
private  class Title extends AsyncTask<Void,Void,Void>{
    String veri;

protected void onPreExecute(){
    super.onPreExecute();
    mProgressDialog= new ProgressDialog(yemekhane1.this);
    mProgressDialog.setTitle("Öğrenci Restaurant Menüsü");
    mProgressDialog.setMessage("Loading...");
    mProgressDialog.setIndeterminate(false);
    mProgressDialog.show();
}

    @Override
    protected Void doInBackground(Void... params) {
        try {
            Document document = Jsoup.connect(url).get();


            Element veri = document.select("table").first();
            Elements table = veri.select("tbody");
            Elements row = table.select("tr");

 

        }catch (IOException e){
            e.printStackTrace();

        }
        return null;
    }
    @Override
    protected void onPostExecute(Void result) {

        TextView tv = (TextView) findViewById(R.id.tv);
        tv.setText(veri);
        mProgressDialog.dismiss();
    }

}


}

[/code]

picture-20418-1397416115.jpg
9 yıl 6 ay önce yanıtladın

Android Web Üzerinden Veri Çekmek

Merhabalar benim sorum  bu  site http://duyuru.neu.edu.tr/?p=80824 üzerinden veri çekmek. Sıkıntım ise bu html tagları arasındaki <td> deki verileri nasıl çekebilirim. Şuan basit bir şekilde veri çekmeye çalıştım ama olmadı.
Yardımlarınızdan dolayı teşekkürederim.

[code]

import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.ParseException;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.TextView;

public class MAinActivity extends Activity{

    final static String URI="http://duyuru.neu.edu.tr/?p=80824";
    ProgressDialog mProgressDialog;
    TextView tv1;
    JSONObject Json;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv1 =(TextView) findViewById(R.id.tv1);
        
        
    }
    
    protected JSONObject readduyuru() throws ParseException, IOException, JSONException{
    
        HttpClient client =new DefaultHttpClient();
        HttpGet get =new HttpGet(URI);
        HttpResponse response= client.execute(get);
        StatusLine status= response.getStatusLine();
        int s=status.getStatusCode();
        if(s==200)
        {
            HttpEntity e=response.getEntity();
            String data=EntityUtils.toString(e);
            JSONArray posts=new JSONArray(data);
            JSONObject last=posts.getJSONObject(0);
            return last;
            
        }
        return null;
        
        }
    public class Yemek extends AsyncTask<String,String,String>{

        @Override
        protected String doInBackground(String... params) {
            
            try {
                Json=readduyuru();
                String data=Json.getString(null);
                return data;
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            return null;
        }

        /* (non-Javadoc)
         * @see android.os.AsyncTask#onPostExecute(java.lang.Object)
         */
        @Override
        protected void onPostExecute(String data) {
            tv1.setText(data);
        }
    
    }
    }

[/code]

picture-20418-1397416115.jpg
9 yıl 11 ay önce yanıtladın

Webview kullamı

Merhabalar webview kullanımında cekmis oldugumuz sıtedekı verilere

[code]WebView webview = (WebView) findViewById(R.id.webview); webview.getSettings().setJavaScriptEnabled(true); webview.loadUrl("https://xxx.com.tr");[/code]

kodları ıle ulasıyoruz. Benim sorum xxx sıtesindekı tum verılerın gelmesı degıl belirli bır kısmını almak ıstıyorum.( Örn: TURKCELL | Gelecegi Yazanlar ) kısmının gelmesını ıstıyorum.Bu sekilde yapmamız mumkunmudur. Yardımlarınızdan dolayı teşekkurler..

 

picture-20418-1397416115.jpg
10 yıl önce yanıtladın

Eklentileri yanyana ekleme.

picture-20418-1397416115.jpg
04 Kasım 2014 tarihinde cevaplandı

Öncelikle şu sorunumuzu bir çözelim. activity_main.xml kod kısmına yazmanız gerekıyor. Yada Graphical layout kısmına surukle bırak mantıgı ile de oluyor. Ama kod kısmına yazarak layoutlarımızın hizalanması daha kolay olur. Eğer kasdettiğniz MainActivity.java ise yazmanız biraz olanıksız.Android 201 eğitimini gözden geçirmenizi tavsiye ederim. İyi çalışmalar.

https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-201/layout

Eklentileri yanyana ekleme.

picture-20418-1397416115.jpg
30 Ekim 2014 tarihinde cevaplandı

Merhabalar Mustafa Atıl örnek olarak size anlatıyım. Burada ilk öncelikle bir TextView ekliyoruz.Daha sonra Button ekliyoruz.Eklemiş olduğumuz buttonun özelliklerini yazarken bir üstekine göre  ayarlamalar yapıyoruz. detaylı olarak örnekte gözükmektedir. Her ne kadar nesle eklerseniz bir üsteki uygulamanı değerlerini ona göre ayarlayabirisiniz.  [code]

<TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="47dp"
        android:text="TextView" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView1"
        android:layout_alignBottom="@+id/textView1"
        android:layout_marginLeft="43dp"
        android:layout_toRightOf="@+id/textView1"
        android:text="Button" />

<ImageButton
        android:id="@+id/imageButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/button1"
        android:layout_marginLeft="16dp"
        android:layout_toRightOf="@+id/button1"
        android:src="@drawable/abc_ab_bottom_solid_light_holo" />

[/code]