Многочисленные источники новостей из API NewsAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Многочисленные источники новостей из API News

Сообщение Anonymous »

Я в настоящее время создаю новостную приложение для Android.

Я использую API News для источников данных, которые я хорошо работаю, но с одним источником новостей, есть ли вы, вы можете добавить несколько источников новостей? < /p>

Вот моя основная активность Java < /p>

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

public class MainActivity extends AppCompatActivity {

String API_KEY = "8190df9eb51445228e397e4185311a66";
String NEWS_SOURCE = "bbc-news";
ListView listNews;
ProgressBar loader;

ArrayList dataList = new ArrayList();
static final String KEY_AUTHOR = "author";
static final String KEY_TITLE = "title";
static final String KEY_DESCRIPTION = "description";
static final String KEY_URL = "url";
static final String KEY_URLTOIMAGE = "urlToImage";
static final String KEY_PUBLISHEDAT = "publishedAt";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

listNews = (ListView) findViewById(R.id.listNews);
loader = (ProgressBar) findViewById(R.id.loader);
listNews.setEmptyView(loader);

if(Function.isNetworkAvailable(getApplicationContext()))
{
DownloadNews newsTask = new DownloadNews();
newsTask.execute();
}else{
Toast.makeText(getApplicationContext(), "No Internet Connection", Toast.LENGTH_LONG).show();
}

}

class DownloadNews extends AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();

}
protected String doInBackground(String...  args) {
String xml = "";

String urlParameters = "";
xml = Function.excuteGet("https://newsapi.org/v1/articles?source="+NEWS_SOURCE+"&sortBy=top&apiKey="+API_KEY, urlParameters);
return  xml;
}

@Override
protected void onPostExecute(String xml) {

if(xml.length()>10){ // Just checking if not empty

try {
JSONObject jsonResponse = new JSONObject(xml);
JSONArray jsonArray = jsonResponse.optJSONArray("articles");

for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
HashMap map = new HashMap();
map.put(KEY_AUTHOR, jsonObject.optString(KEY_AUTHOR).toString());
map.put(KEY_TITLE, jsonObject.optString(KEY_TITLE).toString());
map.put(KEY_DESCRIPTION, jsonObject.optString(KEY_DESCRIPTION).toString());
map.put(KEY_URL, jsonObject.optString(KEY_URL).toString());
map.put(KEY_URLTOIMAGE, jsonObject.optString(KEY_URLTOIMAGE).toString());
map.put(KEY_PUBLISHEDAT, jsonObject.optString(KEY_PUBLISHEDAT).toString());
dataList.add(map);
}
} catch (JSONException e) {
Toast.makeText(getApplicationContext(), "Unexpected error", Toast.LENGTH_SHORT).show();
}

ListNewsAdapter adapter = new ListNewsAdapter(MainActivity.this, dataList);
listNews.setAdapter(adapter);

listNews.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView parent, View view,
int position, long id) {
Intent i = new Intent(MainActivity.this, DetailsActivity.class);
i.putExtra("url", dataList.get(+position).get(KEY_URL));
startActivity(i);
}
});

}else{
Toast.makeText(getApplicationContext(), "No news found", Toast.LENGTH_SHORT).show();
}
}

}
Я попытался просмотреть документацию на их веб -сайте https://newsapi.org/
и не мог видеть все, что мне нужно в справедливости, это, вероятно, самая сложная задача, которую я пытался встретить любую помощь, будет очень оценен. < /p>

Я уверен, что я упустил из виду вещи, но подавляющее большинство из них все было новым для меня < /p>

Подробнее здесь: https://stackoverflow.com/questions/492 ... m-news-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»