自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 Android写入文件后立刻断电,文件没有保存问题

安卓文件保存

2024-05-16 20:51:39 174

原创 adb 导入导出安卓设备里面的apk和文件

adb pull /data/app/~~ymp6IfpEX_ox9N4R01JnCA==/com.supcon.supplant-uGMLjX3doLKWpesx4Uq64A==/base.apk C:\Users\yushenzhen\Desktop\svn\天味家园(电脑要导出的路径)adb pull 设备路径 导出电脑的路径。

2023-06-12 12:26:33 3434

转载 Androidstudio编译apk过程

https://www.zhihu.com/question/27953288

2023-06-11 23:26:42 326

原创 在自己电脑上的idea运行java web项目 如何用外网访问

外网访问自己电脑上idea上的java web项目

2022-07-27 16:48:06 10247 2

转载 Android12系统源码目录简单分析

AndroidS目录分析

2022-06-20 11:45:36 1037

原创 Flutter(二) 布局和列表

对Android和Flutter布局上的构建差异,有一个整体的认识。

2022-06-13 16:28:20 831

原创 Android 四大组件之广播(Broadcast)

android 广播(Broadcast)

2022-06-10 17:33:22 2166

原创 Android灭屏、锁屏状态下如何点亮弹出界面

Android锁屏状态下,如何像微信视频通话一样弹出界面

2022-06-08 16:21:41 1695 1

原创 Android Soundpool 使用和遇到的问题

SoundPool 使用方法和遇到的问题

2022-06-06 20:28:41 516

原创 flutter (一)View

一、Flutter视图Android里面的(视图)View:View是屏幕上显示所有内容的基础,按钮,工具栏,输入框等都是ViewFlutter视图:Widget 但是Widget不具有生命周期,他们是不可变的,他们会存在于状态被改变之前,每当Widget或者发生变化时,Flutter就会创建一个新的Widget实列树。Android/IOS视图被绘制一次,调用invalidate/setNeedsDisplay之前不会重置。Widget:很轻巧,它本身并不是视图,并且不是直接绘制任何东西,而是对U

2022-03-07 18:25:28 3279

转载 Android Handler 避免内存泄漏的用法总结

Android开发经常会用到handler,但是我们发现每次使用Handler都会出现:This Handler class should be static or leaks might occur(null)这样的提示。Android lint就是为了提示我们,这样使用Handler会容易造成内存泄漏。但是你会发现其实改成static并没有什么用。因为这并没有解决这个问题的根本。首先,我们得确认,为什么会有内存泄漏?因为Handler是基于消息的。每次new 出Handler,都会创建一个消息队列用于

2022-01-27 11:51:31 555

原创 安卓-判断某个活动界面是否在前台

