- 博客(60)
- 收藏
- 关注
原创 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 3593
原创 flutter (一)View
一、Flutter视图Android里面的(视图)View:View是屏幕上显示所有内容的基础,按钮,工具栏,输入框等都是ViewFlutter视图:Widget 但是Widget不具有生命周期,他们是不可变的,他们会存在于状态被改变之前,每当Widget或者发生变化时,Flutter就会创建一个新的Widget实列树。Android/IOS视图被绘制一次,调用invalidate/setNeedsDisplay之前不会重置。Widget:很轻巧,它本身并不是视图,并且不是直接绘制任何东西,而是对U
2022-03-07 18:25:28 3314
转载 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 562
原创 安卓-判断某个活动界面是否在前台
第一种方法:直接把下面放到工具类里面使用即可列: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 442
原创 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 1252
原创 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 303
原创 安卓笔记---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 2739
原创 安卓通讯录去空格
项目上通讯录电话号码添加好友问题,出错.通讯录中取出的电话号码是s这样的String s=“188 0000 0000” //电话号码于是想到了 .trim() 方法,按住Ctrl 点进去该方法看下,发现只能去除首尾空格String trim=s.trim(); //trim之去除首尾空格我们可以使用replace() 把空格替换成无.第一个参数为要替换的内容" “我们加个空格,就是要替换空格,第二个参数”“直接空格也不写.String replace=s.replace
2021-11-22 18:21:39 2061
原创 安卓重写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 320
转载 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 864
原创 安卓日历Calendar和DatePicker日期选择器的使用
一、Calendar的使用Calendar 该控件可以获得日期和时间,可以获取当前的,也可以根据当前日期加减年月日时分秒。比如想做一个类似这样的东西,只使用Calendar 就够了。1:获取年、月、日、周、时、分、秒 private Calendar calendar; //定义一个全局的 private int year; //年 private int month; //月 private int day; //日
2021-10-11 11:05:17 1064
原创 安卓网络判断和监听
一、网络判断```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 135
原创 安卓权限管理
一、权限请求和回调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 244
转载 不得不吐槽Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)
https://www.cnblogs.com/popfisher/p/5944054.html
2021-09-15 14:05:56 289
原创 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 66
原创 安卓apk360加固
一、配置AS官网:https://jiagu.360.cn/#/global/index1:下载后,把这个jiagu文件放到项目根目录下2:然后在创建 360protect.gradle文件/**-login 首次使用必须先登录 <360用户名> <password> <登录密码> -importsign <k
2021-08-11 18:53:44 3222
原创 约束布局(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 431
原创 找不到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 274
原创 百分比布局
导库: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 295
原创 安卓语音播报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 276
转载 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 824
转载 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 1909
转载 java正则表达式
一、概念正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。在众多语言中都可以支持正则表达式,如Perl、PHP、Java、Python、Ruby等。当然在Java中也可以通过处理字符串的方式达到检索,替换文本字符串的目的,但是有了正则表达式写代码更加简洁,通常两三行代码就可以达到目的,当然这也是建立在熟悉正则表达式的基础之上的。二、正则表达式的规则
2021-07-08 17:46:36 83
原创 安卓获取验证码倒计时
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 245
原创 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 3195
转载 MPAndroidChart中,滑动图表到最后一个的时候加载更多数据
在MPAndroidChart中,有时候显示在图表中的数据太多,想要分页加载数据时,可以调用setOnChartGestureListener这个事件,然后在onChartGestureStart、onChartGestureEnd和onChartTranslate方法中进行做相关的处理。当然,要让MPAndroidChart中的图表可滑动,必须设置mBarChart.setTouchEnabled(true); mBarChart.setDragEnabled(true)。在滑动事件中,判断是否滑动到图
2021-06-01 11:47:45 923
转载 Android 自动旋转屏幕总结
android:screenOrientation常用的属性值:unspecified,默认值,由系统决定,不同手机可能不一致landscape,强制横屏显示portrait,强制竖屏显示behind,与前一个activity方向相同sensor,根据物理传感器方向转动,用户90度、180度、270度旋转手机方向,activity都更着变化sensorLandscape,横屏旋转,一般横屏游戏会这样设置sensorPortrait,竖屏旋转nosensor,旋转设备时候,界面不会跟着旋转。初
2021-05-08 11:03:12 2811
转载 java和kotlin泛型
java泛型1:为什么需要泛型?适用于多种数据类型执行相同的代码,泛型中的类型在使用时指定,不需要强制类型转换。2:如何定义泛型类与泛型方法?泛型即“参数化类型”,操作的数据类型被指定为一个参数。3:泛型类与泛型接口的定义引用一个类型变量T(其他大写字母都可以)并且用<>括起来,并放在类名的后面,泛型是用允许有多个类型变量的。public interface Genertor {public T next();}public class ImplGenertor implem
2021-04-20 11:00:14 224
转载 Android dialog防止反复弹出
在开发中经常会遇到这样的情况,一个按钮点击后会弹出Toast或者Dialog,如果快速重复地点击,则Toast则会重复地出现. 而我们想要的效果是一定时间内的点击只生效一次,或者说这种快速且重复的点击为无效点击.解决的思路如下:需要定义一个全局变量 lastClickTime, 用来记录最后点击的时间.每次点击前需要进行判断, 用lastClickTime 和当前时间想比较,并且更新最后点击时间,若小于临界值,则算无效点击,不触发事件下面请看代码:工具类:public class C
2021-04-06 16:34:32 2934
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人