![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安卓
九月十九
生命不息,代码不止
展开
-
as多行显示类文件
as多行显示类文件原创 2022-10-01 22:31:10 · 364 阅读 · 0 评论 -
Material Design之TextInputLayout
代码奉上implementation 'com.android.support:appcompat-v7:28.0.0'implementation 'com.android.support:support-v4:28.0.0'implementation 'com.android.support:design:28.0.0'注意:版本号一定要一直,不然你懂得...相当蛋疼&l...原创 2019-06-25 13:58:31 · 110 阅读 · 0 评论 -
fragment切换时,刷新数据
一般,我们做项目,底部的4个fragment切换时,最好可以刷新数据做fragment显影藏时,最好用hide,show这时会有一个方法onHiddenChanged在这里面我们可以刷新数据还可以做这个操作——点当前tab,也刷新界面@Overridepublic void onHiddenChanged(boolean hidden) { super.onHidd...原创 2019-06-04 21:52:37 · 2067 阅读 · 0 评论 -
EventBus简单的使用
1,导包EventBuscompile 'de.greenrobot:eventbus:3.0.0-beta1'2,接收消息的类在oncreat里初始化if (!EventBus.getDefault().isRegistered(this)) { EventBus.getDefault().register(this);}//接收和销毁方法@Subscrib...原创 2019-06-04 21:52:13 · 347 阅读 · 0 评论 -
Scrollview和listview滑动冲突
当Scrollview嵌套listview的时候,listview的高度就不能自适应,而是要自定义一个固定的高度,否则listview无法复用item,高度就会只有一个item的高度。此其一,其二也是本文的重点,解决滑动冲突。网上的资料一大堆,就不在此累赘。思路是:当listview处于底部的时候,判断Scrollview是否滑动到底部,如果滑动到底部,则可以滑动listview,如果没滑到底...转载 2019-06-04 20:48:24 · 1775 阅读 · 0 评论 -
Fresco的简单使用
1,添加依赖// Fresco所需依赖implementation 'com.facebook.fresco:fresco:0.12.0'// 在 API < 14 上的机器支持 WebP 时,需要添加implementation 'com.facebook.fresco:animated-base-support:0.12.0'// 支持 GIF 动图,需要添加implem...原创 2019-06-08 11:54:27 · 224 阅读 · 0 评论 -
Activity的4种启动模式
Activity的启动模式有4种,分别是standard,singleTop,SingleTask.,singleInstance,可以在AndroidMainifest.xml文件中指定每一个Activity的启动模式。android:launchMode="standard",android:launchMode="singleTop",android:launchMode="Sing...原创 2019-05-17 10:32:24 · 284 阅读 · 0 评论 -
Android 9.0/P http 网络请求的问题
Google表示,为保证用户数据和设备的安全,针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android No...转载 2019-05-22 12:05:35 · 130 阅读 · 0 评论 -
Thread和Runnable的区别
直接代码:activity:import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import andr...原创 2019-05-22 10:29:40 · 338 阅读 · 0 评论 -
关于Android Service真正的完全详解
关于service,知道这一篇就够了。感谢博主的分享。https://blog.csdn.net/javazejian/article/details/52709857转载 2019-05-12 09:53:48 · 264 阅读 · 0 评论 -
Service 生命周期
与Activity类似,Service也有自己的生命周期函数,在不同的时刻,系统会调用对应的Service生命周期函数,不过与Activity声明周期相比,Service的声明周期更加简单,我们通过官方给出的一张图片来体会一下:这里我们总结一下:1). 被启动的服务的生命周期:如果一个Service被某个Activity 调用 Context.startService 方法启动,那么不管是...转载 2019-05-12 08:29:29 · 833 阅读 · 0 评论 -
简单的管理activity
在实际开发中,有时需要关闭所有activity,获取当前Activity上一个Activity、寻找某个类型的Activity、结束某个Activity等需求。此时activity管理显得尤为重要。import android.app.Activity;import android.util.Log;import java.util.Stack;public class Acti...原创 2019-05-10 20:02:51 · 129 阅读 · 0 评论 -
activity生命周期的调用
关于生命周期的文章,网上一堆堆,写的都不错,这里就不再啰嗦,只是简单的介绍何时调用哪些方法。1,当activity创建的时候,会调用3个方法:如图所示2,当按下home键的时候:如图所示如果是此activity弹出一个PopupWindow的话,会发现,activity没有调用任何方法。View contentView = LayoutInflater.from(CeSh...原创 2019-05-08 18:39:01 · 584 阅读 · 0 评论 -
This Activity already has an action bar supplied by the window decor..... 报错
Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in ...原创 2019-04-17 21:53:21 · 176 阅读 · 0 评论 -
FloatingActionButton(悬浮按钮)简单的使用
FloatingActionButton大小通常有两种尺寸1. 56 * 56dp :默认的大小,最常用的尺寸。2. 40 * 40 dp :Mini版。当然也可以改它的大小。FAB中间的图标,google推荐的大小是:24 * 24dp使用的时候compile 'com.android.support:design:26.0.0'现在compileSdkVersion 28...原创 2019-06-25 15:01:35 · 4226 阅读 · 0 评论 -
ConstraintLayout小计
ConstraintLayout作为Google的新宠儿,效果确实很理想,网上一堆堆资料, 这里不再赘述,只是简单的介绍用法,有点投机取巧之嫌,废话少说,代码:(忘记是哪位博主写的了,我再此之上简单的描述一下,感谢那位博主)举个荔枝:比如一张小图片,相对于父图片的位置,那么在子图片里增加下面几行代码,然后自己按住控件各种拖动,直到您满意为止。treeIv是父布局的id。前面4行不必说,相对父布...原创 2019-06-23 21:43:50 · 118 阅读 · 0 评论 -
利用intent和Bundle传递list<bean>
1,实体类:一般来说,不一定是实体类,可能是实体类里面的内部类,这个内部类一定要继承 Serializable2,使用发送数据的类List<LoginBean.NodesBean> list = new ArrayList<>();list = loginBean.getNodes();Intent intent = new Intent(this, ...原创 2019-09-21 20:46:02 · 881 阅读 · 0 评论 -
android RecyclerView一步步打造分组效果、类似QQ分组、折叠菜单、分组效果
感谢分享者,张鸿洋,下面是链接,很好用,尤其是demo直接哪里用就行https://blog.csdn.net/lmj623565791/article/details/40212367不过有一点,如果后台返回的是id和pid是string,还无法转成int,就悲催了。...转载 2019-08-28 16:39:58 · 458 阅读 · 0 评论 -
简单好用的Spinner下拉列表
activity:@BindView(R.id.sp_team)Spinner spTeam;在适当的位置调动下面的方法即可。 /** * Spinner自定义样式 * 1、Spinner内的TextView样式:item_select * 2、Spinner下拉中每个item的TextView样式:item_drop * 3、Spinne...原创 2019-08-28 12:08:13 · 550 阅读 · 0 评论 -
recycleview多选单选
mainactivity:package com.choiceimageview;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;public class MainActi...转载 2019-08-26 16:52:34 · 317 阅读 · 0 评论 -
后台返回的不是数据结构数组而是字符串
后台返回的数据格式有时候根据业务需求,往往不是前端需要的,一个接口甚至能给你返回8种数据结构。我遇到过,没办法只能是手动解析。这还好,起码能解析出来。下面的就不好弄了。{ "data": [ { "id": "1", "tagSize": "50,50", "labelGap": "1", ...原创 2019-08-21 15:33:49 · 2078 阅读 · 0 评论 -
监听蓝牙连接的状态
之前写的是监听蓝牙是否打开。这篇文章简单的介绍蓝牙的连接状态监听。忘记是哪位博主写的了。本人简单的整理下。代码其实就一个工具类而已:package com.tools;import android.bluetooth.BluetoothDevice;import android.content.BroadcastReceiver;import android.content.Cont...原创 2019-08-21 09:32:46 · 3878 阅读 · 0 评论 -
监听蓝牙是否打开
也就是几行代码的事<uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.BLUETOOTH"/><uses-permission android:name="android.permiss...原创 2019-08-15 13:39:42 · 688 阅读 · 0 评论 -
扫描身份证自动识别,自动拍照。
也是找了很长时间,但都是不尽人意,但最终还是找到了,感谢互联网的强大,感谢众多程序员的分享,下载链接:https://download.csdn.net/download/qq_30299243/11554689闲话不说,直接开图:界面就很low了,大家可以自己修改。这是扫描界面,扫描成功后自动返回到上一个界面,并把信息传递回来。反面的也一样,就不上图了。...原创 2019-08-15 10:38:14 · 812 阅读 · 7 评论 -
RecyclerView 简单的局部刷新
1,adapter里添加:/** * 更新某一个item * @param position 需要更新的第几项 * @param type 跟新的内容(自定定义) * 逻辑很简单就是修改内容之后,更新就行了 */public void updateItem(int position, String type) { if (position >= 0 &...原创 2019-08-07 11:29:29 · 397 阅读 · 0 评论 -
图片多选,压缩
最近公司做的项目要求可以多选图片,而且显示的速度要快,上传的时候要压缩。搜了很多,终于找到一个框架。挺好用的,感谢分享者郭孝星。代码链接:https://download.csdn.net/download/qq_30299243/114852721,依赖://以下是添加的图片选择的依赖implementation "com.android.support:multidex:...原创 2019-08-06 16:14:12 · 361 阅读 · 0 评论 -
后台返回{}的判断
做项目的时候,正常来讲,后台返回的一个大的对象里面包含了一个数组,有时候,第一个数组返回的是“{}”,好尴尬呀,本以为加个判断是否为空,不好使,那么直接=="{}",不好使,TextUtils.isEmpty,不行,万般无奈之下。if (!(((JSONObject) jsonArray.get(0)).length()==0)){ msg1 = ob.getString("mess...原创 2019-08-13 13:56:52 · 657 阅读 · 0 评论 -
io流的简单使用之读写文件2存储读取list
上篇只是简单的介绍如何存取数据,有时候需要存储一个很多数据的集合,那么改如何操作哪?直接代码基本配置和上篇的一样只是在activity里更改了两个方法而已package dayin.com.myapplication.io;import android.app.Activity;import android.content.pm.PackageManager;import and...原创 2019-07-14 10:49:16 · 608 阅读 · 0 评论 -
io流的简单使用之读写文件
在安卓项目中有时会涉及到文件内容的读取,比如说离线数据,在没有网络的时候,需要保存好一些数据,在有网络的时候在上传,除了使用数据库外,也可以使用文件的读写。闲话少说,直接代码:activity:package dayin.com.myapplication.io;import android.app.Activity;import android.content.pm.Packag...原创 2019-07-13 21:51:00 · 253 阅读 · 0 评论 -
安卓简单的操作数据库
安卓本身自带数据,一般用于保存一些数据。操作数据库首先要创建,其次是增删改查。看过诸多网友的介绍,现简单的总结如下:(再次感谢大家的分享)代码奉上:package com.myapplication.sql;import android.content.ContentValues;import android.content.Context;import android.databa...原创 2019-07-03 19:39:58 · 6163 阅读 · 0 评论 -
android线程间通信
原文:https://blog.csdn.net/liuxingyuzaixian/article/details/788933921,通过Handler机制. private void one() { handler=new Handler(){ @Override public void ha...转载 2019-04-15 20:53:53 · 121 阅读 · 2 评论 -
一个简单的自定义AlertDialog
1,写一个公共的类import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.support.annotation.NonNull;import android.view.View;import android.widget.Button;impo...原创 2019-03-29 19:03:32 · 346 阅读 · 0 评论 -
textview
1,中间混杂不同颜色的字体public static void setSize(TextView tv, String text, int one, int tow, String colors, int sizea, int three, int four, String colors1, int sizea1) { SpannableString sp = new Spannabl...原创 2018-07-14 20:51:49 · 219 阅读 · 0 评论 -
支付货币转换
调用微信支付的时候,需要将金额X100,因为微信的1代表0.01元。但是转换的时候不能用普通的方法。尤其是带小数点的,直接崩溃。原因大家可以自己试试。不在赘述。只看解决方案。其实就是写一个类代码如下public class CalculateUtils { /** * 加法 * * @param var1 * @param var2 * @return...原创 2018-07-14 20:41:05 · 451 阅读 · 0 评论 -
安卓小功能
一。震动功能1,mainfes中添加权限:<uses-permission android:name="android.permission.VIBRATE"/>2,//创建震动服务对象 private Vibrator mVibrator;3,//获取手机震动服务 mVibrator=(Vibrator)getApplication().getSystemService(...原创 2018-07-14 20:34:12 · 246 阅读 · 0 评论 -
自定义进度条
xml布局文件<?xml version= "1.0" encoding ="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 背景 gradient是渐变,corners定义的是圆角 --> <ite转载 2018-07-24 17:18:22 · 245 阅读 · 0 评论 -
微信登录和支付
微信登录是最常见的的三方登录了。这里简单的介绍一下登录:1,去官网注册应用,(此处就不在啰嗦了,拿到appid和appSecret),后台保存一下。为了安全起见,最好是后台返回给前端2,导包,,AndroidManifest里面注册:登录的:<activity android:name=".wxapi.WXEntryActivity" ...原创 2018-07-18 21:26:54 · 525 阅读 · 0 评论 -
清除缓存类
import android.content.Context;import android.os.Environment; import java.io.File;import java.math.BigDecimal; /** * 清除缓存的工具类 * Created by Administrator on 2016/8/23 0023. */public...原创 2018-07-23 20:30:11 · 211 阅读 · 0 评论 -
Android开发中常见的内存泄漏及避免总结
1.资源对象没关闭造成的内存泄漏描述:资源性对象比如(Cursor,File文件等)往往都用了一些缓冲,我们在不使用的时候,应该及时关闭它们,以便它们的缓冲及时回收内存。它们的缓冲不仅存在于 java虚拟机内,还存在于java虚拟机外。如果我们仅仅是把它的引用设置为null,而不关闭它们,往往会造成内存泄漏。因为有些资源性对象,比如 SQLiteCursor(在析构函数finalize()...转载 2018-07-23 20:27:24 · 171 阅读 · 0 评论 -
网络监听
网络监听是必不可少的一个功能。大体的思路是,自定义一个类继承于于BroadcastReceiver然后在activity里使用。直接上代码1,NetworkConnectChangedReceiver,网络监听的类 import android.content.BroadcastReceiver;import android.content.Context;import and...原创 2018-07-23 19:57:10 · 463 阅读 · 1 评论