![](https://img-blog.csdnimg.cn/20191019084042445.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android学习
「已注销」
这个作者很懒,什么都没留下…
展开
-
017_Android Fragment 碎片
Fragment的继承关系Fragment的继承关系.pngFragment的实现方式创建一个类,继承Fragment 重写父类的方法onCreateView() 在onCreateView()方法中,为Fragment创建UI界面Java代码 MyFragment类import android.os.Bundle;import android.suppo...原创 2019-07-09 16:53:00 · 98 阅读 · 0 评论 -
018_Android ViewPager
ViewPage的继承关系ViewPager的继承关系.png是android中专门用来实现左右滑动切换View效果的系统控件 是android-support-v4.jar包提供的 只能左右滑动ViewPage实现轮播图 MainActivity类import android.os.Bundle;import android.os.Handler;impo...原创 2019-07-11 20:39:00 · 94 阅读 · 0 评论 -
我踩过的坑之ListView嵌套多选框
ListView的复用虽然大大提升了性能,但是却也带来很多问题,比如在listview的item中存在CheckBox时也会由于复用convert view导致CheckBox的选中状态错乱,下面贴出我的解决方法 --> 多选框的的属性值唯一MainActivity的布局<?xml version="1.0" encoding="utf-8"?><Relativ...原创 2019-07-11 21:10:00 · 131 阅读 · 0 评论 -
019_ViewPager +Fragment+TabLayout
需要导入的依赖mplementation 'com.android.support:design:29.0.0'MainActivity类布局<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androi...原创 2019-07-12 17:26:00 · 79 阅读 · 0 评论 -
020_ SharedPreferences存储和运行时权限
Android的存储方式使用SharedPreferences存储数据 文件存储数据 SQLite数据库存储数据 使用ContentProvider存储数据 网络存储数据SharedPreferences是一个采用Key/value的方式存储轻量级数据的接口。轻量级的数据存储方式 采用Key/value的方式进行映射SharedPreferences的简单使用 初始...原创 2019-07-12 20:04:00 · 989 阅读 · 0 评论 -
021_Android 读写文件
import android.os.Bundle;import android.os.Environment;import android.os.Handler;import android.os.Message;import android.util.Log;import android.widget.TextView;import androidx.annotation.Non...原创 2019-07-14 19:39:00 · 67 阅读 · 0 评论 -
022_Android SQLite数据库
SQLite数据库介绍 Android系统中集成的轻量级的数据库 特点 : 轻量级;只用一个动态的库;是以单个文件的形式进行存取;跨平台;支持多个操作系统;零配置;无需安装;直接使用;嵌入式,内嵌到手机中 在程序的内部可以通过数据库的名称访问, 其他应用不能访问 路径: data/data/应用程序包名/database/ * * * *.db 存放的...原创 2019-07-15 20:57:00 · 78 阅读 · 0 评论 -
023_Android ContentProvider内容提供者
Android ContentProvider内容提供者ContentProvider内容提供者(四大组件之一)主要用于在不同的应用程序之间实现数据共享的功能。三个重要的点:ContentProvider : 内容提供者 ContentResolver : 内容解析这 Uri : 地址自己写的提供者建议一个对外部开发的数据库 自定义ContentProvider 清单文件...原创 2019-07-16 17:12:00 · 137 阅读 · 0 评论 -
016_Android Notitfcation 通知
Notificationnotification是在系统的通知栏中呈现多样式持久性消息的类。在通知栏显示 消息持久性 种类多样性notification的继承关系notification的继承关系.png普通通知Java代码import android.app.Notification;import android.app.Notification...原创 2019-07-08 15:57:00 · 117 阅读 · 0 评论 -
015_Android Menu菜单及PopupWindow弹窗
Meun的继承关系Menu的继承关系.pngContextMenu上下文菜单 在res文件夹中创建menu菜单 在res/menu中创建菜单文件 <?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/and...原创 2019-07-06 11:04:00 · 301 阅读 · 0 评论 -
Android RxLifecycle自动取消订阅 解决内存泄漏
导入依赖 implementation 'com.trello.rxlifecycle2:rxlifecycle:2.2.1' implementation 'com.trello.rxlifecycle2:rxlifecycle-android:2.2.1' implementation 'com.trello.rxlifecycle2:rxlifecycle-compon...原创 2019-09-04 22:11:37 · 371 阅读 · 0 评论 -
Android RxPermissions动态申请权限
添加依赖 implementation 'io.reactivex.rxjava2:rxjava:2.2.6' implementation 'io.reactivex.rxjava2:rxandroid:2.1.0' implementation 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar'清单文...原创 2019-09-04 22:00:45 · 389 阅读 · 0 评论 -
Android 手动组件化
手动组件化步骤1. 新建module2. 配置清单文件3. 在gradle.properties文件中设置每个Module是否需要单独编译的变量4. 配置每个module的build.gradle文件5. 在主module中根据每个module都有的布尔值变量来导入依赖6. 大功告成!!!1. 新建module2. 配置清单文件复制两个清单文件放在不同的文夹下 一个作为Applica...原创 2019-09-02 14:43:02 · 122 阅读 · 0 评论 -
Android ButterKnife
**ButterKnife**专注于Android系统的View注入框架,当一个布局十分复杂时,需要引入执行大量的findViewById代码来找到View的对象,有了ButterKnife可以很轻松的省去这些步骤。使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。项目集成起来也是特别方便,使用起来也是特别简...原创 2019-09-02 14:01:34 · 93 阅读 · 0 评论 -
025_Android BroadcastReceiver
定义 :即广播,是一个全局的监听器,属于Android四大组件之一。Android广播分为两个角色:广播发送者、广播接收者。作用:监听/接受 应用App发出的消息原理原理.png系统发广播 APP接受接收MainActivity类import androidx.appcompat.app.AppCompatActivity;import android.co...原创 2019-07-18 22:43:00 · 115 阅读 · 0 评论 -
026_Android Service
ServiceService介绍Service 服务 是四大组件之一 和Activity非常相似 后台运行 没有界面 在清单文件中注册 都有自己的生命周期Service特点Service 在后台运行 不用与用户进行交互 即使应用退出 服务也不会停止 当应用进程被杀死时 服务便会停止 Service运行在主线程中 但需要执行耗时操作的时候 需要在服务中创建子线程完成 Servi...原创 2019-07-22 20:28:00 · 183 阅读 · 0 评论 -
038_Android DrawerLayout
DrawerLayout**是Android官方提供的抽屉布局,在布局文中直接创建<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_par...原创 2019-08-12 16:23:00 · 84 阅读 · 0 评论 -
039_Android 照相机与fileprovider机制
截图记得添加读写内存权限 public void screenshot(){ View view = getWindow().getDecorView(); //设置可缓存 view.setDrawingCacheEnabled(true); //开始缓存 view.buildDrawingCache();...原创 2019-08-13 16:48:00 · 118 阅读 · 0 评论 -
040_Android Banner框架
Banner Android轮播图框架Github地址:https://github.com/youth5201314/banner简单使用:布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi...原创 2019-08-15 14:17:00 · 109 阅读 · 0 评论 -
042_Android 高德API的使用之显示地图
创建项目 并配置清单文件 添加需要的权限 <!--6.0以后记得动态获取权限--> <!--允许程序打开网络套接字--> <uses-permission android:name="android.permission.INTERNET" /> <!--允许程序设置内置sd卡的写权限--> <us...原创 2019-08-16 11:48:00 · 148 阅读 · 0 评论 -
043_Android 高德API的使用之显示定位蓝点
创建项目 并配置清单文件 添加需要的权限 <!--6.0以后记得动态获取权限--> <!--允许程序打开网络套接字--> <uses-permission android:name="android.permission.INTERNET" /> <!--允许程序设置内置sd卡的写权限--> <us...原创 2019-08-16 11:50:00 · 163 阅读 · 0 评论 -
044_Android 高德API的使用之获取POI数据
创建项目 并配置清单文件 添加需要的权限 <!--6.0以后记得动态获取权限--> <!--允许程序打开网络套接字--> <uses-permission android:name="android.permission.INTERNET" /> <!--允许程序设置内置sd卡的写权限--> <us...原创 2019-08-16 11:53:00 · 359 阅读 · 0 评论 -
045_Android 高德API的使用之绘制点标记
创建项目 并配置清单文件 添加需要的权限 <!--6.0以后记得动态获取权限--> <!--允许程序打开网络套接字--> <uses-permission android:name="android.permission.INTERNET" /> <!--允许程序设置内置sd卡的写权限--> <us...原创 2019-08-16 11:56:00 · 442 阅读 · 0 评论 -
046_Android 高德API的使用之导航
创建项目 并配置清单文件 添加需要的权限 <!--6.0以后记得动态获取权限--> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_ST...原创 2019-08-16 15:15:00 · 174 阅读 · 0 评论 -
037_Android SlidingMenu
SlidingMenu:允许开发人员轻松创建带有滑动菜单的应用程序导入SlidingMenu的库 可以去 SlidingMenu下载SlidingMenu的简单使用public void initSlidingMenu() { slidingMenu = new SlidingMenu(this); //设置模式 slidingMenu...原创 2019-08-12 16:17:00 · 62 阅读 · 0 评论 -
036_Android ActionBar & Toolbar
ActionBar.png如上图所示 这个丑丑的绿色条条就是ActionBar,我们可以用Toolbar将其替换掉 取消系统的ActionBar 在res/values/styles.xml文件里将DarkActionBar替换掉 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">...原创 2019-08-12 15:51:00 · 71 阅读 · 0 评论 -
028_Android AutoLayout屏幕适配
用法 引入依赖 implementation 'com.zhy:autolayout:1.4.5' 在你的项目的AndroidManifest中注明你的设计稿的尺寸。 <meta-data android:name="design_width" android:value="1400" />...原创 2019-08-02 09:33:00 · 98 阅读 · 0 评论 -
029_Android Http的基本使用方法
http协议 :超文本传输协议请求协议 request 响应协议 response 请求首行 响应首行 请求头信息 响应头信息 空行 空行 请求体 响应体 FiddlerFiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,ht...原创 2019-08-02 17:00:00 · 1386 阅读 · 0 评论 -
030_Android MVC模式
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。下面是我...原创 2019-08-04 20:23:00 · 71 阅读 · 0 评论 -
031_Androud OkHttp的基本使用
GET请求 private void okHttpget(String url) { //创建client对象 OkHttpClient client = new OkHttpClient.Builder() //设置连接超时时间 .callTimeout(5, TimeUnit.SECONDS)...原创 2019-08-04 20:38:00 · 105 阅读 · 0 评论 -
032_Android OkGo & Glide
OkGO项目地址:https://github.com/jeasonlzy/okhttp-OkGo导入依赖:implementation 'com.lzy.net:okgo:3.0.4'GET请求public void okGoGet(String url) { OkGo.<String>get(url).execute(new StringCallb...原创 2019-08-06 16:13:00 · 131 阅读 · 0 评论 -
033_Android 蓝牙
Android 蓝牙添加权限(6.0以上需要动态获取权限)//蓝牙权限<uses-permission android:name="android.permission.BLUETOOTH"/>//蓝牙管理权限<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>//网络定位...原创 2019-08-07 21:12:00 · 96 阅读 · 0 评论 -
034_Andorid RecyclerView
RecyclerView自动复用 支持网格布局、线性布局、瀑布流布局 支持动画和多布局 支持自定义分割线基本使用效果图效果图.gifMainActivity类import android.os.Bundle;import android.view.View;import android.widget.Button;import androidx.ap...原创 2019-08-08 16:12:00 · 164 阅读 · 0 评论 -
035_Android BaseRecyclerViewAdapterHelper
配合RecyclerView使用的适配器导入依赖 项目的gradle allprojects { repositories { …… maven { url "https://jitpack.io" } }} 模块的gradle implementation 'com.alibaba:fastjson:1.2.55...原创 2019-08-09 19:16:00 · 275 阅读 · 0 评论 -
047_Android 多语言切换
配置不同语言的资源 利用Locale改变语言设置 配置不同语言的资源*新建Android Resource Directory values文件夹,不同国家的文件夹名字是不一样的(根据需要选择语言和国家)新建资源文件夹.png在对应的资源文件夹下新建strings.xml文件 要和原来的一一对应 比如:<!--中文--><res...原创 2019-08-20 15:55:00 · 83 阅读 · 0 评论 -
024_Android ContentResolver读取短信并自动填充
SMSContent类import android.content.Context;import android.database.ContentObserver;import android.database.Cursor;import android.net.Uri;import android.os.Handler;import android.widget.TextView...原创 2019-07-17 16:31:00 · 242 阅读 · 0 评论 -
014_Android Dialog及自定义Dialog
Dialog的继承关系pic_01.png简单对话框布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android....原创 2019-07-05 20:38:00 · 120 阅读 · 0 评论 -
003_Android常用控件
TextViewTextView是显示文本信息的控件 对应TextView类。 TextView是一个可以向用户展示内容的文本视图。 TextView 只能展示, 而不能编辑。 TextView的继承关系图pic_01.pngTextView的常用属性<TextView android:layout_width="wrap_...原创 2019-07-01 17:19:00 · 138 阅读 · 0 评论