![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
#Android
文章平均质量分 80
3Blue1Red
=-=
展开
-
Android框架 使用DataBinding绑定View
数据绑定库是一个 Android Jetpack 库,它允许您使用声明性格式而不是通过编程方式将XML布局中的UI组件绑定到应用程序中的数据源,从而减少了样板代码。dataBinding 可以很好的和 View Model 配合使用。这里就简单学习一下 dataBinding 防止碰到的时候看不懂。原创 2021-05-11 17:46:35 · 1860 阅读 · 1 评论 -
Android控件 状态颜色控制ColorStateList简单使用
Refer from : How do I create ColorStateList programmatically?https://stackoverflow.com/questions/15543186/how-do-i-create-colorstatelist-programmatically?answertab=active#tab-topprivate class ColorStateListBuilder { List<Integer> colors = new A原创 2021-01-22 14:51:35 · 1905 阅读 · 0 评论 -
Android开发 创建与获取Assets目录
一、创建 Assets 目录先创建一个文件,位于编译后的class文件目录。然后再把该文件的绝对路径做截取,便能得到项目在电脑上的绝对路径(每个项目在电脑上路径都不一样)。再拼接上src/main/assets便能实现 Assets目录JSON文件的创建了。StandardLocation.CLASS_OUTPUT:java文件生成class文件的位置,/app/build/intermediates/javac/debug/classes/目录下private final static String原创 2021-01-21 17:13:46 · 1314 阅读 · 0 评论 -
Android控件 自定义Spinner微调框
一、使用 XML 代码设置 Spinner在 values 文件夹中创建 array.xml 文件<resources> <string-array name="spinner_array"> <item>请选择</item> <item>动作</item> <item>科幻</item> <item>冒险</item原创 2021-01-17 19:42:55 · 661 阅读 · 0 评论 -
AndroidStudio插件 GsonFormatPlus使用
How to use lombok plugin in Android Studio?https://stackoverflow.com/questions/37991892/how-to-use-lombok-plugin-in-android-studio原创 2021-01-17 12:46:56 · 9219 阅读 · 3 评论 -
Android框架 使用ViewBinding和ButterKnife
ButterKnife 10.2.3 Github 网站:https://github.com/JakeWharton/butterknife进入 github 网站就可以看到:Attention: This tool is now deprecated. Please switch to view binding. Existing versions will continue to work, obviously, but only critical bug fixes for integrati原创 2021-01-16 16:48:23 · 932 阅读 · 0 评论 -
Android数据库 GreenDao简单使用
一、GreenDao 简介Android 平台的对象关系映射工具(ORM)为关系型数据库提供面向对象的接口简化数据库操作所谓ORM框架,即Object Relational Mapping,它的作用是在关系型数据库和对象之间作一个映射。这样在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了。个人觉得Jetpack的Room更好用一些。1. GreenDao 的核心概念某实体类 -> 某表持久对象,通常实体是使用标准 Java 属原创 2020-12-30 16:16:53 · 535 阅读 · 1 评论 -
Android框架 使用Glide加载图片
Glide很好用很好用很好用很好用很好用。一、原生代码加载图片对比使用URLConnection配合Hanlder加载图片。1. 申请网络权限<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cleartextTrafficPermitted="true"/></network-security-config> <uses-pe原创 2020-12-25 18:24:04 · 577 阅读 · 0 评论 -
Android控件 RecyclerView基本使用/常见问题
RecyclerView 很强大很好用,直接开整。一、RecyclerView 准备工作Gradle 中引入 dependencies 闭包dependencies { implementation 'androidx.recyclerview:recyclerview:1.1.0'}修改 activity_main.xml,配置按键 和 RecyclerView 控件 layout<?xml version="1.0" encoding="utf-8"?><Li原创 2020-12-25 14:19:56 · 588 阅读 · 0 评论 -
Android网络 Retrofit简易用法
一、简介及使用前配置Retrofit 是对 OkHttp 的封装,是主流的网络框架。Retrofit Github 主页:https://github.com/square/Retrofit使用 Retrofit 学习常见的网络请求GET 请求普通 POST form 请求Content- Type: application/x-www-form-urlencoded支持文件上传的 POST form 请求Content-Type: multipart/form-data; boundar原创 2020-12-07 23:48:05 · 853 阅读 · 1 评论 -
Android网络 OkHttp简易用法/回调/Builder设计模式
这么多网络框架为什么使用OkHttp?因为不仅在接口封装上做的简单易用,在底层实现上也上自成一派,比起原声的HttpURLConnection,可以说上有过之而无不及,现在已经成了广大Android开发者首选的网络通信库。OkHttp项目主页:https://github.com/square/okhttp使用OkHttp学习常见的网络请求GET普通POST form请求Content- Type: application/x-www-form-urlencoded支持文件上传的POST fo原创 2020-12-04 16:54:22 · 1156 阅读 · 0 评论 -
Android多线程 AsnycTask异步任务类使用
一、AsnycTask的使用:1.定义AsyncTask异步任务类,比Handle更轻量级,更适合简单的异步操作。内部封装了Handle,在使用AsyncTask类进行刷新控件的刷新操作时,不用再额外创建声明Handle,可以直接使AsyncTask内部封装好的几个方法实现。2.同步和异步的区别同步:当我们执行某个功能时,在没有得到结果之前,这个调用就不能返回!简单点就是说必须等前一件事做完才能做下一件事;举个简单的例子:比如你啪啪啪,为了避免弄出人命,肯定要先戴好套套,然后再啪啪啪是吧~套套戴好,原创 2020-11-12 16:59:00 · 326 阅读 · 0 评论 -
Android本地存储 SharePreference和读取设备内外数据
Android常用数据存储1.SharedPreferences存储数据SharedPreferences用于存放一-些类似登录的配置信息本质上是一个xml文件,是通过类似键值对的方式存放信息位于程序私有目录中,即data/data/[packageName]/shared_ prefsSharedPreferences操作模式MODE_ PRIVATE: 私有方式存储,其他应用无法访问MODE_ WORLD_ READABLE:可被其他应用读取MODE_ WORLD_ WRITEAB原创 2020-10-16 02:12:37 · 936 阅读 · 0 评论 -
Adnroid组件 Activity数据传递/DialogActivity使用
一、Activity Dialog 概述在使用 Dialog 时,如果需要用到很多自己设计的控件,虽然可以让弹出框显示出我们需要的界面,但却无法找到地方完成控制代码的编写,如何解决这个问题呢,我们可以将Activity伪装成Dialog弹出框,这样既显示了界面,又可以在Activity里写控制代码。这就是DialogActivity。默认情况下,一个 Activity 占据整个屏幕。然而,可以为一个 Activity 设置一个“对话框”主题,这样它就能像一个浮动的对话框显示出来了。举个例子,你可能想要把原创 2020-10-03 00:42:51 · 2269 阅读 · 1 评论 -
Android组件 Activity的显式启动与隐式启动详解
显式启动:显式启动比较简单,首先创建一个Intent,指定应用程序上下文和需要启动的Activity,然后调用startActivity来启动新的Activity。<!--AndroidManifest.xml--><activity android:name=".SecondActivity"></activity>//启动ActivityIntent it = new Intent(this, SecondActivity.class);startAct原创 2020-10-02 19:25:23 · 3466 阅读 · 0 评论 -
Android组件 Activity隐藏标题栏和标题栏
Android关闭标题栏的方法:一般是修改xml文件中的主题达到无标题栏的效果。1.直接修改AndroidManifest.xml文件中的theme属性为NoActionBar2.修改values文件夹中的style.xml文件3.继承Activity,在setContenView之前添加以下代码:requestWindowFeature(Window.FEATURE_NO_TITTLE);Android关闭状态栏方法:一般的方法就是设置应用为全屏,达到状态栏不显示的效果。1.在原创 2020-10-01 22:39:58 · 1422 阅读 · 0 评论 -
Android组件 Activity的生命周期详解
Activity类中定义了七种回调方法:1.onCreate()活动第一次被创建的时候调用。主要进行一些初始化的操作2.onStart()在活动从不可见到可以看见的时候调用3.onResume()在活动准备好与用户交互的时候调用,此时活动一定位于栈顶4.onPause()系统准备启用或者恢复另一个活动的时候调用,通常在这个方法中将消耗的CPU资源释放,保存数据5.onStop()在活动完全看不见的时候调用,而onPause(),在活动处于暂停状态也会调用,6.onDestroy()在原创 2020-10-01 17:53:55 · 153 阅读 · 0 评论 -
Java 强引用和弱引用及Handler内存泄漏问题
Java中的强引用和弱引用一、概述众所周知, Java中是由JVM负责内存的分配和回收,它的优点是使用方便, 程序员不用再像使用那样操心内存,但同时也是它的缺点,不够灵活。为了解决内存操作不灵活这个问题,可以采用弱引用等方法。在JDK1.2以前的版本中,当-个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。但有时候情况并不这么简单,你可能会遇原创 2020-09-28 18:06:26 · 575 阅读 · 0 评论 -
Android多线程 Handler简单使用
使用Handler来更新UI:Handler是Android提供用于更新UI的一套消息处理机制。主要作用有两个:在新启动的线程中发送消息在主线程中获取并处理消息//1.实例化 Handler//2.在子线程中发送空消息//3.Handler对象接受消息,并处理private Handler handler = new Handler() { //只要Handler发了消息,必然会触发该方法,并且传入一个Message对象 @Override public void原创 2020-09-22 12:36:07 · 426 阅读 · 0 评论 -
Android解析网络数据 JSONObject与GSON
文章底部为测试使用的JSON字符串获取方法。使用JSONObject处理网络数据JSON使用格式如下,使用逗号分隔:JSON 键值对 “key” : “value” ,JSON 对象 {…} ,JSON 数组 […] ,主要使用方法:getJSONObject() 获取JSON对象new JSONObject(str) JSON格式要求的字符串,返回一个JSON对象getString() 获取JSON字符串getInt() 获取JSON整型数据下面我们来处理这一段JSON数据,原创 2020-09-18 16:05:02 · 861 阅读 · 0 评论 -
Android网络请求 HttpURLConnection简易用法
想要使用Http协议的Get与Post方法首先需要执行一下两个步骤。1.新建xml文件夹,在此目录下创建网络配置文件:network-security-config.xml<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cleartextTrafficPermitted="true"/></network-security-config>原创 2020-09-18 01:31:07 · 418 阅读 · 0 评论 -
Android控件 PopupWindow自定义实现
自定义 popup window 的样式、现实淡入淡出效果以及点击内容的实现。实现效果展示:Step 1 :新建Layout文件,编写想要实现 popup window 的布局样式,以下为参考代码实现:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="ho原创 2020-09-15 01:34:26 · 265 阅读 · 0 评论 -
Android控件 常见的Dialog使用方法
https://blog.csdn.net/echome123/article/details/24523913?utm_source=blogxgwz3原创 2020-09-14 19:40:21 · 725 阅读 · 0 评论 -
Android控件 常见的Menu使用方法
Android里的选项菜单中的项目将出现在操作栏中,用户通过操作栏右侧的操作或者点击设备,菜单按钮来溢出菜单图标。这里介绍 context menu、popup menu 和 option menu 的实现方法。contextMenu 创建流程 方法一: 1.创建 menu.xml 文件 2.给菜单注册按钮 registerForContextMenu(findViewById(R.id.button_context)); 3.创建菜单 @Override onCreateCont原创 2020-09-13 19:25:03 · 499 阅读 · 0 评论 -
Android组件 Activity启动模式详细图解
Acitvity的启动模式一共有四种:分别是 standard、singleTop、singleTask 和 singleInstance.1.standatd比较简单就是一个进栈出栈的过程。2.singleTop每当想要在启动一个 MainActivity 的时候都会直接使用栈顶的 Activity 因此 MainActivity 只会有一个实例。<activity android:name=".MainActivity" android:label="MainActivity"原创 2020-09-12 17:54:52 · 205 阅读 · 0 评论 -
Android Studio 100个实用小技巧(13/100)
打开 IDE 的 PreferencesEditor 里的 Live Templates选到自己使用的语言点击右上角加号,参考 IDE 的模板然后写入下面三个框选择下方的 Change 配置使用的语言点击 OK 即可使用自定义模板。原创 2020-09-12 16:12:55 · 988 阅读 · 0 评论 -
Android开发 初学沙雕问题汇总
控件都能找到,为何运行时还是提示空指针异常?引用其他布局里的控件需要先加载布局文件。view = LayoutInflater.from(this).inflate(R.layout.radio_layout, null);RadioGroup radioGroup = view.findViewById(R.id.genderGroup);radioGroup.setOnCheckedChangeListener......原创 2020-09-15 15:09:51 · 438 阅读 · 0 评论