
Android
文章平均质量分 79
自学原生Android整理笔记
YUFENGSHI.LJ
这个作者很懒,什么都没留下…
展开
-
Android 学习笔记
相当于自己整理的学习目录原创 2024-01-19 16:22:18 · 1166 阅读 · 0 评论 -
Android --- ContentProvider 内容提供者
ContentProvider 是 Android中用于数据共享的机制,主要是用于进程间(App之间)。原创 2024-07-24 16:02:00 · 861 阅读 · 0 评论 -
Android --- 广播
一种相互通信,传递信息的机制,组件内、进程间(App之间)原创 2024-07-22 17:31:30 · 615 阅读 · 0 评论 -
Android - Json/Gson
json对象:花括号开头和结尾,中间是键值对形式————”属性”:属性值””json数组:中括号里放置 json 数组,里面是多个json对象或者数字等。原创 2024-07-03 11:32:11 · 518 阅读 · 0 评论 -
Android --- Service
Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即使启动服务的组件(Activity)已销毁也不受影响。此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行。启动状态当应用组件(如 Activity)通过调用启动服务时,服务即处于“启动”状态。原创 2024-07-01 17:59:29 · 1176 阅读 · 0 评论 -
Android 架构模式
ViewModel层需要持有Model层,并且ViewModel层持有一个LoginObservable,并开放一个getObservable的方法供View层使用。但MVP也存在一些弊端。View层持有ViewModel,用户触发登录事件通过View层交给Model处理,Model层在登录成后将数据交给ViewModel中的观察者。Model层最大的特点是被赋予了数据获取的职责,与我们平常Model层只定义实体对象的行为截然不同。MVVM架构的本质是数据驱动,它的最大的特点是单向依赖。原创 2024-06-25 16:31:25 · 1114 阅读 · 0 评论 -
Android --- LiveData
是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 activity、fragment 或 service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。如果观察者(由类表示)的生命周期处于或状态,则 LiveData 会认为该观察者处于活跃状态。LiveData 只会将更新通知给活跃的观察者。为观察对象而注册的非活跃观察者不会收到更改通知。您可以注册与实现接口的对象配对的观察者。原创 2024-06-25 15:06:49 · 941 阅读 · 0 评论 -
Android --- 异步操作
同步:在发生某件事后什么也不做,直到该事件完成后,再继续进行异步:在某件事发生后,可以在等待他完成的时候去处理其他事件,等到该事件发生完成后,再回过头来处理它。原创 2024-06-17 17:18:50 · 1909 阅读 · 0 评论 -
Android --- UI、View与布局
可以在XML布局文件中使用标记来定义各种视图,比如TextView(文本视图)、Button(按钮)、ImageView(图像视图)等。可以设置视图的属性,如大小、位置、颜色等。1.定义布局2.设置宽高3.设置背景颜色4.设置内容布局// 1.定义布局// 2.设置宽高// 3.设置背景颜色*/根据id找到按钮自定义一个类实现 View.OnClickListener 接口的类,重写里面的 onClick 方法。原创 2024-04-17 14:51:46 · 933 阅读 · 0 评论 -
Android --- RecycleView
是官方在5.0之后新添加的控件,推出用来替代传统的和列表控件。 布局管理器 布局管理器负责处理视图中界面组件的组织(布局)提供了三种布局管理器即:都是通过方法来设置 准备数据项item的布局 如果所有列表项看起来都一样,您可以对所有这些列表项使用相同的布局,但这不是强制性要求。项布局必须与 fragment 的布局分开创建,以便一次创建一个项视图,并在其中填充数据。recycle_view_item.xml 准备显示的数据。 适配器 该适配器可将您的数据与 相关原创 2024-04-25 14:27:45 · 699 阅读 · 2 评论 -
UI问题 --- CardView总是显示为菱形
设置的半径太大,导致变形。将半径改为长宽的一半。原创 2024-06-02 00:47:31 · 442 阅读 · 0 评论 -
Android --- Room数据库(Java)
是一个持久性库,属于 Android的一部分。Room 是数据库之上的一个抽象层。SQLite 使用一种专门的语言 (SQL) 来执行数据库操作。Room 并不直接使用 SQLite,而是负责简化数据库设置和配置以及与数据库交互方面的琐碎工作。此外,Room 还提供 SQLite 语句的编译时检查。原创 2024-05-29 14:50:00 · 1682 阅读 · 0 评论 -
Android --- 交换两个布局
在Android中,ViewGroup(比如LinearLayout、RelativeLayout等)中的子View的顺序是由它们在ViewGroup中的索引(index)决定的。索引表示子View在ViewGroup中的位置,第一个子View的索引为0,依次递增。在上述代码中,通过调用parentLayout.indexOfChild(view)方法可以获取指定子View在其父ViewGroup中的索引位置。4. 再将这两个子布局添加到对方的位置上,通过比较两个索引的大小来确定需要交换的两个布局的顺序。原创 2024-05-27 15:13:34 · 704 阅读 · 0 评论 -
UI问题 --- CardView和其它的控件在同一布局中时,始终覆盖其它控件
CardView 默认会生成阴影效果,这会使其看起来比其他控件高出一层。可以通过 app:elevation 属性或 CardView.setCardElevation() 方法调整 CardView 的高度。card_icon 始终在more_icon之上,但是按照FrameLayout 的特性,最后添加的应该在最上面一层显示。原创 2024-05-23 17:32:54 · 397 阅读 · 0 评论 -
Fragment问题:java.lang.IllegalStateException
这是一个Android应用程序中的严重错误,其中涉及到"java.lang.IllegalStateException"异常。具体来说,错误信息是"Could not execute method for android:onClick",并且也提到了"commit already called"的问题。这种错误通常出现在Fragment的事务提交上,可能是由于重复调用了commit方法导致的。原创 2024-05-23 11:11:05 · 763 阅读 · 0 评论 -
Android --- 图片框架 Glide
由于,最开始我们已经加载显示了这张网络图片,根据Glide非常强大的缓存机制,我们刚才加载那张网络图片的时候Glide自动就已经将它缓存下来了,下次加载的时候将会直接从缓存中读取,不会再去网络下载了,因而加载的速度非常快,所以占位图可能根本来不及显示。使用Glide在绝大多数情况下我们都是不需要指定图片大小的,它不会直接将图片的完整尺寸全部加载到内存中,而是用多少加载多少。顾名思义,占位图就是指在图片的加载过程中,我们先显示一张临时的图片,等图片加载出来了再替换成要加载的图片。因此可以先限制它的缓存功能。原创 2024-05-09 17:57:29 · 1201 阅读 · 0 评论 -
Android --- 消息机制与异步任务
在Android中,只有在UIThread(主线程)中才能直接更新界面,在Android中,长时间的工作联网都需要在workThread(分线程)中执行在分线程中获取服务器数据后,需要立即到主线程中去更新UI来显示数据,所以,如何实现线程间的通信(消息机制)?原创 2024-04-28 18:04:19 · 1204 阅读 · 1 评论 -
Android --- SQlite数据存储
类包含一组用于管理数据库的实用 API。当您使用此类获取对数据库的引用时,系统仅在需要时才执行可能需要长时间运行的数据库创建和更新操作,而不是在应用启动期间执行。您仅需调用或即可。:由于这些操作可能会长时间运行,因此请务必在后台线程中调用或。这两个方法都可以创建或打开一个现有的数据库(如果数据库已存在则直接打开,否则创建一个新的数据库),并返回一个可对数据库进行读写操作的对象。不同的是,当数据库不可写入的时候(如磁盘空间已满)。原创 2024-04-26 11:27:18 · 1297 阅读 · 2 评论 -
Android --- 网络请求
通常在 Android 中进行网络连接一般使用 Scoket 和HTTP,HTTP 请求方式比 Scoket 多。HTTP 请求一般采用原生的 HttpClient 和 HttpUrlConnection 的两种网络访问方式(系统自带的)。原创 2024-04-26 17:22:16 · 2182 阅读 · 1 评论 -
Android --- SharedPreferences
activity.getSharedPreferences(String name,int mode) 可以得到一个sp对象。Data ->Data ->你的包名 -> shared_prefs ->文件名。等方法,为您想要的值提供键;需要多个由名称(使用第一个参数指定)标识的共享偏好设置文件,则使用此方法。对象指向包含键值对的文件,并提供读写这些键值对的简单方法。文件均由框架进行管理,可以是私有文件,也可以是共享文件。API可以保存的相对较小键值对集合。只需使用一个共享偏好设置文件,请从。原创 2024-04-25 17:09:07 · 470 阅读 · 1 评论 -
Android --- 常见UI组件
eg:跑马灯 string类中定义的长文本 ImageViewandroid:adjustViewBounds:设置ImageView是否调整自己的边界来保持所显示图片的长宽比。 android:maxHeight:设置ImageView的最大高度。 android:maxWidth:设置ImageView的最大宽度。 android:scaleType:设置所显示的图片如何缩放或移动以适应ImageView的大小。android:src:设置ImageView所显示的D原创 2024-04-24 14:48:09 · 979 阅读 · 0 评论 -
Android --- Activity
Activity 提供窗口,供应在其中多个界面。此窗口通常会填满屏幕,但也可能小于屏幕并浮动在其他窗口之上。大多数应用包含多个屏幕,这意味着它们包含多个 Activity。通常,应用中的一个 Activity 会被指定主 Activity,即用户启动应用时显示的第一个屏幕。然后,每个 Activity 都可以启动另一个活动,以执行不同的操作。Activity提供一个能让用户操作并与之交互的界面。原创 2024-04-17 11:36:31 · 1744 阅读 · 0 评论 -
Android --- ListView与适配器
ListView 绑定的适配器是 BaseAdapter。原创 2024-01-22 17:46:15 · 1783 阅读 · 0 评论 -
Android --- 适配器
ListViewItemItemAdapter适配器(Adapter):作为View和 数据之间的桥梁 & 中介,将数据映射到要展示的View中ListViewAdapter。原创 2024-01-22 17:12:20 · 1929 阅读 · 0 评论 -
Android --- 对话框
true原创 2024-01-21 23:49:23 · 627 阅读 · 0 评论 -
Android--- 弹窗PopupWindow
参数一 ,用在弹窗中的View(注意不是布局资源id,所以要根据布局资源id转换成view)创建风格,应用动画资源 - 打开values 下的 themesxml 文件,添加一下代码。在res目录下新建 anim文件,新建动画资源。参数四 是否获取焦点。原创 2024-01-21 19:15:13 · 1446 阅读 · 2 评论 -
Android --- 菜单 Menu
在 activity_main.xml 布局对应的 activity 中的 onCreate() 方法中进行注册。在onCreateOptionsMenu 方法里利用以上类添加选项菜单,菜单项序号是指菜单项的位置。在需要添加选项菜单的布局对应的activity中创建选项菜单-此时是MainActivity。在activity_main.xml里添加一个按钮用以打开上下文菜单。为这个按钮添加点击事件,并将弹出式菜单绑定在按钮的点击事件上。一般出现在被绑定的View下方,如果下方没有空间则出现在上方。原创 2024-01-21 18:54:11 · 1368 阅读 · 0 评论 -
Android --- Fragment
直接在布局文件中完成配置,通过android:name属性指定 Fragement 的路径1.在需要的布局()中添加fragment的控件此时的添加的fragment控件没有样式2.创建一个空的Fragment类,并删除这个新Fragment类中的多余代码只留 onCreateView(),Fragment创建视图时会调用这个方法注意!LayoutInflater和findViewById的不同。原创 2024-01-19 16:23:26 · 1837 阅读 · 0 评论