android基础
谈情不如逗狗.
这个作者很懒,什么都没留下…
展开
-
安卓 View 开发 绘制尺子
。。。原创 2022-12-01 17:06:47 · 802 阅读 · 2 评论 -
Android Sqlite 数据库升级时数据丢失解决方案
。。。原创 2022-11-01 15:08:29 · 635 阅读 · 0 评论 -
20个Android Studio顶级插件,让你的工作更高效、更智能、更迅速
。原创 2022-07-11 13:47:23 · 4684 阅读 · 0 评论 -
Android MVP模式详解
一、MVP概述MVP,全称 Model-View-Presenter,即模型-视图-层现器。提到MVP,就必须要先介绍一下它的前辈MVC,因为MVP正是基于MVC的基础发展而来的。两个之间的关系也是源远流长。MVC,全称Model-View-Controller,即模型-视图-控制器。View:对应于布局文件Model:业务逻辑和实体模型Controllor:对应于Activity但是View对应于布局文件,其实能做的事情特别少,实际上关于该布局文件中的数据绑定的操作,事件处理的转载 2022-03-01 13:56:59 · 8266 阅读 · 2 评论 -
Android 下拉刷新,上拉更多 框架实践
activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:lay...原创 2022-02-22 15:36:47 · 590 阅读 · 0 评论 -
androidBLE蓝牙
安卓 ble蓝牙开发原创 2021-12-28 17:30:04 · 2353 阅读 · 0 评论 -
跑马灯灵活控制
import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.util.AttributeSet;import android.view.Display;import android.view.WindowManager;import android.widge...原创 2021-11-05 11:24:52 · 169 阅读 · 0 评论 -
Android UI开发——Material Design界面设计风格
添加依赖:implementation 'com.android.support:design:30.0.3'使用: <com.google.android.material.button.MaterialButton android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:.原创 2021-10-20 16:34:26 · 1548 阅读 · 1 评论 -
Android Material组件使用详解 Button样式
https://blog.csdn.net/magic0908/article/details/101029876转载 2021-10-20 12:05:47 · 216 阅读 · 0 评论 -
Android开发listview选中高亮
百度了好几种listview选中高亮的办法都太繁琐太不友好,我在无意中发现了一种简单有效的办法,而且代码量极少源码如下MainActivity.javapackage com.listviewtest;import android.os.Bundle;import android.app.Activity;import android.graphics.drawable.Drawable;import android.view.View;import android.widg..原创 2021-09-18 17:37:03 · 741 阅读 · 0 评论 -
Android签名证书的sha1值获取方式
https://vchao.blog.csdn.net/article/details/71554321转载 2021-08-02 09:51:24 · 224 阅读 · 0 评论 -
2021-07-18
shape 属性介绍可以通过设置 angle 来自定义渐变方向,它是从左向右、逆时针转的。当 angle 设置为0度时 :当angle设置为90度时:注意:设置的值以45度为一个单位。radial样式的效果图:资源文件layout/activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android...原创 2021-07-18 15:14:53 · 151 阅读 · 1 评论 -
Android 自定义Spinner和其下拉窗口
实现效果:自定义Spinner其实包括两个部分:第一部分是用来打开下拉列表的按钮,如图,这个绿色背景直接设置Spinner的背景就行,素材文件如下: <Spinner android:id="@+id/Spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft=..原创 2021-07-16 14:11:42 · 442 阅读 · 0 评论 -
WebView深度学习(二)之全面总结WebView遇到的坑及优化
上篇文章讲到了WebView的基本使用以及Android和js的交互.这篇文章讲一下WebView遇到的那些坑,带领各位爬坑。这里如果有你没遇到的问题,欢迎留言告诉我,我尽我所能帮你解决。感谢大家支持。⇒ 三、WebView的那些坑(1) 为什么Webview打开一个页面,播放一段音乐,退出Activity时音乐还在后台播放?◆◆ 解决方案 1://销毁Webview@Overrideprotected void onDestroy() { if (mWebvi转载 2021-06-25 11:24:43 · 608 阅读 · 0 评论 -
Android recyclerView/listview的点击变色、点击换背景颜色
需要用到:RecyclerView依赖: //XRecyclerView 框架 implementation 'com.jcodecraeer:xrecyclerview:1.3.2'main layout<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="...原创 2021-05-19 11:53:50 · 1220 阅读 · 2 评论 -
【Android】一个好用的图片选择框架
【Android】一个好用的图片选择框架介绍一个好用的图片选择框架:兼容Android10。 自带权限管理。 可单独调用相册或者单独调用相机,也可以同时调用。 可配置Glide、Picasso、Imageloader等图片加载框架。 可以配置状态栏的颜色等。 框架地址:HuanTanSheng/EasyPhotosgithub.com...原创 2021-05-10 10:07:20 · 1075 阅读 · 0 评论 -
Android之仿微信发朋友圈图片选择功能
最近项目中需要用到发表评论选择多张图片和拍照的功能,于是就仿照微信发表朋友圈的选择图片和拍照做了一个这样的案例,经过查找资料终于完成了此功能,最近有时间就写出来和大家分享一下,希望对大家有所帮助。效果如下图:代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/an...转载 2021-05-10 10:02:34 · 493 阅读 · 0 评论 -
安卓 模拟返回按键
// 服务开启,模拟两次返回键,退出系统设置界面(实际上还应该检查当前UI是否为系统设置界面,但一想到有些厂商可能篡改设置界面,懒得适配了...) performGlobalAction(GLOBAL_ACTION_BACK); mHandler.postDelayed(new Runnable() { @Override public void run() { performGlob...原创 2021-04-23 19:30:57 · 615 阅读 · 0 评论 -
使用ADB指令永久隐藏或禁用状态栏和虚拟按键
原理是强大的ADB命令1、手机开启开发者模式,允许ADB调试2、电脑上下载ADB包adb.rar(529.77 KB, 下载次数: 4581)3、解压到任意位置,比如c:\adb4、cmd命令定位到adb目录,比如:cd c:\adb5、全屏沉浸:adb shell settings put global policy_control immersive.full=*6、沉浸状态栏:adb shell settings put global policy_control immersiv..原创 2021-04-15 16:15:41 · 13031 阅读 · 2 评论 -
Android实现隐藏手机底部虚拟按键
现在的手机比较流行底部带虚拟按键,比如华为、nexus,一般情况下对开发一个APP没啥影响,但是不一般情况下就会有影响的,比如全屏录像功能,用简单的方法直接获取camera支持的手机屏幕分辨率然后用SurfaceView全屏渲染出来,这时由于底部虚拟按键占用了一定的高度的屏幕空间,这时图像会被压缩,特别是拍头像时会很明显,如图:接下来加上几个方法就OK 了,代码如下 1 2 3 4 5 6 7 8 9 10转载 2021-04-15 11:24:53 · 1993 阅读 · 0 评论 -
隐藏底部的虚拟按键
// 隐藏底部的虚拟按键 方法一 滑动屏幕 可重新显示出来 public static void hideBottomUIMenu(Activity activity) { //隐藏虚拟按键,并且全屏 if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api View v = activity.getWindow..原创 2021-04-15 11:21:43 · 432 阅读 · 0 评论 -
Android开发 WebView新窗口中打开子链接
需求:识别链接,如果target=”_blank”,则调用系统浏览器打开该链接.WebView默认没有提供该功能,而WebViewClient里的shouldOverrideUrlLoading方法可以取得URL,再根据URL作相应的处理。所以,我们的思路是:用JS修改带target=”_blank”的链接,使其URL个性化,比如加个前缀什么的,在shouldOverrideUrlLoading方法中判断前缀,再处理.//外层布局<?xml version="1.0" encoding=原创 2021-04-08 10:41:25 · 1539 阅读 · 0 评论 -
Fragment的popBackStack出栈方法总结
使用FragmentTransaction#add/replace切换Fragment时,可以通过addToBackStack将当前提交中的事务压栈,这之后可以通过popBackStack将事务出栈,相当于将事务回滚到前一状态。popBackStack有多个重载函数,不同的参数决定了不同的出栈效果回退到前一状态getFragmentManager().popBackStack();回退到指定ID的状态FragmentManager fm = getFragmentM...原创 2021-04-07 15:13:03 · 1409 阅读 · 0 评论 -
安卓 RecyclerView的使用 下拉刷新 消息从底部向上显示 自动上滚
RecyclerView是Android一个更强大的控件,其不仅可以实现和ListView同样的效果,还有优化了ListView中的各种不足。其可以实现数据纵向滚动,也可以实现横向滚动(ListView做不到横向滚动)。接下来讲解RecyclerView的用法。RecyclerView 基本用法因为RecyclerView属于新增的控件,Android将RecyclerView定义在support库里。若要使用RecyclerView,第一步是要在build.gradle中添加对应的依赖库。添加原创 2021-03-24 17:02:07 · 888 阅读 · 0 评论 -
Android之Fragment回退栈详解
前言:本文将结合开发中的实际需求,来讲解一下Fragment中的回退栈 对于Activity,当按返回键时,能够返回到上一个Activity,但是,当我们Fragment到Activity中时,如果不做任何处理,当按返回键时,当前Fragment都会全部退出,如果想要拥有Activity逐渐退出的效果,我们需要应用一下Fragment中的回退栈案例描述大家可以自行打开京东,你会发现,如果你点击了分类,发现,购物车,我的,按钮,再按返回键的话,会先回到首页,然后再退出应用.这里应用的就是Fragment原创 2021-03-17 17:35:17 · 1977 阅读 · 0 评论 -
Android隐藏和显示输入法
public class InputMethodUtils { //如果输入法在窗口上已经显示,则隐藏,反之则显示 public static void showOrHide(Context context) { InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0,.转载 2021-01-21 17:58:52 · 464 阅读 · 0 评论 -
Android开发之MediaRecorder类详解
手机一般都有麦克风和摄像头,而Android系统就可以利用这些硬件来录制音视频了。为了增加对录制音视频的支持,Android系统提供了一个MediaRecorder的类。该类的使用也非常简单,下面让我们来了解一下这个类:一、类结构: java.lang.Object ? android.media.MediaRecorder 二、类概述:用于录制音频和视频的一个类。三、状态图:vcmRlcl9zdGF0ZV9kaWFn.原创 2021-01-20 16:42:06 · 902 阅读 · 0 评论 -
Android图片转换为Base64编码
假如服务器需要拿到客户端的图片数据,有两种方法可以实现:让客户端将图片上传到服务器,将图片的网络URL告诉服务器 将图片转成Base64编码,传递给服务器,服务器将Base64字符串解码之后生成一张图片。本文就重点讲解一下图片转Base64Android在util包中提供了android.util.Base64类,该类提供了四个编码方法,分别是:public static byte[] encode(byte[] input, int flags)public static byte[]原创 2021-01-20 16:38:48 · 4525 阅读 · 2 评论 -
Android 控件WebView设置同步Cookie
01. 设置方式同步的问题很常见,网上搜到的解决方法基本类似。 /** * 给WebView同步Cookie * * @param context 上下文 * @param url 可以使用[domain][host] */ private void syncCookie(Context context, String url) { CookieSyncManager.createInstance(context); CookieM.原创 2021-01-20 16:13:50 · 1494 阅读 · 1 评论 -
Android基础——框架模式MVC在安卓中的实践
本篇文章包含以下内容:MVC的介绍 MVC的实践MVC的介绍MVC (Model View Controller),是模型(model)视图(view)控制器(controller)的缩写,一种软件设计模式,用于组织代码用一种功能模块和数据模块分离的方法Model:模型层,负责处理数据的加载或者存储 View:视图层,负责界面数据的展示,与用户进行交互 Controller:控制器层,负责逻辑业务的处理MVC的模型关系图:MVC设计执行的基本流程:首先视图接受.原创 2020-11-27 17:30:54 · 150 阅读 · 0 评论 -
安卓 三级菜单 三级树目录
三级树目录:下载地址:先上图:实现:activity_main:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" an原创 2020-06-15 17:19:14 · 1009 阅读 · 3 评论 -
安卓PopupWindow的使用
//弹出showPopWindow public void showPopWindow() { View view = LayoutInflater.from(this).inflate(R.layout.main_set, null); view.findViewById(R.id.xfk_layout).get...原创 2019-10-14 16:16:38 · 216 阅读 · 0 评论 -
Android file类使用详解
一.Android file类 在开发Android应用时免不了会跟文件打交道,本篇文章记录总结自己常用到的文件操作,数据的存储有多种方式,比如数据库存储、SharedPreferences存储、文件存储等;这里我们将要介绍最简单的文件存储方式;文件存储简单的来说就是一般的JAVASE中的IO流,只是把他应用于Android手机中而已。二.Android file类使用 File文件的...转载 2018-07-16 10:32:11 · 25758 阅读 · 1 评论 -
彻底搞懂Android文件存储---内部存储,外部存储以及各种存储路径解惑
前言:对于任何一个应用来说,无论是PC端应用还是Android应用,存储肯定是必不可少的。对于很多做Android开发的同学来说,可能认为文件存储很简单,调用一些诸如getFilesDir,getExternalStorageDirectory方法行了,但是虽然说它们会调用相应的方法来实现简单的数据存储。但是他们未必就搞懂了他的数据到底存在了哪里,以及他的数据是否存对了地方,或者是否做好了版本...转载 2018-07-17 11:03:38 · 316 阅读 · 0 评论 -
Android实现数据存储技术 五中数据存储
本文介绍Android中的5种数据存储方式。 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是:1 使用SharedPreferences存储数据2 文件存储数据3 SQLite数据库存储数据4 使用ContentProvider存储数据5 网络存储数据 下面将为大家一一详细介绍。 第一种: 使用Share...转载 2018-07-17 14:46:13 · 495 阅读 · 0 评论 -
OKhttp忽略https证书
遇到坑公司两个网自动匹配错了一直报 D/NetworkSecurityConfig: No Network Security Config specified, using platform default老费劲 记录下到入工具类SSLSocketClient :import java.security.SecureRandom;import java.security.cer...原创 2018-08-10 11:21:31 · 2895 阅读 · 3 评论 -
Android 选择日期时间对话框(可选择开始结束时间,已解决弹出键盘问题)
直接上代码: MainActivity:import android.app.AlertDialog;import android.app.DatePickerDialog;import android.app.TimePickerDialog;import android.content.DialogInterface;import android.os.Bundle;impor...转载 2018-08-02 11:21:32 · 2953 阅读 · 1 评论 -
Android EditText默认不弹出输入法,以及获取光标,修改输入法Enter键的方法
一、Android EditText默认不弹出输入法的办法:1. 在AndroidManifest.xml中将需要默认隐藏键盘的Activity中添加属性即可(常用此方法) 1 2 android:windowSoftInputMode="adjustUnspecified|stateHidden" android:configChanges="o...转载 2018-08-07 17:17:14 · 656 阅读 · 0 评论 -
Android OkHttp完全解析 是时候来了解OkHttp了
一、概述最近在群里听到各种讨论okhttp的话题,可见okhttp的口碑相当好了。再加上Google貌似在6.0版本里面删除了HttpClient相关API,对于这个行为不做评价。为了更好的在应对网络访问,学习下okhttp还是蛮必要的,本篇博客首先介绍okhttp的简单使用,主要包含:一般的get请求 一般的post请求 基于Http的文件上传 文件下载 加载图片 支持请求回调...转载 2018-08-08 16:33:24 · 191 阅读 · 0 评论 -
Android:关于ContentProvider的知识都在这里了!
前言ContentProvider属于 Android的四大组件之一 本文全面解析了 ContentProvider ,包括ContentProvider 原理、使用方法 & 实例讲解,希望你们会喜欢。 目录1. 定义即内容提供者,是 Android 四大组件之一2. 作用进程间 进行数据交互 & 共享,即跨进程通信3. 原理Conten...转载 2018-08-13 13:50:22 · 201 阅读 · 0 评论