
Android基础
文章平均质量分 75
m0_46211029
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Android基础】EventBus
目录一、EventBus的三要素1、Event2、Subscriber3、Publisher二、EventBus的四种ThreadMode1、POSTING(默认)2、MAIN3、BACKGROUND4、ASYNC三、EventBus的基本用法1、引入依赖2、自定义一个事件类3、在需要订阅事件的地方注册事件4、在需要发布的地方发布事件5、订阅者处理事件6、取消事件订阅一、EventBus的三要素1、Event事件,可以是任意类型2、Subscriber事件订阅者,接收特定的事件。在EventBu原创 2021-03-12 14:09:22 · 250 阅读 · 0 评论 -
【Android基础】ViewPager
目录一、简介二、ViewPager监听三、PagerAdapter1、介绍2、基本使用1)xml引用2)page布局3)创建适配器4)设置适配器四、FragmentPagerAdapter1、介绍2、基本使用1)xml引用2)page布局3)创建Fragment4)创建适配器5)设置适配器一、简介ViewPage是一个ViewGroup,可以包含很多的View,当手指在屏幕上左右滑动的时候,可以切换页面。ViewPager一般与Fragment结合使用比较方便。二、ViewPager监听viewPa原创 2021-03-10 09:44:59 · 206 阅读 · 0 评论 -
【Android基础】Service
Service是Android四大组件之一。它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务。一、回调方法描述onCreate():在服务第一次被创建的时候调用。onStartCommand():每次服务启动的时候调用。onBind():当其他组件通过bindService()来绑定服务时,系统调用该方法。onUnbind():解除绑定的时候调用。onDestroy() :在服务被销毁的时候调用。二、startService创建服务类public class原创 2020-11-13 09:58:33 · 178 阅读 · 0 评论 -
【Android基础】JSON数据解析
一、常用的Json解析类1、JSONObjectJson对象有两个不同的取值方法:get×××(String name)在确定数值存在的条件下使用,否则当无法检索到相关Key时,将会抛出一个Exception信息。opt×××(String name)这个方法相对比较灵活,当无法获取所指定数值时,将会返回一个默认数值,并不会抛出异常。2、JSONArrayJson数组二、案例下载Json资源public class MyAsync extends AsyncTask<Str原创 2020-11-11 14:01:56 · 232 阅读 · 0 评论 -
【Android基础】XML数据解析
一、Xml格式数据简单理解<?xml version="1.0" encoding="utf-8"?><persons> <person id="1"> <name>zhangshan</name> <age>20</age> </person> <person id="2"> <name>lisi</nam原创 2020-11-10 15:12:34 · 213 阅读 · 0 评论 -
【Android基础】OkHttp
OkHttp是一个优秀的网络请求框架一、OkHttp进行Get请求1、使用步骤1)添加依赖dependencies { ...... implementation 'com.squareup.okhttp3:okhttp:4.9.0'}2)新建一个OkHttpClient实例OkHttpClient client = new OkHttpClient();3)构造Request对象 Request request = new Request.Builder原创 2020-11-06 11:08:48 · 170 阅读 · 0 评论 -
【Android基础】HttpURLConnection
一、HttpURLConnection1、使用步骤1)得到connection对象URL url = new URL("https://www.baidu.com");HttpURLConnection connection = (HttpURLConnection) url.openConnection();2)设置请求方式connection.setRequestMethod("GET");3)自由定制//设置连接超时毫秒数connection.setConnectTimeout(原创 2020-11-04 15:45:37 · 227 阅读 · 0 评论 -
【Android基础】多线程
一、为什么使用多线程Android中主线程不能执行耗时操作、不能访问网络等。这些动作会导致主线程被阻塞,容易引起ANR(Application no response)异常。所以必须把访问网络、耗时操作等放入到子线程中执行。Android的主线程(UI线程)是线程不安全的,所以当各个子线程获得数据之后不能直接修改UI,必须把修改UI的权利交给主线程。二、异步消息处理机制——HandlerAndroid中的异步消息处理主要由4个部分组成:Message、Handler、MessageQueue和Loo原创 2020-11-04 10:29:12 · 272 阅读 · 0 评论 -
【Android基础】I/O流
流类结构图一、分类1、按流向分输入流:从文件中读到程序中输出流:从程序中输出到文件中2、按数据传输单位分字节流:以字节为单位传输数据的流字符流:以字符为单位传输数据的流字节流字符流输入流InputStreamReader输出流OutputStreamWriter3、按功能分节点流:直接与数据源打交道的流。直接使用节点流读写不方便,为了更快的读写文件,才有了处理流。处理流:不直接与数据源打交道,与其他的"流"打交道。处理流的构造方法原创 2020-10-29 15:20:14 · 246 阅读 · 0 评论 -
【Android基础】Notification
NotificationChannel是android8.0新增的特性,如果App的targetSDKVersion>=26,没有设置channel通知渠道的话,就会导致通知无法展示。一、使用步骤1、得到NotificationManager//需要一个NotificationManager来对通知进行管理NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVI原创 2020-10-20 13:34:38 · 163 阅读 · 0 评论 -
【Android基础】数据存储之ContentProvider
ContentProvider是Android的四大组件之一主要用于在不同的应用程序之间实现数据共享的功能一、相关介绍1、URI(通用资源标识符 Universal Resource Identifer)作用:代表数据操作的地址,每一个ContentProvider发布数据时都会有唯一的地址。它主要由两部分组成:authority和path。authority是用于对不同的应用程序做区分的,一般为了避免冲突,都会采用程序包名的方式来进行命名。path则是用于对同一应用程序中不同的表做区分的,通常都原创 2020-10-19 15:44:47 · 251 阅读 · 0 评论 -
【Android基础】数据存储之SQLite数据库
一、sql语句1、CREATE TABLE - 创建表CREATE TABLE 表名称(列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,)数据类型描述NULL空值INTEGER整数BIGINT大整数REAL浮点数TEXT字符串BLOB大数据BOOLEAN布尔值2、DROP TABLE - 删除表//如果表books存在,则删除DROP TABLE IF EXISTS books3、ALTER T原创 2020-10-16 09:58:59 · 226 阅读 · 0 评论 -
【Android基础】数据存储之SharedPreferences
SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。一、使用步骤1、得到SharedPreferences对象方法一:getSharedPreferences(String name, int mode)参数一:文件名称参数二:操作模式操作模式有两种:MODE_PRIVATE:默认操作模式。这种模式表示只有当前的应用程序才可以对当前这个SharedPreferences文件进行读写。MODE_原创 2020-10-15 13:15:04 · 170 阅读 · 0 评论 -
【Android基础】数据存储之File存储
一、I/O流1、分类1)按流向分:输入流:从数据源到程序中的流输出流:从程序到数据源的流2)按数据传输单位分:字节流:以字节为单位传输数据的流字符流:以字符为单位传输数据的流字节流字符流输入流InputStreamReader输出流OutputStreamWriter3)按功能分:节点流:直接与数据源打交道的流处理流:不直接与数据源打交道,与其他的"流"打交道常用节点流:InputStreamOutputStreamReade原创 2020-10-15 09:52:57 · 350 阅读 · 0 评论 -
【Android基础】BroadcastReceiver
一、定义BroadcastReceiver:直译是“广播接收者”,所以它的作用是用来接收发送过来的广播的。二、静态注册实例1、定义接收器继承BroadcastReceiver,onReceive()中只打印一个logpublic class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.d("M原创 2020-10-13 14:13:42 · 177 阅读 · 0 评论 -
【Android基础】Fragment
一、什么是FragmentFragment是一种可以嵌入在Activity中的 UI 片段,它能让程序更加合理和充分。地利用大屏幕的空间,因而在平板和目前的大屏手机上应用的非常广泛(只要屏幕大,都会用到Fragment)。一个碎片在一个活动中代表一个行为或用户界面的一部分。 你可以在一个单一的活动中组合使用多个碎片以建立一个多窗格的UI,并且可以在多个活动中重用一个碎片。你可以认为是一个拥有独立生命周期、能够独立接受输入事件、并且可以在活动运行时添加或移除的碎片作为一个活动的模块化部分(有点像一个你可原创 2020-10-12 15:09:57 · 197 阅读 · 1 评论 -
【Android基础】RecyclerView
ListView只能实现数据纵向滚动的效果,如果想实现横向滚动的话,ListView是做不到的。为此,Android提供了一个更强大的滚动控件——RecyclerView。它可以说是一个增强版的ListView。RecyclerView提供了三种布局方式:LinearLayoutManager(线性布局)、GridLayoutManager(网格布局)和StaggeredGridLayoutManager(瀑布流布局)。一、RecyclerView的基本用法(LinearLayoutManager)1原创 2020-09-30 14:10:25 · 428 阅读 · 0 评论 -
【Android基础】ListView
adapter.notifyDataSetChanged():该方法来通知ListView来实时更新显示。一、ListView常用属性android:divider=””列表之间绘制的颜色或者图片。一般开发中用于分隔表项。在实际开发过程中,如果你不想要列表之间的分割线,可以设置属性为@nullandroid:dividerHeight=""divider的高度。android:stackFromBottom=””在ListView和GridView中使用,使它们的内容从底部开始显示。默认是f原创 2020-09-30 09:22:32 · 268 阅读 · 0 评论 -
【Android基础】UI
一、UI布局1、线性布局(LinearLayout)属性描述android:orientation安排指定的方向。“horizontal”表示为一排,“vertical”表示一列。默认为horizontalandroid:gravity内部对齐(容器内全部子控件均遵循该对齐方式)android:layout_gravity外部对齐(针对某一个单独的子控件进行对齐,其他兄弟控件不受影响)android:layout_weight权重(比喻成体重,代表子控件在同原创 2020-09-29 15:03:04 · 166 阅读 · 0 评论 -
【Android基础】探究Activity
一、Activity的生命周期1、Activity的状态每个Activity在其生命周期中最多可能会有4种状态。1)运行状态当一个活动位于栈顶时,这时活动就处于运行状态。2)暂停状态当一个活动不再处于栈顶位置,但仍然可见时,这时活动就进入了暂停状态。3)停止状态当一个活动不再处于栈顶位置,并且完全不可见的时候,就进入了停止状态。4) 销毁状态当一个活动从返回栈中移除后就变成了销毁状态。2、Activity的生命周期示意图onCreate():在Activity第一次被创建的时候调原创 2020-09-29 14:19:21 · 300 阅读 · 0 评论