Flameyjh's repositories
yjhView
View相关:自定义View,shape等
Android-Image-Cropper-main
andorid 裁剪demo
FishDrawable
android: 自定义Drawable画一条游动的小鱼。学习Drawable,Path,Canvas,layer,Paint, ValueAnimator。
yjhNetWorkTest
android: 使用网络技术: WebView, HttpURLConnection, OkHttp
yjhJetpackTest
android: * Jetpack的基本使用 * 1. ViewModel:ViewModel的基本用法,向ViewModel传递参数。 * 2. Lifecycles: 时刻感知Activity的生命周期。 * 3. LiveData: 数据发生变化时(ViewModel中的LiveData)通知给观察者(Activity)。因为点击按钮立即刷新UI的方式在耗时请求时不适合。 * 4. Room: 使用Room三角色增删改查,Room的数据库升级。 * 5. WorkManager: 后台任务,处理定时任务的工具,即使手机重启,之前注册的任务仍会执行(比如定期和服务器同步数据)。
yjhUIWidgetTest
android: * 常用UI的使用 * 1. 常用控件的使用方法:TextView. Button. EditText. ImageView. ProgressBar(进度条). AlertDialog(对话框)。 * 2. 引入布局和创建自定义控件(查看activity_main.xml)。 * 3. ListView * 4. RecycleView * 5. Material Design——滑动菜单:ToolBar(上方标题栏). DrawerLayout(滑动菜单). NavigationView(导航视图). * 6. Material Design——悬浮按钮和可交互提示:FloatingActionButton(悬浮按钮). Snackbar(可交互提示). CoordinatorLayout(协调布局). 卡片式布局. 下拉刷新. 可折叠式标题栏.充分利用系统状态栏空间.
yjhServiceTest
android: * 1. Service的基本用法。 * 2. Activity和Service进行通信: 比如在activity中可以开始下载和查看进度,使用Binder解决。 * 3. 使用前台Service。 * 4. 使用IntentService:Service默认主线程,所以要用到Android多线程技术。法1:具体在Service的每个方法里开启子线程。法2:使用IntentService
yjhAndroidThreadTest
android: Android多线程编程。1. 异步消息处理机制 Handler + Message + (MessageQueue + Looper): 解决在子线程中进行UI操作的问题 。具体操作:在子线程中发送message,在主线程中取出message并处理UI 2. 使用AsyncTask。
yjhMediaPlayer
android: 1. MediaPlayer播放音效。 2. VideoView播放视频。
MediaPlayer
android:多媒体(使用到RecycleView)。包括MediaRecorder录制视频,MediaPlayer播放视频,VideoView播放视频,SoundPool播放音效
yjhCameraAlbumTest
android: 1. 调用摄像头拍照。2. 从相册中选择图片。包括File, Uri, startActivityForResult,contentProvider,Bitmap等知识。
yjhNotificationTest
android: 通知的基本用法。包括NotificationManager, NotificationChannel, NotificationCompat, PendingIntent
yjhContentProviderTest
android: * ContentProvider 操作另一个应用的数据 * 用于测试 yjhContentProvider
yjhContentProvider
android: * 创建自己的 ContentProvider * 使用之前的 yjhDatabaseTest工程,把里面的数据提供给外部 * 实现重点:DatabaseProvider
yjhDatabaseTest
android: * SQLite的基本使用: * 1. SQLite增删改查 * 2. SQLite使用事务 * 3. 升级数据库的最佳写法
yjhContactsTest
android: *ContentProvider的用法一般有两种 。1. 使用现有的ContentProvider读取和操作相应程序中的数据 。 2. 创建自己的ContentProvider,给程序的数据提供外部访问接口(使用到ListView)
yjhBroadcastBestPractice
android: Broadcast实现强制下线功能
yjhBroadcast
android: 广播的发送和接收。包括动态注册接收广播,静态注册接收广播,发送自定义广播,发送有序广播
yjhActivity
android: Activity和Fragment的基本使用。包括activity携带数据跳转,fragment的动态添加等。
GetContacts
android: 获取联系人列表: 使用Context 中的 ContentResolver 对象与 a content provider 进行通信
TabLayout
TabLayout的基本使用:提供了一个水平布局用于展示tabs,继承自HorizontalScrollView。一般与Viewpager结合使用实现页面和标签联动的效果
Room
android:Room的基本使用。Room三角色:@Entity,@Dao,@Datebase 进行增删改查
RxJavaStudy
android: RX思维。1. 下载图片下载图片,加水印需求 2. 登陆需求:如果登陆成功,只想拿到成功bean;如果登陆失败,只想拿到message
Glide
android: Glide的基本使用
yjhPermissionX
andriod-SDK开发-权限允许
ViewPager2
Viewpager2+Fragment实现微信首页
Flameyjh
Config files for my GitHub profile.