gpt4 book ai didi

android - 如何为 Android 应用程序创建 TikTok/Musical.ly 的功能?

转载 作者:太空狗 更新时间:2023-10-29 13:46:33 25 4
gpt4 key购买 nike

屏幕 1:GridView

enter image description here

屏幕 2:详细信息页面

enter image description here

任务达成:

1) 从服务器加载gridview中的所有视频。

2) 用户点击gridview item的任意位置。

3) 打开并播放特定视频的详细信息屏幕。

4) 垂直滚动播放下一个或上一个视频。

当前实现:

GridFragment {
ArrayList<VideoPostModel> videoPostList;
RecyclerView gridView;

onnItemClick() {
Intent intent = new Intent(this, DetailActivity.class);
intent.putExtra("data", videoPostList);
intent.putExtra("click_index", clickedIndex);
intent.putExtra("pagination_index", paginationIndex);
startActivity(intent);
}
}

DetailActivity {
VerticlaViewPager vertiCalViewPager;
ArrayList<VideoPostModel> videoPostList;

onCreate() {
videoPostList = getIntent().getParcelableArrayListExtra("data");
clickedIndex = getIntent().getIntExtra("clickindex", 0);
paginationIndex = getIntent().getIntExtra("pagination_index", 0);

VideoFragmentStatePagerAdapter viewPagerAdapter = new VideoFragmentStatePagerAdapter(videoPostList);
vertiCalViewPager.setAdapter(viewPagerAdapter);
}
}

问题:

如果 videoPostList 在将数据从 fragment 传递到 Activity 时有更多数据(大约 100 多个 VideoPostModel 对象),那么应用程序会崩溃,因为使用 intent ( https://stackoverflow.com/a/37054839/3598052 ) 发送数据存在限制。

Hacky 替代品:

1) 静态数组列表

2) Application类中的Arraylist

寻找最优和高效解决方案来实现上述功能。

对于实现这一目标的任何建议、引用链接或代码,我们将不胜感激,并提前致谢。

更新 1:

我发现的另一个解决方案是使用枚举传递数据,但根据评论我不确定它的性能。引用:https://stackoverflow.com/a/14706456/3598052

最佳答案

我认为您可以像您提到的那样在 Activity 中编写或在应用程序中使用 Arraylist。或者它可能是最近出现在 Android 中的库 Jetpack .在应用上它与Arraylist在本质上是相似的。

ViewModel使管理和存储数据更容易的对象。它允许您访问应用程序中不同 Activity 或 fragment 的数据。你试试吧,希望对你有用

关于android - 如何为 Android 应用程序创建 TikTok/Musical.ly 的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53128294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com