第一种方法:直接把下面放到工具类里面使用即可列:Util.isForeground(mContext,“MainActivity”)/*** 判断某个界面是否在前台* @param context Context* @param className 界面的类名* @return 是否在前台显示*/public static boolean isForeground(Context context, String className) {if (context == null || Tex

2022-01-25 16:26:32 420

原创 Invalid item position 1(offset:1).state:2 RecyclerView下标越界问题

一情况描述使用RecyclerView控件显示好友列表问题,删除或者添加好友时概率性奔溃。二、BUG产生的原因增加好友删除好友时,只刷新了数组size,没有刷新适配器的size。所以导致下标越界,程序崩溃。三、如何修改继承LinearLayoutManager我是用的是GridLayoutManager它也是继承LinearLayoutManager的,然后重写onLayoutChildren方法,try{}catch一下。public class NoBugGridLayoutManager

2021-12-27 11:57:12 1220

原创 SwipeRefreshLayout安卓下拉刷新控件

开发工具: androidstudio一、导库在build.gradle中导入implementation “androidx.swiperefreshlayout:swiperefreshlayout:1.0.0”二、相关方法 1、setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener):设置手势滑动监听器。 2、setProgressBackgroundColor(int colorRes):设置进度

2021-12-21 15:54:11 271

原创 安卓笔记---TextView部分字符串点击事件

一需求每一个app都需要做一个类似这个东西二实现1.可用使用控件拼接,嗯…不太行,手机设置调整字体大小和显示大小的时候,这时这两个控件的拼接就会出点问题2.可用使用文本超链接点击textview的一部分字体,类似QQ空间或者微博高亮度字体的跳转xml文件 <TextView android:id="@+id/user_protocol" android:layout_width="wrap_content" android:layout_he

2021-11-26 16:21:57 2712

原创 安卓通讯录去空格

项目上通讯录电话号码添加好友问题,出错.通讯录中取出的电话号码是s这样的String s=“188 0000 0000” //电话号码于是想到了 .trim() 方法,按住Ctrl 点进去该方法看下,发现只能去除首尾空格String trim=s.trim(); //trim之去除首尾空格我们可以使用replace() 把空格替换成无.第一个参数为要替换的内容" “我们加个空格,就是要替换空格,第二个参数”“直接空格也不写.String replace=s.replace

2021-11-22 18:21:39 2029

原创 安卓重写back键

有些功能需要用户点击了back键,增加一些逻辑,比如确认要退出吗?这个时候可以在活动中重写onKeyDown方法@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) { new AlertDialog.Builder(this) .setMessage("确定退出系统吗?") .

2021-11-19 10:53:18 306

转载 Android dp,sp,px,dpi关系讲解以及简单适配

▲ 基础概念 :dp:最常用的长、宽、margin、padding等的单位sp:字体的单位,和dp差不多,区别是如果字体使用的sp为单位,那如果你手机字体调大了,那你app的字体会随之变大,如果用dp则不会变化。px:像素dpi:dots per inch,即每英寸上有多少个像素,也就是屏幕密度,具体计算下面写说density:density=dpi/160dp和px转换px=dp*(dpi/160)计算dpi、density以5.5寸1920 * 1080的手机为例:5.5寸是指手机对

2021-10-11 17:31:47 787

原创 安卓日历Calendar和DatePicker日期选择器的使用

一、Calendar的使用Calendar 该控件可以获得日期和时间,可以获取当前的,也可以根据当前日期加减年月日时分秒。比如想做一个类似这样的东西,只使用Calendar 就够了。1:获取年、月、日、周、时、分、秒 private Calendar calendar; //定义一个全局的 private int year; //年 private int month; //月 private int day; //日

2021-10-11 11:05:17 1019

转载 Gson解析json数据大全

https://www.cnblogs.com/jianyungsun/p/6647203.html

2021-09-30 16:38:57 96

原创 安卓网络判断和监听

一、网络判断```xml```xml```javapublic class NetUtil { private static final int NETWORK_NONE=0; //没有网络 private static final int NETWORK_MOBILE=1;//移动网络 private static final int NETWORW_WIFI=2; //无线网络 private static final String TAG="无线网工具

2021-09-28 20:37:42 126

原创 安卓权限管理

一、权限请求和回调1:权限请求if (ContextCompat.checkSelfPermission(content, Manifest.permission.CALL_PHONE)!= PackageManager.PERMISSION_GRANTED) {// 最后的100是请求码对应回调方法的请求码,该码对应的时该权限ActivityCompat.requestPermissions(content,new String[]{Manifest.permission.READ_CONTACT

2021-09-22 13:44:57 210

转载 不得不吐槽Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)

https://www.cnblogs.com/popfisher/p/5944054.html

2021-09-15 14:05:56 269

转载 GSON的使用

https://www.cnblogs.com/robotpaul/p/11792433.html

2021-09-03 14:54:28 63

原创 2021-08-13

一、修改活动的标题栏名称打开AndroidManifest.xml文件 <application android:allowBackup="true" android:icon="@mipmap/ic_channel" android:label="@string/app_name" //这个是app的名称 android:supportsRtl="true" android:theme="@style

2021-08-13 18:42:26 62

原创 安卓apk360加固

一、配置AS官网:https://jiagu.360.cn/#/global/index1:下载后,把这个jiagu文件放到项目根目录下2:然后在创建 360protect.gradle文件/**-login 首次使用必须先登录 <360用户名> <password> <登录密码> -importsign <k

2021-08-11 18:53:44 3182

原创 约束布局(constraintlayout) 最强大官方指定布局

一、属性本以为百分比布局已经很无敌了,没想到约束布局尽然比他还勇猛。他就是AS2.3以后谷歌 布局亲儿子。目前AS2.3以后自带的都是这个约束布局, 版本低的可以导入使用:implementation ‘androidx.constraintlayout:constraintlayout:1.1.3’ 官网:https://developer.android.google.cn/reference/android/support/constraint/ConstraintLayout常用属性

2021-08-10 16:21:24 420

原创 找不到vcruntime140_1.dll,无法继续执行代码

安装mysql数据库的时候报错找不到vcruntime140_1.dll,无法继续执行代码于是就去下载了这个:https://cn.dll-files.com/vcruntime140_1.dll.html解压后放到 C:\Windows\System32 目录下32位的放到这个目录下 C:\Windows\SysWOW64一般情况就没问题了,但是,我还是报这个问题。想着不应该错的。但是我的电脑什么都没配置过,于是又下载了这个。:https://www.microsoft.c

2021-08-03 17:22:43 265

原创 百分比布局

导库:implementation ‘androidx.percentlayout:percentlayout:1.0.0’代码:<?xml version="1.0" encoding="utf-8"?><androidx.percentlayout.widget.PercentFrameLayoutxmlns:android=“http://schemas.android.com/apk/res/android”xmlns:app=“http://schemas.andro

2021-08-02 15:03:16 273

原创 安卓语音播报tts

一、活动布局只有读和停两个按钮 <?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" android:orientation="vertical" &

2021-07-19 13:37:56 243

转载 OkHttp 自带cookie

okhttp3带cookie请求Request经常都要携带Cookie,上面说过request创建时可以通过header设置参数,Cookie也是参数之一。就像下面这样:Request request = new Request.Builder().url(url).header(“Cookie”, “xxx”).build();然后可以从返回的response里得到新的Cookie,你可能得想办法把Cookie保存起来。但是OkHttp可以不用我们管理Cookie,自动携带,保存和更新Coo

2021-07-15 18:09:26 800

转载 Android中okhttp网络请求的封装

目前okhttp已经更新到了3.6版本,从3.0版本开始okhttp自带了一个线程,所以我们在使用时不需要开子线程。在studios里使用okhttp之前,要添加依赖和权限。依赖:compile ‘com.squareup.okhttp3:okhttp:3.6.0’权限:一、okhttp最简单的写法//请求服务器的地址String url = “http://www.mtime.com/”;//创建okhttp端口OkHttpClient okHttpClient = new OkHtt

2021-07-12 11:52:42 1859

转载 java正则表达式

一、概念正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。在众多语言中都可以支持正则表达式,如Perl、PHP、Java、Python、Ruby等。当然在Java中也可以通过处理字符串的方式达到检索,替换文本字符串的目的,但是有了正则表达式写代码更加简洁,通常两三行代码就可以达到目的,当然这也是建立在熟悉正则表达式的基础之上的。二、正则表达式的规则

2021-07-08 17:46:36 76

原创 安卓获取验证码倒计时

private Button btn_verify_zhc;//获取验证码按钮@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_zhu_ce);//new倒计时对象,第一个参数为总时间/毫秒,第二个参数为没多少毫秒更新一次时间mTiemTimeCount = new TimeCount(60

2021-07-07 11:01:38 215

原创 PreferenceManager被弃用,用什么替代

可以使用AndroidX支持库版本的PreferenceManager,1:在您的应用程序中添加以下内容构建.gradle.implementation ‘androidx.preference:preference:1.1.1’2:输入PreferenceManager后选这个import androidx.preference.PreferenceManager;或者直接把这个复制上去而不是选这个弃用的import android.preference.PreferenceManager;

2021-07-06 14:57:45 3065

转载 MPAndroidChart中,滑动图表到最后一个的时候加载更多数据

在MPAndroidChart中,有时候显示在图表中的数据太多,想要分页加载数据时,可以调用setOnChartGestureListener这个事件,然后在onChartGestureStart、onChartGestureEnd和onChartTranslate方法中进行做相关的处理。当然,要让MPAndroidChart中的图表可滑动,必须设置mBarChart.setTouchEnabled(true); mBarChart.setDragEnabled(true)。在滑动事件中,判断是否滑动到图

2021-06-01 11:47:45 898

转载 Android 自动旋转屏幕总结

android:screenOrientation常用的属性值:unspecified,默认值,由系统决定,不同手机可能不一致landscape,强制横屏显示portrait,强制竖屏显示behind,与前一个activity方向相同sensor,根据物理传感器方向转动,用户90度、180度、270度旋转手机方向,activity都更着变化sensorLandscape,横屏旋转,一般横屏游戏会这样设置sensorPortrait,竖屏旋转nosensor,旋转设备时候,界面不会跟着旋转。初

2021-05-08 11:03:12 2705

转载 java和kotlin泛型

java泛型1:为什么需要泛型?适用于多种数据类型执行相同的代码,泛型中的类型在使用时指定,不需要强制类型转换。2:如何定义泛型类与泛型方法?泛型即“参数化类型”,操作的数据类型被指定为一个参数。3:泛型类与泛型接口的定义引用一个类型变量T(其他大写字母都可以)并且用<>括起来,并放在类名的后面,泛型是用允许有多个类型变量的。public interface Genertor {public T next();}public class ImplGenertor implem

2021-04-20 11:00:14 204

转载 Android dialog防止反复弹出

在开发中经常会遇到这样的情况,一个按钮点击后会弹出Toast或者Dialog,如果快速重复地点击,则Toast则会重复地出现. 而我们想要的效果是一定时间内的点击只生效一次,或者说这种快速且重复的点击为无效点击.解决的思路如下:需要定义一个全局变量 lastClickTime, 用来记录最后点击的时间.每次点击前需要进行判断, 用lastClickTime 和当前时间想比较,并且更新最后点击时间,若小于临界值,则算无效点击,不触发事件下面请看代码:工具类:public class C

2021-04-06 16:34:32 2855

转载 Toast自定义位置

http://blog.sina.com.cn/s/blog_53a99cf30102xoav.html

2021-04-06 11:13:21 301

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除