09 2021 档案

摘要:这张图很重要,讲了ViewModel能全局的在activity或者fragment传值 例子:拖动seekbar,在textview显示数字,点击按钮,把seekbar现在的数字带到下一个页面 想绑定数据,别忘了这行代码 dataBinding{ enabled true } 然后点一下小灯泡改变布 阅读全文
posted @ 2021-09-29 17:13 涂妖教 阅读(239) 评论(0) 推荐(0)
摘要:相信很多人多会问Context到底是什么? 我们可以理解为“上下文”:它贯穿整个应用;也可以理解成“运行环境”:它提供了一个应用运行所需要的信息,资源,系统服务等;同样可以理解成“场景”:用户操作和系统交互这一过程就是一个场景,比如Activity之间的切换,服务的启动等都少不了Context。然而 阅读全文
posted @ 2021-09-29 15:31 涂妖教 阅读(370) 评论(0) 推荐(0)
摘要:拽一个ConstraintLayout进去就能画线了(Guideline) 阅读全文
posted @ 2021-09-29 13:32 涂妖教 阅读(28) 评论(0) 推荐(0)
摘要://我们一些相关的操作最好在这里做,等页面加载起来之后 @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState) 阅读全文
posted @ 2021-09-29 11:39 涂妖教 阅读(120) 评论(0) 推荐(0)
摘要:NavHost 容器,承载页面的。既是容器也是控制器。 Fragment 碎片,依存于activity。NavHost相当于把Fragment弹出去压进来(栈) NavController 控制把哪个页面弄进来,把哪个页面弄出去 NavGraph 想控制把哪个页面弄进来,把哪个页面弄出去就得使用Na 阅读全文
posted @ 2021-09-29 10:10 涂妖教 阅读(430) 评论(0) 推荐(0)
摘要:ViewModel在activity重新创建(进入后台,屏幕翻转,语言切换)数据都不会丢失,但是当后台把ViewModel杀死进程之后,ViewModel也会被杀死,UI数据全没了,咋办? 用ViewModelSavedState。 MyViewModel package com.example.v 阅读全文
posted @ 2021-09-28 17:04 涂妖教 阅读(202) 评论(0) 推荐(0)
摘要:老写button = findViewById()之类的太费劲了,而且还容易出错,并且后期我们的页面不可能一成不变,页面改变意味着很多地方要改变,这种情况咋办?用 DataBinding解决。 想用DataBingding就得在build.gradle的Android中添加一句话。别忘了syc no 阅读全文
posted @ 2021-09-27 15:57 涂妖教 阅读(166) 评论(0) 推荐(0)
摘要:LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。 自动刷新数据 阅读全文
posted @ 2021-09-27 14:39 涂妖教 阅读(475) 评论(0) 推荐(0)
摘要:在传统开发模式下,activity的任务太重了,既要负责逻辑处理还要负责UI展示,甚至还得处理网格回调。在小项目里这么写没啥问题,但在大项目中写就会非常臃肿难以维护。。。 viewModel的一个重要作用就是可以帮助Activity分担一部分工作,它是专门用于存放与界面相关的数据的。也就是说,只要界 阅读全文
posted @ 2021-09-27 13:37 涂妖教 阅读(106) 评论(0) 推荐(0)
摘要:点击按钮,添加了一个英文文本,切换系统语言,那个英文文本自动切换成对应语言。 正常我们直接把字符串写死了,但是这样的话资源和我们的程序没有分离,纠缠在一起,不利于我们对程序的维护和翻译。 解决:我们在strings.xml中点击open editor 点击小球,添加翻译 阅读全文
posted @ 2021-09-27 10:34 涂妖教 阅读(58) 评论(0) 推荐(0)
摘要:gridview_item <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="ver 阅读全文
posted @ 2021-09-25 23:00 涂妖教 阅读(56) 评论(0) 推荐(0)
摘要:mvc 小打小闹 导致activity过于庞大 mvp 升级阶段 接口地狱 mvvm 再次升级阶段 不使用接口回调,而是使用dataBind双向绑定来传递数据 MVVM + JetPack = "谷歌标准化JetPack架构模式" 黄金时代 目前和未来趋势 使用传统模式 完成功能(列出所有问题) N 阅读全文
posted @ 2021-09-24 15:18 涂妖教 阅读(58) 评论(0) 推荐(0)
摘要:intent就是组件和组件之间的跳转,比如说后期的服务等等,都要用到intent 跳转并传值(静态注册) package com.example.myactivity77; import androidx.appcompat.app.AppCompatActivity; import android 阅读全文
posted @ 2021-09-22 16:39 涂妖教 阅读(97) 评论(0) 推荐(0)
摘要:例:比如说要写一个购物,卖票类的软件,那么用户可以设置抢票提醒(加购后开抢自动提醒),或者直接向日历中插入一个事件。 阅读全文
posted @ 2021-09-22 11:24 涂妖教 阅读(68) 评论(0) 推荐(0)
摘要:内容提供者介绍 按照我们上节课创建的数据库,按照linux里的权限规则,每三个一组,第一组表示自己的权限,第二组表示与自己同组的权限,第三组表示第三方用户的权限。 所以,第三方用户是没有权限执行本应用的内容的。于是,就需要这么一个内容提供者了。 内容提供者应用场景: 向日历里插入提醒事件: 微信、Q 阅读全文
posted @ 2021-09-17 17:09 涂妖教 阅读(114) 评论(0) 推荐(0)
摘要:ContentProvider主要用于在不同的应用程序之间实现数据共享的功能,它提供一套完整的机制,允许一个程序访问另一个程序中的数据,同时还保证被访问数据的安全性。目前,使用ContentProvider是Android实现跨程序共享数据的标准方式。 项目结构如下: User.class pack 阅读全文
posted @ 2021-09-16 16:54 涂妖教 阅读(65) 评论(0) 推荐(0)
摘要:Android系统是内置数据库的!!!SQLite是一款轻量级的关系型数据库,运行速度快占资源少(几百KB内存就够) 1.写一个类去继承SqliteOpenhelper 2.实现里面的方法,创建构造方法 参数解释: //实现参数短的构造方法就行了 /* * context 上下文 * name 数据 阅读全文
posted @ 2021-09-14 17:11 涂妖教 阅读(224) 评论(0) 推荐(0)
摘要:安卓手机只能读写在/data/data 或者sdcard中 SharedPreference 四大组件之学习contentProvider之前要学习数据持久化->SharedPreference SharedPreference轻量级数据存储,一般存储app设置的一些信息,例如用户设置的一些是否自动 阅读全文
posted @ 2021-09-13 15:02 涂妖教 阅读(120) 评论(0) 推荐(0)
摘要:1.理论概述 2.1本地service 2.2service的生命周期 3.远程service 3.1理解 3.2使用远程service 4.应用联系 4.1使用本地service播放音乐 4.2使用远程service挂断电话 4.3实现黑名单电话的自动拦截 service是什么? service是 阅读全文
posted @ 2021-09-11 21:17 涂妖教 阅读(258) 评论(0) 推荐(0)
摘要:用俗话说就是长期于后台运行的程序。如果官方一点,首先是一个组件用于长期运行的任务,并且与用户没有交互。每一个服务都需要在配置文件AndroidMainfest.xml里进行声明,如何声明? 使用<service>标签,其实跟前面的activity,广播接收者receiver一样声明。 通过Conte 阅读全文
posted @ 2021-09-10 09:36 涂妖教 阅读(127) 评论(0) 推荐(0)
摘要:跟ListView效果基本接近,但是性能,效果与灵活性比ListView强 它还可以横向滚动,能够显示列表,网格,瀑布流等形式,且不同的ViewHolder能够实现item多元化功能,但是使用起来稍微麻烦一点,没有类似ListView的onItemClickListener监听事件,需要开发者自己实 阅读全文
posted @ 2021-09-08 22:01 涂妖教 阅读(92) 评论(0) 推荐(0)
摘要:广播有发射塔,有收音机 比如说升级系统,先检测一下电量,电量够才能升级 BroadcastReceiver就相当于一个收音机 (广播接收者) 标准广播:广播发出后,所有的收音机(BroadcastReceiver)会在同一时刻接收到这条广播消息,效率高,无法被截断。 有序广播:链式传递消息,同一时刻 阅读全文
posted @ 2021-09-08 11:09 涂妖教 阅读(152) 评论(0) 推荐(0)
摘要:他俩是独立的生命个体,关系其实并没有那么密切,通信不是很方便 1.activity 把信息传递给 fragment Android的原生方案是利用 Bundle进行通信 Bundle可以理解为一个可以保存数据的类 bundle类中加入数据(key -value的形式,另一个activity里面取数据 阅读全文
posted @ 2021-09-07 13:44 涂妖教 阅读(240) 评论(0) 推荐(0)
摘要:首先是activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http:/ 阅读全文
posted @ 2021-09-07 11:05 涂妖教 阅读(165) 评论(0) 推荐(0)
摘要:新建两个Fragment,一个Fragment1一个Fragment2 Fragment1 package com.example.myfragment; import android.os.Bundle; import androidx.fragment.app.Fragment; import 阅读全文
posted @ 2021-09-07 09:52 涂妖教 阅读(1224) 评论(0) 推荐(0)
摘要:左边点击新闻标题,右边显示新闻内容。 最开始是为了平板的简洁来使用。 现在手机也是,点击底部各个item就在上面显示一个界面。 什么是Fragment 1.具备生命周期 2.必须寄生在宿主activity中才能使用 Fragment就像一个小的activity,且在宿主activity活着的情况下他 阅读全文
posted @ 2021-09-07 09:26 涂妖教 阅读(204) 评论(0) 推荐(0)
摘要:相比于用startService启动的Service,bindService启动的服务具有如下特点:1. bindService启动的服务在调用者和服务之间是典型的client-server的接口,即调用者是客户端,service是服务端,service就一个,但是连接绑定到service上面的客户 阅读全文
posted @ 2021-09-06 22:25 涂妖教 阅读(176) 评论(0) 推荐(0)
摘要:活动代表了一个具有用户界面的单一屏幕,如 Java 的窗口或者帧。 Android 的活动是 ContextThemeWrapper 类的子类。 如果你曾经用 C,C++ 或者 Java 语言编程,你应该知道这些程序从 main() 函数开始。很类似的,Android 系统初始化它的程序是通过活动中 阅读全文
posted @ 2021-09-06 17:28 涂妖教 阅读(151) 评论(0) 推荐(0)
摘要:ViewPager是什么东西 主界面 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://s 阅读全文
posted @ 2021-09-06 15:39 涂妖教 阅读(50) 评论(0) 推荐(0)
摘要:整体项目结构 main_activity.xml写一个ListView <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xml 阅读全文
posted @ 2021-09-05 15:37 涂妖教 阅读(35) 评论(0) 推荐(0)
摘要:divider分割线,其实是一个图片放在drawable下面 阅读全文
posted @ 2021-09-05 13:42 涂妖教 阅读(39) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-09-05 12:26 涂妖教 阅读(32) 评论(0) 推荐(0)
摘要:完成这样的效果 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.andr 阅读全文
posted @ 2021-09-05 11:04 涂妖教 阅读(110) 评论(0) 推荐(0)
摘要:ToolBar就是用来替换这个东西的 ToolBar常用属性 我们想用ToolBar的话先把原来的给禁用掉 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/a 阅读全文
posted @ 2021-09-05 10:35 涂妖教 阅读(594) 评论(0) 推荐(0)
摘要:Notifaction常用的方法 必须要设置前三个,不设置不好用 注意 package com.example.sixnotification; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.Not 阅读全文
posted @ 2021-09-04 21:45 涂妖教 阅读(63) 评论(0) 推荐(0)
摘要:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/ 阅读全文
posted @ 2021-09-04 20:02 涂妖教 阅读(51) 评论(0) 推荐(0)
摘要:自动调整view的界限 adjust 阅读全文
posted @ 2021-09-04 18:14 涂妖教 阅读(43) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-09-04 18:04 涂妖教 阅读(39) 评论(0) 推荐(0)
摘要:public class MainActivity extends AppCompatActivity { private final String zouhao = "啊啊啊啊啊: "; @Override protected void onCreate(Bundle savedInstanceS 阅读全文
posted @ 2021-09-04 16:44 涂妖教 阅读(229) 评论(0) 推荐(0)
摘要:<!-- 有时候我们的background不好使,老版本好用,这时候就需要我们去style.xml改点东西了-->更改一下这东西即可 好的现在背景颜色好用了,我又增加了个需求,按下和松手的颜色要不一致,咋办??? 我们可以新建一个在drawable文件夹下新建一个Drawable resources 阅读全文
posted @ 2021-09-04 14:12 涂妖教 阅读(103) 评论(0) 推荐(0)
摘要:我们想要让跑马灯动起来一共有三种方法 首先是第一种方法 用TextView控件 <!--字必须得足够长超出屏幕那跑马灯的效果才明显--> <!--字太多了就自动换行了咋办?设置为单行--> <!--但是设置为单行之后文字变成了省略号咋办,没事,ellipsize="marquee"就是跑马灯--> 阅读全文
posted @ 2021-09-04 13:26 涂妖教 阅读(169) 评论(0) 推荐(0)
摘要:<TextView android:id="@+id/tv_two" android:text="@string/tv_one" android:shadowColor="@color/myColor" android:shadowRadius="3.0" android:shadowDx="10. 阅读全文
posted @ 2021-09-04 11:50 涂妖教 阅读(45) 评论(0) 推荐(0)
摘要:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/a 阅读全文
posted @ 2021-09-04 11:44 涂妖教 阅读(95) 评论(0) 推荐(0)