From 13aea6071e89cfebadedbd72f149bd0d8d411757 Mon Sep 17 00:00:00 2001 From: idiotme <meityadianti@gmail.com> Date: Tue, 8 Aug 2017 16:40:40 +0700 Subject: [PATCH] Add method to convert date --- .../ui/cs/myui/database/DatabaseHandler.java | 5 +- .../id/ac/ui/cs/myui/model/news/ItemNews.java | 107 ++++++++++++++++++ .../id/ac/ui/cs/myui/task/NewsSceleTask.java | 61 +++++----- .../ac/ui/cs/myui/task/NotificationTask.java | 2 +- 4 files changed, 142 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/id/ac/ui/cs/myui/database/DatabaseHandler.java b/app/src/main/java/id/ac/ui/cs/myui/database/DatabaseHandler.java index c92674c0..88891fd8 100644 --- a/app/src/main/java/id/ac/ui/cs/myui/database/DatabaseHandler.java +++ b/app/src/main/java/id/ac/ui/cs/myui/database/DatabaseHandler.java @@ -195,6 +195,7 @@ public class DatabaseHandler extends SQLiteOpenHelper { public void insertNewsItem(List<News> newsItems) { for (News newsitem : newsItems) { addNews(newsitem); + Log.d("ADD NEWS DATE 1", newsitem.getDate()); } } @@ -211,6 +212,7 @@ public class DatabaseHandler extends SQLiteOpenHelper { values.put(COLUMN_LINK, news.getLink()); values.put(COLUMN_BOOKMARKED, 0); + Log.d("ADD NEWS DATE 2", news.getDate()); // Inserting Row db.insert(TABLE_NEWS, null, values); @@ -362,8 +364,7 @@ public class DatabaseHandler extends SQLiteOpenHelper { COLUMN_LINK }; // sorting orders - String sortOrder = - COLUMN_ID + " ASC"; + String sortOrder = COLUMN_ID + " DESC"; ArrayList<News> bookmarkedNewsList = new ArrayList<News>(); db = this.getReadableDatabase(); diff --git a/app/src/main/java/id/ac/ui/cs/myui/model/news/ItemNews.java b/app/src/main/java/id/ac/ui/cs/myui/model/news/ItemNews.java index f35fc260..6f998282 100644 --- a/app/src/main/java/id/ac/ui/cs/myui/model/news/ItemNews.java +++ b/app/src/main/java/id/ac/ui/cs/myui/model/news/ItemNews.java @@ -7,6 +7,8 @@ import org.simpleframework.xml.Element; import org.simpleframework.xml.Path; import org.simpleframework.xml.Root; +import java.util.ArrayList; + /** * Created by agni.wira on 17/07/17. */ @@ -106,4 +108,109 @@ public class ItemNews { return stripHtml(akhir); } + + public String getDate() { +// Mon, 07 Aug 2017 23:50:47 GMT + String dates[] = pubdate.split(" "); + String[] time = dates[4].split(":"); + + int date = Integer.parseInt(dates[1]); + + if ((Integer.parseInt(time[0]) + 7) / 24 > 0) { + date += 1; + switch (dates[0]) { + case "Mon,": + dates[0] = "Tue,"; + break; + case "Tue,": + dates[0] = "Wed,"; + break; + case "Wed,": + dates[0] = "Thu,"; + break; + case "Thu,": + dates[0] = "Fri,"; + break; + case "Fri,": + dates[0] = "Sat,"; + break; + case "Sat,": + dates[0] = "Sun,"; + break; + case "Sun,": + dates[0] = "Mon,"; + break; + } + } + + int hour = (Integer.parseInt(time[0]) + 7) % 24; + + String day = ""; + switch (dates[0]) { + case "Mon,": + day = "Senin,"; + break; + case "Tue,": + day = "Selasa,"; + break; + case "Wed,": + day = "Rabu,"; + break; + case "Thu,": + day = "Kamis,"; + break; + case "Fri,": + day = "Jumat,"; + break; + case "Sat,": + day = "Sabtu,"; + break; + case "Sun,": + day = "Minggu,"; + break; + } + + String month = ""; + switch (dates[2]) { + case "Jan": + month = "Januari"; + break; + case "Feb": + month = "Februari"; + break; + case "Mar": + month = "Maret"; + break; + case "Apr": + month = "April"; + break; + case "May": + month = "Mei"; + break; + case "Jun": + month = "Juni"; + break; + case "Jul": + month = "Juli"; + break; + case "Aug": + month = "Agustus"; + break; + case "Sep": + month = "September"; + break; + case "Oct": + month = "Oktober"; + break; + case "Nov": + month = "November"; + break; + case "Dec": + month = "Desember"; + break; + } + // Mon, 07 Aug 2017 23:50:47 GMT + + return day + " " + date + " " + month + " " + dates[3] + " " + hour + ":" + time[1] + " WIB"; + } } diff --git a/app/src/main/java/id/ac/ui/cs/myui/task/NewsSceleTask.java b/app/src/main/java/id/ac/ui/cs/myui/task/NewsSceleTask.java index 53f613ef..c3a2ddfb 100644 --- a/app/src/main/java/id/ac/ui/cs/myui/task/NewsSceleTask.java +++ b/app/src/main/java/id/ac/ui/cs/myui/task/NewsSceleTask.java @@ -63,7 +63,11 @@ public class NewsSceleTask extends AsyncTask<Object,Object,ArrayList<News>> { String title = itemNews.get(i).getTitle(); String desc = itemNews.get(i).getContent(); String link = itemNews.get(i).getLink(); - String date = itemNews.get(i).getPubdate(); +// String date = itemNews.get(i).getPubdate(); +// Log.d("NEWS DATE", date); +// Mon, 07 Aug 2017 23:50:47 GMT + String date = itemNews.get(i).getDate(); + Log.d("NEWS DATE", date); String author = itemNews.get(i).getAuthor(); if (dbhandler.findNews(title)) { @@ -72,9 +76,8 @@ public class NewsSceleTask extends AsyncTask<Object,Object,ArrayList<News>> { news.add(new News(title, desc, link, date, author)); } - Log.d("newsfeed", news.toString()+"news"); + Log.d("NEWS FEED", news.toString()+"news"); } - return news; } catch (IOException e) { @@ -91,35 +94,33 @@ public class NewsSceleTask extends AsyncTask<Object,Object,ArrayList<News>> { Activity newsHome = (Activity) context; final ListView listView = (ListView) newsHome.findViewById(R.id.list_news); if(newsSceles.size()!=0){ + Log.d("NEWS WHEN INSERT TO DB", "EXECUTED"); dbhandler.insertNewsItem(newsSceles); } - ArrayList<News> listMenuItems = dbhandler.getAllNews(); - - - final NewsAdapter listMenuAdapter = new NewsAdapter(context, R.layout.news_item_layout, listMenuItems); - listView.setAdapter(listMenuAdapter); - final Intent intent = new Intent(context, NewsDetailActivity.class); - - listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { - String title = listMenuAdapter.getItem(i).getTitle(); - String description = listMenuAdapter.getItem(i).getDescription(); - String date = listMenuAdapter.getItem(i).getDate(); - String author = listMenuAdapter.getItem(i).getAuthor(); - String link = listMenuAdapter.getItem(i).getLink(); - intent.putExtra("Description", description); - intent.putExtra("Date", date); - intent.putExtra("Author", author); - intent.putExtra("Title", title); - intent.putExtra("link", link); - intent.putExtra("contextParent", "newsHome"); - - context.startActivity(intent); - } - }); - - +// ArrayList<News> listMenuItems = dbhandler.getAllNews(); +// +// final NewsAdapter listMenuAdapter = new NewsAdapter(context, R.layout.news_item_layout, listMenuItems); +// listView.setAdapter(listMenuAdapter); +// final Intent intent = new Intent(context, NewsDetailActivity.class); +// +// listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { +// @Override +// public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { +// String title = listMenuAdapter.getItem(i).getTitle(); +// String description = listMenuAdapter.getItem(i).getDescription(); +// String date = listMenuAdapter.getItem(i).getDate(); +// String author = listMenuAdapter.getItem(i).getAuthor(); +// String link = listMenuAdapter.getItem(i).getLink(); +// intent.putExtra("Description", description); +// intent.putExtra("Date", date); +// intent.putExtra("Author", author); +// intent.putExtra("Title", title); +// intent.putExtra("link", link); +// intent.putExtra("contextParent", "newsHome"); +// +// context.startActivity(intent); +// } +// }); } } diff --git a/app/src/main/java/id/ac/ui/cs/myui/task/NotificationTask.java b/app/src/main/java/id/ac/ui/cs/myui/task/NotificationTask.java index 418b4e35..701aab90 100644 --- a/app/src/main/java/id/ac/ui/cs/myui/task/NotificationTask.java +++ b/app/src/main/java/id/ac/ui/cs/myui/task/NotificationTask.java @@ -69,7 +69,7 @@ public class NotificationTask extends AsyncTask<Object,Object,ArrayList<News>> { String title = itemNews.get(i).getTitle(); String desc = itemNews.get(i).getContent(); String link = itemNews.get(i).getLink(); - String date = itemNews.get(i).getPubdate(); + String date = itemNews.get(i).getDate(); String author = itemNews.get(i).getAuthor(); if (!dbhandler.findNews(title)) { -- GitLab