日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android新闻管理,Android资讯新闻类App(头条、网易等),频道管理集成之数据库存储...

發布時間:2024/1/23 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android新闻管理,Android资讯新闻类App(头条、网易等),频道管理集成之数据库存储... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android資訊新聞類App(頭條、網易等),頻道管理集成之數據庫存儲

發布時間:2019-01-16 19:55,

瀏覽次數:305

, 標簽:

Android

App

*

經??葱侣勵惖拇蠹叶贾肋@個頻道管理。

圖片轉載https://blog.csdn.net/u011916937/article/details/50483278

*

我這里是用的Github,開源項目,導入的依賴,下屬必須配置。

allprojects { repositories { google() jcenter() //工程下的build.gradle maven { url

"https://jitpack.io" } } }

app下的build.gradle

implementation 'com.github.andyoom:draggrid:v1.0.1'

清單文件:

android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

/>

Activity內寫法:

/此activity用數據庫存儲數據 public class Main2Activity extends AppCompatActivity {

private List tabs = new ArrayList<>(); private TabLayout tab; private

ViewPager vp; private DBDao dbDao; private List list; @Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tab

= findViewById(R.id.tab); vp = findViewById(R.id.vp); dbDao = new DBDao(this);

//先查詢數據庫有沒有數據,有數據取出選中的標簽 list = dbDao.queryData(); if (list.size() != 0) { for

(int i = 0; i < list.size(); i++) { ChannelBean channelBean = list.get(i);

boolean select = channelBean.isSelect(); String name = channelBean.getName();

if (select) { //為true添加給標簽 tabs.add(name); } } } else { //第一次運行程序 初始化數據并插入數據庫

for (int i = 0; i < 10; i++) { ChannelBean bean = new ChannelBean("item-" + i,

i < 5 ? true : false); dbDao.addData(bean); } //查詢出數據 list = dbDao.queryData();

//遍歷數據找出狀態為true的能標簽 for (int i = 0; i < list.size(); i++) { ChannelBean

channelBean = list.get(i); boolean select = channelBean.isSelect(); String name

= channelBean.getName(); if (select) { //為true添加給標簽 tabs.add(name); } } }

tab.setTabMode(TabLayout.MODE_SCROLLABLE); //創建適配器 MainViewPagerAdapter adapter

= new MainViewPagerAdapter(getSupportFragmentManager(), tabs);

vp.setAdapter(adapter); tab.setupWithViewPager(vp); //頻道管理 Button bt_go =

findViewById(R.id.bt_go); bt_go.setOnClickListener(new View.OnClickListener() {

@Override public void onClick(View v) { //每次點擊更新最新數據 list = dbDao.queryData();

ChannelActivity.startChannelActivity(Main2Activity.this, list); } }); } //回傳數據

@Override protected void onActivityResult(int requestCode, int resultCode,

@Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data);

//清空數據 tabs.clear(); dbDao.delete(); Log.i("xxx", data.getStringExtra("json"));

//返回json數據 String json = data.getStringExtra("json"); try { JSONArray jsonArray

= new JSONArray(json); for (int i = 0; i < jsonArray.length(); i++) {

ChannelBean channelBean = null; JSONObject jsonObject =

jsonArray.getJSONObject(i); String isSelect = jsonObject.getString("isSelect");

String name = null; if (isSelect.equals("true")) { //為true添加給標簽 name =

jsonObject.getString("name"); tabs.add(name); channelBean = new

ChannelBean(name, true); } else { name = jsonObject.getString("name");

channelBean = new ChannelBean(name, false); } //從新把數據添加給數據庫

dbDao.addData(channelBean); } //把標簽給tablayout for (int i = 0; i < tabs.size();

i++) { tab.addTab(tab.newTab().setText( tabs.get(i))); } //創建適配器

MainViewPagerAdapter adapter = new

MainViewPagerAdapter(getSupportFragmentManager(), tabs);

vp.setAdapter(adapter); } catch (JSONException e) { e.printStackTrace(); } } }

Sql_Dao層寫法:

public class DBDao { private final DBHelper helper; public DBDao(Context

context) { helper = new DBHelper(context); } //添加 public void

addData(ChannelBean channelBean) { SQLiteDatabase db =

helper.getWritableDatabase(); ContentValues values = new ContentValues();

values.put("name", channelBean.getName()); //可以儲存boolean類型

values.put("isSelect", channelBean.isSelect()); db.insert("cache", null,

values); db.close(); } //查詢 public List queryData() {

SQLiteDatabase db = helper.getWritableDatabase(); List list = new

ArrayList<>(); Cursor cursor = db.query("cache", null, null, null, null, null,

null); while (cursor.moveToNext()) { ChannelBean channelBean = null; String

name = cursor.getString(cursor.getColumnIndex("name")); //根據解析獲取字段 int anInt =

cursor.getInt(2); //0代表是false if (anInt == 0) { channelBean = new

ChannelBean(name, false); //1代表true } else { channelBean = new

ChannelBean(name, true); } list.add(channelBean); } return list; } //刪除 public

void delete() { SQLiteDatabase db = helper.getWritableDatabase();

db.execSQL("delete from cache"); } }

總結

以上是生活随笔為你收集整理的android新闻管理,Android资讯新闻类App(头条、网易等),频道管理集成之数据库存储...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。