Мне и моему другу нужна помощь с небольшим приложением, которое мы пытаемся создать для школьного проекта. Во-первых, цель этого приложения - найти аптеку вокруг того, где мы живем. Эти два являются сайты, которые я пытаюсь вытащить информацию из (это называется вытягивать?)Как мы анализируем информацию с этих веб-страниц?
http://www.istanbulsaglik.gov.tr/w/nobet/liste.asp?lc=0&gun=09.05.2015
пистолет = день/дата
ЖХ = идентификатор города
cs ежедневно отправляется в город и ежедневно меняется, это всего лишь номер.
на этой странице.
И/ИЛИ
http://www.nobetcieczanebul.com/
это один 'выглядит' гораздо проще получить необходимую информацию. из.
Они оба содержат информацию, которая мне нужна; название аптеки, адрес и, возможно, номера телефонов. Используя JSOUP, я надеюсь разобрать эту информацию, но мне нужна помощь. Мой первый приоритет - использование webview.
Сначала мы прочитаем cs из HTML, после чего мы поместим cs в код и назовем все имена, даты и адреса аптечных магазинов.
Вот мой пример кода, это один называет ID 32 город дате 05/05/2015, которая содержит имя и т.д.
import android.os.AsyncTask;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.IOException;
public class MainActivity extends ActionBarActivity {
Button btnGetir;
ProgressBar pb;
TextView tv;
Button btnNobet;
TextView tvNobet;
WebView wv;
class mytask extends AsyncTask<Void,Void,Void>{
String Title;
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
pb.setVisibility(View.INVISIBLE);
tv.setText(Title);
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pb.setVisibility(View.VISIBLE);
}
@Override
protected Void doInBackground(Void... params) {
try {
Document myDoc= Jsoup.connect("http://www.ticaret.edu.tr").get();
Title=myDoc.title();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
class myNobettask extends AsyncTask<Void,Void,Void>{
String Title;
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
pb.setVisibility(View.INVISIBLE);
wv.loadData(Title, "text/html", "UTF-8");
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pb.setVisibility(View.VISIBLE);
}
@Override
protected Void doInBackground(Void... params) {
try {
Document myDoc= Jsoup.connect("http://apps.istanbulsaglik.gov.tr/eczane/GetNobetciEczaneler.aspx?lc=32&gun=05.05.2015&cs=6e79f453").get();
Title=myDoc.html();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnGetir=(Button) findViewById(R.id.btnTitleGetir);
tv=(TextView)findViewById(R.id.tvSonuc);
pb=(ProgressBar) findViewById(R.id.progressBar);
btnNobet =(Button)findViewById(R.id.btnNobetci);
tvNobet=(TextView)findViewById(R.id.tvNobetci);
wv=(WebView) findViewById(R.id.webView);
btnGetir.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mytask newtask= new mytask();
newtask.execute();
}
});
btnNobet.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myNobettask task= new myNobettask();
task.execute();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Это обязательно использовать один из этих сайтов? , потому что вы можете использовать «Google Places API», более эффективный и предоставляет json o xml response (легко разобрать). –
Я «верю», потому что мы пытаемся найти дежурную аптеку. Не знаю, правильно ли это сказать, дежурная аптека -> аптека, которая работает весь день и всю ночь, неотложная аптека. И эти два сайта - те, которые показывают это. API Google Places показывает им? –
Вот список всех типов, которые API Google может предоставить: https://developers.google.com/places/supported_types –