新闻频道
来源:互联网 发布:如何注册淘宝店铺 编辑:程序博客网 时间:2024/04/28 13:09
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private ViewPager viewpager; private TabLayout tablayout; private ImageView img_1; private SlidingMenu slidingMenu; private ImageView iv_qq; private ImageView imageView; private TextView textView; private TextView tv_xia; private Button btn_night; private ImageView img_phone; private ImageView img_2; private SlidingMenu slidingMenu2; private Button btn_download; private Button btn_more; private Button btn_setting; private Button tab_more_btn; private ArrayList<ChannelBean> allList; private ArrayList<ChannelBean> userList; private MyPageradapter myPageradapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ThemeUtil.onActivityCreatedSetTheme(this); setContentView(R.layout.activity_main);// x.view().inject(this); viewpager = (ViewPager) findViewById(R.id.viewpager); tablayout = (TabLayout) findViewById(R.id.tablayout); tab_more_btn = (Button) findViewById(R.id.tab_more_btn); tab_more_btn.setOnClickListener(this); img_1 = (ImageView) findViewById(R.id.img_1); img_1.setOnClickListener(this); img_2 = (ImageView) findViewById(R.id.img_2); img_2.setOnClickListener(this); initData(); slidingMenu = new SlidingMenu(this); slidingMenu.setMode(SlidingMenu.LEFT); //设置触摸屏幕的模式,可选只MARGIN ,CONTENT slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN); //设置SlidingMenu离屏幕的偏移量 slidingMenu.setBehindOffset(300); // 设置渐入渐出效果的值 slidingMenu.setFadeDegree(1.0f); //设置SlidingMenu与下方视图的移动的速度比,当为1时同时移动,取值0-1 slidingMenu.setBehindScrollScale(1.0f); //为侧滑菜单设置布局 slidingMenu.setMenu(R.layout.activity_cela); //把滑动菜单添加进所有的Activity中,可选值SLIDING_CONTENT, SLIDING_WINDOW slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); slidingMenu2 = new SlidingMenu(this); slidingMenu2.setMode(SlidingMenu.RIGHT); //设置触摸屏幕的模式,可选只MARGIN ,CONTENT slidingMenu2.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN); //设置SlidingMenu离屏幕的偏移量 slidingMenu2.setBehindOffset(300); // 设置渐入渐出效果的值 slidingMenu2.setFadeDegree(1.0f); //设置SlidingMenu与下方视图的移动的速度比,当为1时同时移动,取值0-1 slidingMenu2.setBehindScrollScale(1.0f); //为侧滑菜单设置布局 slidingMenu2.setMenu(R.layout.activity_download); //把滑动菜单添加进所有的Activity中,可选值SLIDING_CONTENT, SLIDING_WINDOW slidingMenu2.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); btn_download = (Button) findViewById(R.id.btn_download); btn_download.setOnClickListener(this); btn_more = (Button) findViewById(R.id.btn_more); btn_more.setOnClickListener(this); btn_setting = (Button) findViewById(R.id.btn_setting); btn_setting.setOnClickListener(this); iv_qq = (ImageView) findViewById(R.id.iv_qq); iv_qq.setOnClickListener(this); img_phone = (ImageView) findViewById(R.id.img_phone); img_phone.setOnClickListener(this);//夜间模式 btn_night = (Button) findViewById(R.id.btn_night); btn_night.setOnClickListener(this); } //第三方登陆的方法 UMAuthListener umAuthListener = new UMAuthListener() { @Override public void onStart(SHARE_MEDIA share_media) { } @Override public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> data) { Toast.makeText(getApplicationContext(), "Authorize succeed", Toast.LENGTH_SHORT).show(); String name = data.get("name"); String gender = data.get("gender"); String PhoneUrl = data.get("iconurl"); x.image().bind(iv_qq, PhoneUrl); } @Override public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) { if (UMShareAPI.get(MainActivity.this).isInstall(MainActivity.this, SHARE_MEDIA.QQ)) { Toast.makeText(MainActivity.this, "失败:" + throwable.getMessage(), Toast.LENGTH_LONG).show(); } else { Toast.makeText(MainActivity.this, "没有安装qq" + throwable.getMessage(), Toast.LENGTH_LONG).show(); } } @Override public void onCancel(SHARE_MEDIA share_media, int i) { Toast.makeText(MainActivity.this, "取消了", Toast.LENGTH_LONG).show(); } }; //点击事件 @Override public void onClick(View v) { switch (v.getId()) { case R.id.img_1: slidingMenu.toggle(); break; case R.id.img_2: slidingMenu2.toggle(); break; case R.id.iv_qq: UMShareAPI.get(this).getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, umAuthListener); break; case R.id.btn_download: Intent intentlixian = new Intent(MainActivity.this, Line.class); startActivity(intentlixian); break; case R.id.btn_more: Intent intentmore = new Intent(MainActivity.this, More.class); startActivity(intentmore); break; case R.id.btn_setting: Intent intentsetting = new Intent(MainActivity.this, OneSetting.class); startActivity(intentsetting); break; case R.id.btn_night: ThemeUtil.ChangeCurrentTheme(MainActivity.this, allList); break; case R.id.img_phone: Intent intent = new Intent(MainActivity.this, MyMessage.class); startActivity(intent); break; case R.id.tab_more_btn: ChannelActivity channelActivity = new ChannelActivity(); channelActivity.startChannelActivity(this, allList); break; } }//在onCreate方法里面调用 private void initData() { allList = new ArrayList<>(); userList = new ArrayList<>(); DbUtils dbUtils = new DbUtils(this); List<ChannelBean> allChannels = dbUtils.getAllChannels(); if (allChannels == null || allChannels.size() < 1) { allList.add(new ChannelBean("头条", true)); allList.add(new ChannelBean("新闻", true)); allList.add(new ChannelBean("财经", false)); allList.add(new ChannelBean("体育", false)); allList.add(new ChannelBean("娱乐", false)); allList.add(new ChannelBean("军事", false)); allList.add(new ChannelBean("教育", false)); allList.add(new ChannelBean("科技", false)); allList.add(new ChannelBean("NBA", false)); allList.add(new ChannelBean("股票", false)); allList.add(new ChannelBean("星座", false)); allList.add(new ChannelBean("女性", false)); allList.add(new ChannelBean("健康", false)); allList.add(new ChannelBean("育儿", false)); userList.add(new ChannelBean("头条", true)); userList.add(new ChannelBean("新闻", true)); dbUtils.saveChnnels(allList); } else { //如果有数据的话 把查询出来的数据赋值到这两个集合中 allList.addAll(allChannels); //查询我的频道数据 List<ChannelBean> userChannels = dbUtils.getUserChannels(); userList.addAll(userChannels); } //适配器添加 myPageradapter = new MyPageradapter(getSupportFragmentManager(), userList); viewpager.setAdapter(myPageradapter); tablayout.setupWithViewPager(viewpager); } //Activity传值 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); if (requestCode == ChannelActivity.REQUEST_CODE && resultCode == ChannelActivity.RESULT_CODE) { String stringExtra = data.getStringExtra(ChannelActivity.RESULT_JSON_KEY); if (TextUtils.isEmpty(stringExtra)) { return; } List<ChannelBean> list = new Gson().fromJson(stringExtra, new TypeToken<List<ChannelBean>>() { }.getType()); if (list == null || list.size() < 1) { return; } allList.clear(); userList.clear(); //将返回的数据,添加到我们的集合中 allList.addAll(list); for (ChannelBean channelBean : list) { boolean select = channelBean.isSelect(); if (select) { userList.add(channelBean); } } myPageradapter.notifyDataSetChanged(); //保存数据库 DbUtils dbutils = new DbUtils(this); dbutils.clearChannels(); dbutils.saveChnnels(allList); } }}
创建数据库:public class MyOpenHelper extends SQLiteOpenHelper { public MyOpenHelper(Context context) { super(context, "news.db", null, 1); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table channels (name varchar(20) ,selected integer)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }}
数据库增删改查:
public class DbUtils { MyOpenHelper myOpenHelper; public DbUtils(Context context) { this.myOpenHelper = new MyOpenHelper(context); } public void saveChnnels(List<ChannelBean> channelBeanList) { if (channelBeanList == null || channelBeanList.size() < 0) { return; } SQLiteDatabase writableDatabase = myOpenHelper.getWritableDatabase(); for (ChannelBean channelBean : channelBeanList) { ContentValues values = new ContentValues(); values.put("name", channelBean.getName()); values.put("selected", channelBean.isSelect()); writableDatabase.insert("channels", null, values); } } public List<ChannelBean> getAllChannels() { SQLiteDatabase readabeleDatabase = myOpenHelper.getReadableDatabase(); Cursor cursor = readabeleDatabase.query("channels", null, null, null, null, null, null); List<ChannelBean> channelBeanList = new ArrayList<>(); ChannelBean channelBean; while (cursor.moveToNext()) { String name = cursor.getString(cursor.getColumnIndex("name")); int selected = cursor.getInt(cursor.getColumnIndex("selected")); channelBeanList.add(new ChannelBean(name, selected == 0 ? false : true)); } cursor.close(); return channelBeanList; } public List<ChannelBean> getUserChannels() { SQLiteDatabase readabeleDatabase = myOpenHelper.getReadableDatabase(); Cursor cursor = readabeleDatabase.query("channels", null, "selected=?", new String[]{"1"}, null, null, null); List<ChannelBean> channelBeanList = new ArrayList<>(); ChannelBean channelBean; while (cursor.moveToNext()) { String name = cursor.getString(cursor.getColumnIndex("name")); int selected = cursor.getInt(cursor.getColumnIndex("selected")); channelBeanList.add(new ChannelBean(name, selected == 0 ? false : true)); } cursor.close(); return channelBeanList; } public void clearChannels() { SQLiteDatabase readabeleDatabase = myOpenHelper.getReadableDatabase(); readabeleDatabase.delete("channels", null, null); }}
适配器添加:
public class MyPageradapter extends FragmentPagerAdapter { //创建数组 //创建fragment private FragmentManager manager; List<ChannelBean> mChannelBeanList; public MyPageradapter(FragmentManager fm, ArrayList<ChannelBean> channelBeanList) { super(fm); this.manager = fm; this.mChannelBeanList =channelBeanList ; } //适配器的添加 @Override public Fragment getItem(int position) { Fragmentone fragmentone = new Fragmentone(); Bundle bundle = new Bundle();// System.out.println("====================================="+mChannelBeanList.get(position).getName()); bundle.putString("text", mChannelBeanList.get(position).getName()); fragmentone.setArguments(bundle); return fragmentone; } @Override public int getCount() { return mChannelBeanList == null ? 0 : mChannelBeanList.size(); } @Override public CharSequence getPageTitle(int position) { return mChannelBeanList.get(position).getName(); } @Override public void destroyItem(ViewGroup container, int position, Object object) { }}
Fragment类
@Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle bundle =getArguments(); text = bundle.getString("text", "");// System.out.println("-----------------------"+text); }
阅读全文
0 0
- 新闻频道
- VS2005 起始页新闻频道
- 新闻频道改版上线
- 直销立法,新闻频道报道
- CSDN新闻频道活生生的歧视
- 今日头条 新闻频道展示
- 网易新闻客户端新闻频道url
- 防网易新闻频道右侧新闻滚动效果
- 如新闻频道滑动切换的代码
- 新闻频道管理的炫酷实现
- 仿腾讯新闻频道定制界面效果
- 仿腾讯新闻频道定制界面效果2
- 招行携华胜天成石竹软件 助信息化建设跨越 新闻频道
- 自定义Gridview实现拖拉改变顺序 仿新闻频道管理
- 阿里巴巴雄心勃勃 三年后入驻世界500强(from:csdn新闻频道)
- -转--周鸿祎谈创业:只有颠覆性创新才能成功--来源: ChinaUnix新闻频道
- 厦门规划新建7大游艇码头 续 2万多泊位是否过度超前 新闻频道
- 海外高级人才归国 责任是必须承担和想要承担的 新闻频道
- 比特币量化价格浮标-CCI策略
- Html中CSS记录
- CSS布局方式
- Android string.xml 转义字符
- 机房收费系统(一)---登录时出现的问题
- 新闻频道
- 优化Mysql数据库的方法 ? ?
- 字符串面试题(一)字符串逆序
- 使用刷机软件Flash_tools.exe,设备驱动安装后一闪而过
- Jmeter请求报文
- CentOS7下用.NET Core写C#程序
- zcmu-1661
- Vue 2.0在IE11中打开项目页面空白的问题解决
- 4. 请求和响应