package com.android.rss;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import android.app.ActionBar;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.app.ListActivity;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.text.Html;
import android.text.Spannable;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.format.DateFormat;
import android.text.util.Linkify;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;
import com.android.rss.common.FeedInfo;
import com.android.rss.common.Constant;
import com.android.rss.parse.OpmlParser;
import com.android.rss.refreshlist.RefreshListView.OnRefreshListener;
import com.android.rss.service.RSSService;
import com.android.rss.util.Log;
import com.android.rss.view.RefreshButton;
import com.android.rss.view.TabContainer;
import com.android.rss.view.TabContainer.OnTabChangeListener;
public class RSSFeedsList extends ListActivity implements OnClickListener,
DialogInterface.OnClickListener, OnRefreshListener, OnItemClickListener, OnTabChangeListener
{
private static final String TAG = "RSSFeedsList";
private static final int MSG_INIT_FEED = 1;
private static final int MSG_UPDATE_FINISHED = 2;
private static final int MSG_VIEW_SUBSCRIBED = 3;
private static final int MSG_VIEW_BUNDLES = 4;
private static final int MSG_VIEW_CUSTOM = 5;
private static final int MSG_CLEAR_FEEDS = 6;
private static final int MSG_REFRESH_STATE = 7;
private static final int MENU_ITEM_ADD_FEED = 0;
private static final int MENU_ITEM_NEWS_LIST = 1;
private static final int MENU_ITEM_SUBSCRIBED = 2;
private static final int MENU_ITEM_MANAGE_SUB = 3;
private static final int MENU_ITEM_BUNDLES = 4;
private static final int MENU_ITEM_CUSTOM = 5;
private static final int MENU_ITEM_MANAGE_CUSTOM = 6;
private static final int MENU_ITEM_FIND_RSS = 7;
private static final int MENU_ITEM_CLEAR = 8;
private static final int MENU_ITEM_SETTINGS = 9;
private static final int CONTEXT_MENU_OPEN = 0;
private static final int CONTEXT_MENU_RENAME = 1;
private static final int CONTEXT_MENU_DELETE = 2;
private static final int CONTEXT_MENU_DETAIL = 3;
private static final int CONTEXT_MENU_COPYURL = 4;
private static final int DIALOG_ID_ADDFEED = 0;
private static final int DIALOG_ID_EXIT = 1;
private static final int DIALOG_ID_RENAME = 2;
private static final String KEY_FEED_ID = "feedId";
private static final String KEY_FEED_SORT = "feed_sort";
private ArrayList<FeedInfo> mFeedInfos = null;
private Handler mHandler = null;
private ListView mRssFeedList = null;
private BundleAdapter mFeedListAdapter = null;
private FeedHandler mFeedHandler;
private HashMap<String, Bitmap> mHashMap = null;
private TextView mFeedTitleLabel;
private EditText mFeedTitle;
private TextView mFeedUrlLabel;
private AutoCompleteTextView mFeedUrl;
private PopupWindow mPopupWindow;
private int mFeedView = Constant.State.STATE_VIEW_SUBSCRIBED;
private boolean mDataLoading = false;
private TabContainer mTabContainer;
private boolean mStopFetching = false;
private EditText mRenameView;
private FeedInfo mContextSelectedInfo;
// private SubscribedFeedAdapter mSubscribedFeedAdapter;
// private Spinner mRecentAdded = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.rss_list_layout);
mTabContainer = (TabContainer) findViewById(R.id.function_tab);
mTabContainer.setOnTabChangeListener(this);
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
setTitle(R.string.feeds);
mHandler = new Handler();
mHashMap = new HashMap<String, Bitmap>();
HandlerThread thread = new HandlerThread("RssAppSettings");
thread.start();
mFeedHandler = new FeedHandler(this, thread.getLooper());
mFeedInfos = new ArrayList<FeedInfo>();
mRssFeedList = getListView();
// mRssFeedList.setOnRefreshListener(this);
mRssFeedList.setOnItemClickListener(this);
registerForContextMenu(mRssFeedList);
mFeedListAdapter = new BundleAdapter(this, mFeedInfos);
mRssFeedList.setAdapter(mFeedListAdapter);
mFeedHandler.sendEmptyMessage(MSG_INIT_FEED);
// SharedPreferences shared = getSharedPreferences(RssConstant.Content.SHARED_PREFERENCE_NAME, Context.MODE_PRIVATE);
// int refreshState = shared.getInt(RssConstant.Key.KEY_REFRESH_STATE, RssConstant.State.STATE_REFRESH_NORMAL);
// if(refreshState == RssConstant.State.STATE_REFRESH_ONGOING){
// mRssFeedList.setRefreshState();
// }
IntentFilter filter = new IntentFilter();
filter.addAction(Constant.Intent.INTENT_RSSAPP_UPDATE_FINISHED);
filter.addAction(Constant.Intent.INTENT_RSSAPP_SUBSCRIBE_FINISHED);
filter.addAction(Constant.Intent.INTENT_RSSAPP_STARTREFRESH);
registerReceiver(mSubscribeReceiver, filter);
Intent intent = new Intent(Constant.Intent.INTENT_RSSAPP_MANUALREFRESH);
startService(intent);
/*
Intent shortCut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
Intent shortCutIntent = new Intent(Intent.ACTION_MAIN);
ComponentName name = new ComponentName(this, RssAppSettings.class);
shortCutIntent.setComponent(name);
ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.rss);
shortCut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
shortCut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,shortCutIntent);
shortCut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getResources().getString(R.string.rss));
sendBroadcast(shortCut);
*/
}
@Override
protected void onResume() {
super.onResume();
// mFeedHandler.sendEmptyMessage(MSG_INIT_FEED);
}
class FeedAdder implements Runnable{
private FeedInfo mFeedInfo;
pu
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
android rss实时阅读器源代码下载 (155个子文件)
android-support-v4.jar 473KB
RSSFeedsList.java 65KB
DBHelper.java 46KB
FeedSource.java 43KB
RSSNewsList.java 40KB
SqlDatabaseHelper.java 21KB
RSSProvider.java 20KB
RSSWebView.java 18KB
RSSXmlPullParser.java 18KB
Constant.java 17KB
RefreshListView.java 15KB
RSSWidgetNewsActivity.java 13KB
RSSWorkerThread.java 12KB
RSSService.java 11KB
NetworkUtil.java 10KB
RSSWidgetService.java 8KB
TabContainer.java 8KB
CustomerHttpClient.java 7KB
SettingsUtil.java 7KB
RSSXmlParser.java 6KB
RSSWidgetProvider.java 5KB
GeneralSettingsFrament.java 5KB
RSSSuggestionsProvider.java 4KB
RSSSearchActivity.java 4KB
SubscribedListFragment.java 4KB
RSSWidgetConfigActivity.java 4KB
SelectFeedForWidgetActivity.java 4KB
PicLoader.java 4KB
OpmlParser.java 3KB
AlarmUtil.java 3KB
DateUtils.java 2KB
DateTimeUtil.java 2KB
FeedInfo.java 2KB
NewsView.java 2KB
MyThreadFactory.java 2KB
Output.java 1KB
UrlInputView.java 1KB
RSSBroadcastReciever.java 1KB
ItemInfo.java 943B
ViewItems.java 874B
RefreshButton.java 725B
PreferenceKeys.java 665B
Log.java 546B
IndexInfo.java 378B
RSSSettings.java 360B
XmlParserInterface.java 355B
ExpandInfo.java 194B
WidgetInfo.java 185B
Feed.java 182B
.jpg 6KB
white_g.jpg 3KB
Android.mk 224B
widget_preview.png 61KB
widget_fresh_normal.png 6KB
widget_fresh_down.png 6KB
rss.png 6KB
ic_rss.png 5KB
cheakbox_on.png 4KB
view_original.png 4KB
ic_rss_big.png 3KB
previous.png 3KB
next.png 3KB
ic_rss_small.png 3KB
bg.9.png 3KB
arrow.png 3KB
button_highlight.9.png 3KB
add.png 3KB
delete.png 3KB
btn_dialog_normal.png 2KB
ic_menu_close_clear_cancel.png 1KB
ic_sysbar_quicksettings.png 773B
progress_bg_holo_light.9.png 175B
project.properties 563B
arrays.xml 13KB
strings.xml 8KB
arrays.xml 8KB
test_layout.xml 8KB
strings.xml 7KB
AndroidManifest.xml 7KB
setting_header.xml 5KB
rss_news_preview.xml 4KB
widget_layout.xml 4KB
rss_list_layout.xml 3KB
add_feed.xml 3KB
add_feed_class.xml 3KB
rss_widget_news_preview.xml 3KB
rss_feed_item.xml 3KB
rss_news_item.xml 3KB
rss_news_title.xml 3KB
general_settings.xml 3KB
rss_webview_header.xml 3KB
feed_custom_added_header.xml 3KB
style.xml 2KB
rss_newslist_header.xml 2KB
rss_widget_news_title.xml 2KB
widget_config.xml 2KB
select_feed.xml 2KB
head.xml 2KB
widget_grid_item.xml 2KB
widget_list_item.xml 2KB
共 155 条
- 1
- 2
资源评论
- 赖生要崛起2014-12-04不错不错,很有用
- qq_428730962019-10-05不错,还可以
- fyzzzzzx2014-06-17没用到,总是出错
- Esmeralda_cai2017-04-20不错,挺有用处的
weiliuzhao
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功