activity保持不黑屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView( R.layout.activity_main );
Android设置Activity全屏的两种方式
1.
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.loading);
<activity android:name=".MainActivity" android:theme="@style/Theme.AppCompat.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme=" @android :style/Theme.NoTitleBar.Fullscreen">
jjdxm-ijkPlayer开源视频框架简单的日常使用
https://blog.youkuaiyun.com/qq_33517003/article/details/78678476
基于ijkplayer封装支持简单界面UI定制的视频播放器
https://www.jianshu.com/p/6c938df18413/
Android基础学习总结(十六)——基于ijkplayer封装支持简单界面UI定制的视频播放器
https://blog.youkuaiyun.com/kilotwo/article/details/79219236
隐藏部分不想要的界面
//隐藏返回键,true隐藏,false为显示
PlayerView hideBack(boolean isHide)
//隐藏菜单键,true隐藏,false为显示
PlayerView hideMenu(boolean isHide)
//隐藏分辨率按钮,true隐藏,false为显示
PlayerView hideSteam(boolean isHide)
//隐藏旋转按钮,true隐藏,false为显示
PlayerView hideRotation(boolean isHide)
//隐藏全屏按钮,true隐藏,false为显示
PlayerView hideFullscreen(boolean isHide)
//隐藏中间播放按钮,ture为隐藏,false为不做隐藏处理,但不是显示
PlayerView hideCenterPlayer(boolean isHide)
播放器底部bar播放进度条样式定制
默认的进度样式是竖屏为上下样式,即进度条在播放时长的上面,横屏为左右样式,即进度条在播放时长的中间。样式定制主要是两个方法搭配使用toggleProcessDurationOrientation方法和setProcessDurationOrientation方法,横竖屏切换2中情况,和3种进度条样式
/**上下样式*/
PlayStateParams.PROCESS_PORTRAIT
/**左右样式*/
PlayStateParams.PROCESS_LANDSCAPE
/**中间两边样式*/
PlayStateParams.PROCESS_CENTER
GitHub上受欢迎的Android UI Library
Android TV开发(—)开始电视应用
https://blog.youkuaiyun.com/jjwwmlp456/article/details/52093459
Android okHttp网络请求之Get/Post请求
https://www.cnblogs.com/whoislcj/p/5526431.html
Android使用OKHTTP解析JSON数据
https://www.cnblogs.com/ceet/archive/2017/07/01/7101489.html
How to Leak a Context: Handlers & Inner
https://www.androiddesignpatterns.com/2013/01/inner-class-handler-memory-leak.html
TV开发手册
http://corochann.com/android-tv-application-hands-on-tutorial-1-45.html
异步加载数据
https://blog.youkuaiyun.com/zimo2013/article/details/10263339
一般情况下,我们用的最多的是HashMap,在Map 中插入、删除和定位元素,HashMap 是最好的选择。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。如果需要输出的顺序和输入的相同,那么用LinkedHashMap 可以实现,它还可以按读取顺序来排列.
HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为NULL,允许多条记录的值为NULL。
HashMap不支持线程同步,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致性。如果需要同步,可以用Collections的synchronizedMap方法使HashMap具有同步的能力。
Hashtable与HashMap类似,不同的是:它不允许记录的键或者值为空;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了Hashtable在写入时会比较慢。
LinkedHashMap保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的。
在遍历的时候会比HashMap慢TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器。当用Iterator遍历TreeMap时,得到的记录是排过序的。
Android_Loader_使用LoaderManager管理Loader实现异步动态加载数据
https://blog.youkuaiyun.com/zimo2013/article/details/10263339
Android Loader机制全面详解及源码浅析
https://blog.youkuaiyun.com/axi295309066/article/details/52536960?utm_source=blogxgwz3
Android 异步加载神器Loader全解析
http://www.cnblogs.com/punkisnotdead/p/4861376.html
https://developer.android.google.cn/reference/androidx/loader/package-summary
感受LiveData 与 ViewModel结合之美
https://blog.youkuaiyun.com/qq_17766199/article/details/80732836
Android Architecture Components应用架构组件源码详解(基于1.0以上)(第二篇ViewModel和LiveData)
https://blog.youkuaiyun.com/xiatiandefeiyu/article/details/78663612
android开发模式LiveData+ViewModel+Room+Retrofit
https://blog.youkuaiyun.com/pgg_cold/article/details/81043143?utm_source=blogxgwz1
Android:LiveData 与ViewModel的结合使用
https://blog.youkuaiyun.com/china1988s/article/details/82598068
ViewModel+LiveData最新版1.1.1的实现案例及fragment懒加载
https://blog.youkuaiyun.com/qq_36635270/article/details/80078368
MVVM 架构,ViewModel和LiveData(一)
https://blog.youkuaiyun.com/qq_36635270/article/details/80078368
android开发系列之ContentObserver
https://www.cnblogs.com/xiaocai20091687/p/android_xiaocai_contentobserver.html
https://www.jianshu.com/p/87aa6464412b
LiveData 理解笔记 - 抽象例子、自动移除 source、Observer 原理
https://blog.youkuaiyun.com/qq_34224268/article/details/81132945
DataBinding使用全面详解
https://www.jianshu.com/p/ba4982be30f8
android 线程池的使用以及Executors的优缺点
https://blog.youkuaiyun.com/duolaimila/article/details/78732535
Android Application的作用
https://blog.youkuaiyun.com/lieren666/article/details/7598288
Android官方架构组件ViewModel+LiveData+DataBinding架构属于自己的MVVM
http://www.cnblogs.com/dev-njp/p/8783341.html
【Android入门】MVVM + LiveData & 乱入的butterKnife
https://blog.youkuaiyun.com/sst2230879/article/details/80101812
Android之定时刷新数据
https://blog.youkuaiyun.com/ytwei23668/article/details/53812956
谷歌官方Android应用架构库——LiveData
https://m.aliyun.com/jiaocheng/13132.html
Android 深入理解Loader机制 让APP轻装上阵
https://www.jianshu.com/p/385327e35711
Android—如何利用API实时获取各频道新闻?
https://blog.youkuaiyun.com/zhaoyanga14/article/details/52234555
使用Handler实现定时刷新数据,更新UI
https://blog.youkuaiyun.com/aichilubiantan/article/details/79784011
Android异步处理之AsyncTaskLoader简单使用
https://blog.youkuaiyun.com/zqlite/article/details/48092355
Android开发——BroadcastReceiver广播的使用
https://www.cnblogs.com/kexing/p/8331359.html
Aandroid TV 基于Leanback支持最新MD设计的TV开发框架
https://blog.youkuaiyun.com/sk719887916/article/details/51125438
Android TV 应用开发
https://blog.youkuaiyun.com/column/details/lyk-androidtv.html
Android手势处理及模拟滑动事件
https://blog.youkuaiyun.com/linghaidong/article/details/53408002
https://www.2cto.com/kf/201408/326931.html
https://www.cnblogs.com/zfrr/archive/2012/07/19/2599591.html
MotionEvent对象
https://www.cnblogs.com/qingblog/archive/2012/12/03/2799862.html
https://blog.youkuaiyun.com/Anmmei/article/details/78010025
((IjkMediaPlayer)mMediaPlayer).setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, “enable-accurate-seek”, 1);
Android studio添加第三方库和so
https://blog.youkuaiyun.com/anhenzhufeng/article/details/78913341
https://www.jianshu.com/p/830d0eb44a56
Android TV Leanback (五)(使用leanback创建UI)(setHeader)
https://blog.youkuaiyun.com/zhanwubus/article/details/78800547