Jagool
جمعه 30 خرداد 1399, 17:03 عصر
سلام
دوستان من می خواستم یه برنامه بنویسم که از سایت tsetmc.com قیمت لحظه ای یه نماد رو دریافت کنه و توی برنامه نمایش بده
واسه این کار من از کتابخونه jsuop استفاده کردم
کدی که نوشتم به این شکل هستش:
package com.example.jsoupproject01;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;
import android.widget.Toast;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Attribute;
import org.jsoup.nodes.Attributes;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.nodes.Node;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MainActivity extends Activity {
// URL Address
String url = "http://www.tsetmc.com/Loader.aspx?ParTree=151311&i=70934270174405743";
ProgressDialog mProgressDialog;
private String info;
private String info1;
TextView showTitle1;
static TextView text1;
int num1;
String name0;
String name1;
String name2;
String name3;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showTitle1 = (TextView) findViewById(R.id.text_id1);
text1 = (TextView) findViewById(R.id.text_id0);
new VerifyInfoSite().execute();
}
// Title AsyncTask
private class VerifyInfoSite extends AsyncTask<Void, Void, Void> {
String title;
protected void onPreExecute() {
super.onPreExecute();
//نشان دادن progressDialog
mProgressDialog = new ProgressDialog(MainActivity.this);
mProgressDialog.setTitle(" در حال دریافت اطلاعات");
mProgressDialog.setMessage("در حال بارگیری");
mProgressDialog.setIndeterminate(false);
mProgressDialog.show();
showTitle1.setText("start");
}
protected Void doInBackground(Void... params) {
try {
// اتصال به سایت با کلاس Jsoup
Document document = Jsoup.connect(url).get();
// حالت دوم اتصال به سایت با کلاس Jsoup
Document doc = Jsoup.parse("UTF-8",url);
// td.d03 آی دی قیمت هستش (توی عکس ضمیمه مشخصش کردم)
Elements a5 = document.select("td.d03");
name0=a5.text();
name1=a5.html();
name2= document.title();
num1=a5.size();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(Void result) {
// نشان دادن اطلاعات در تکست ویو
TextView showTitle = (TextView) findViewById(R.id.text_id0);
Toast.makeText(getBaseContext() , name3 , Toast.LENGTH_LONG).show();
showTitle.setText(name0+"\n"+"\n"+"\n"+name1+"\n"+"\n"+"\n"+name2+"\n"+"\n"+"\n"+num1);
// پایان نمایش progressDialog
mProgressDialog.dismiss();
// پایان نمایش progressDialog
}
}
}
هر دو حالت jsoup.connect و jsoup.pars رو هم امتحان کردم اما جواب نگرفتم!
عکس از سایت رو ضمیمه کردم که بهتر متوجه بشید منظورم چی هستش
ممنوم میشک کمکم کنید
دوستان من می خواستم یه برنامه بنویسم که از سایت tsetmc.com قیمت لحظه ای یه نماد رو دریافت کنه و توی برنامه نمایش بده
واسه این کار من از کتابخونه jsuop استفاده کردم
کدی که نوشتم به این شکل هستش:
package com.example.jsoupproject01;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;
import android.widget.Toast;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Attribute;
import org.jsoup.nodes.Attributes;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.nodes.Node;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MainActivity extends Activity {
// URL Address
String url = "http://www.tsetmc.com/Loader.aspx?ParTree=151311&i=70934270174405743";
ProgressDialog mProgressDialog;
private String info;
private String info1;
TextView showTitle1;
static TextView text1;
int num1;
String name0;
String name1;
String name2;
String name3;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showTitle1 = (TextView) findViewById(R.id.text_id1);
text1 = (TextView) findViewById(R.id.text_id0);
new VerifyInfoSite().execute();
}
// Title AsyncTask
private class VerifyInfoSite extends AsyncTask<Void, Void, Void> {
String title;
protected void onPreExecute() {
super.onPreExecute();
//نشان دادن progressDialog
mProgressDialog = new ProgressDialog(MainActivity.this);
mProgressDialog.setTitle(" در حال دریافت اطلاعات");
mProgressDialog.setMessage("در حال بارگیری");
mProgressDialog.setIndeterminate(false);
mProgressDialog.show();
showTitle1.setText("start");
}
protected Void doInBackground(Void... params) {
try {
// اتصال به سایت با کلاس Jsoup
Document document = Jsoup.connect(url).get();
// حالت دوم اتصال به سایت با کلاس Jsoup
Document doc = Jsoup.parse("UTF-8",url);
// td.d03 آی دی قیمت هستش (توی عکس ضمیمه مشخصش کردم)
Elements a5 = document.select("td.d03");
name0=a5.text();
name1=a5.html();
name2= document.title();
num1=a5.size();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(Void result) {
// نشان دادن اطلاعات در تکست ویو
TextView showTitle = (TextView) findViewById(R.id.text_id0);
Toast.makeText(getBaseContext() , name3 , Toast.LENGTH_LONG).show();
showTitle.setText(name0+"\n"+"\n"+"\n"+name1+"\n"+"\n"+"\n"+name2+"\n"+"\n"+"\n"+num1);
// پایان نمایش progressDialog
mProgressDialog.dismiss();
// پایان نمایش progressDialog
}
}
}
هر دو حالت jsoup.connect و jsoup.pars رو هم امتحان کردم اما جواب نگرفتم!
عکس از سایت رو ضمیمه کردم که بهتر متوجه بشید منظورم چی هستش
ممنوم میشک کمکم کنید