android开发
一直向钱
Keep moving
展开
-
android Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be s
2、不想改targetSdkVersion,那就在在创建PendingIntent的时候判断当前系统版本,根据不同系统版本创建带有不同flag的PendingIntent。1、将项目的targetSdkVersion由31改为30,也就是退回去。主要看这个错误解决问题。原创 2023-09-21 17:24:40 · 291 阅读 · 0 评论 -
android AccessibilityService无障碍功能开发,实现自动化测试
自定义一个服务MyAccessibilityService,继承AccessibilityService,实现2个方法,重写一个方法,代码如下。安装好APP后,需要打开无障碍功能,打开后,在次打开抖音APP,随便找一个直播间,上下滑动切换直接后,实现模拟点击屏幕,可以自动完成关注。android AccessibilityService无障碍功能开发,实现自动化测试,这里使用抖音为例子,仅供技术研究学习使用。在xml中添加一个accessible_service_config文件,代码如下。原创 2023-03-08 01:09:20 · 6640 阅读 · 2 评论 -
android okhttp+retrofit+hilt+rxjava简单使用
android okhttp+retrofit+hilt+rxjava简单使用。network_security_config如下。file_paths_public如下。app的build.gradle如下。MyApplication代码如下。NetWordModule如下。UpdateAppInfo如下。ResponseData如下。ApiService如下。activity代码如下。UserInfo如下。原创 2023-03-05 03:22:55 · 618 阅读 · 0 评论 -
android app加入白名单保活授权及引导用户操作
android app加入白名单保活授权及引导用户操作工具类代码如下 在activity里判断 教程来自Android安卓后台运行白名单实现优雅保活(转载) - 知乎原创 2022-12-08 00:46:13 · 2337 阅读 · 0 评论 -
android stutio 打开项目下载慢解决方法
注释google()和jcenter,使用阿里云的。原创 2022-10-01 16:01:36 · 872 阅读 · 0 评论 -
Android开发之API29以上Environment.getExternalStoragePublicDirectory 无法访问解决
【代码】Android开发之API29以上Environment.getExternalStoragePublicDirectory 无法访问解决。原创 2022-09-20 16:48:20 · 3972 阅读 · 0 评论 -
android 数据加密方式
【代码】android 数据加密方式。原创 2022-09-14 11:07:11 · 226 阅读 · 0 评论 -
android BaseActivity设计
【代码】android BaseActivity设计。原创 2022-09-14 10:25:26 · 1268 阅读 · 0 评论 -
搭建物联网硬件通信技术几种方案
首先我们实现最终郊果是:APP或小程序或网站可以实时接收硬件上报的数据,APP或小程序或网站可以操作控制硬件设备。方案一 使用MQTT技术实现自己购买服务器,服务器上搭建MQTT,后台技术开发MQTT,实现发布和订阅。硬件端开发连接通信的时候,也要使用mqtt实现发布和订阅,这个需要硬件那边写代码,APP或网站或小程序也要实现发布和订阅功能 。如图下方案二 硬件不开发MQTT,使用TCP方式连接到用器,收发数据直接透传给服务器或硬件硬件是要硬件开发,自带wifi或WIFI转4G、2G、5G连接到我们自己原创 2022-07-03 23:30:22 · 4241 阅读 · 1 评论 -
android MQTT使用
mqtt使用 mqtt开发原创 2022-06-22 16:05:28 · 3748 阅读 · 0 评论 -
android 自定义View事件冲突和源码分析
自定义View事件冲突分析总结原创 2022-06-11 18:15:36 · 549 阅读 · 0 评论 -
android RecyClerView与dataBinding显示文字和图片列表
RecyClerView dataBinding原创 2022-06-09 17:26:36 · 1256 阅读 · 0 评论 -
android dataBinding 与ObservableField实现双向绑定
dataBinding ObservableField原创 2022-06-09 11:09:17 · 880 阅读 · 0 评论 -
android dataBinding与BaseObservable实现双向绑定
dataBinding BaseObservable原创 2022-06-09 10:35:15 · 381 阅读 · 0 评论 -
android dataBinding使用
使用dataBinding,就不需要findViewById操作,可以在代码里设置赋值数据,直接绑定到页面上显示出来。1、配制dataBinding ,首先在build.gradle文件中添加dataBinding配制,如图下dataBinding { enabled = true}2、在页面中添加layout布局,添加data标签,并添加variable,设置name和类对象。操作方法:光标放在第一行第一个位置前按Alt+回车,选择Convert to data binding layou原创 2022-06-07 11:41:37 · 3283 阅读 · 0 评论 -
android 通过命令查询错误原因
gradlew processDebugManifest --stacktrace输入如下命令,可以输出错误原因原创 2022-05-25 17:44:10 · 216 阅读 · 0 评论 -
android okHttp网络请求封装
okHttp使用原创 2022-04-25 09:13:21 · 2141 阅读 · 0 评论 -
android ViewModel+LiveData简单使用
ViewModel是视图与数据模型之间的桥梁LiveData可以理解为当数据发生改变的时候,通过LiveData通知UI视图进行更新主线程页面activity代码package com.nyw.viewmodeldemo;import androidx.appcompat.app.AppCompatActivity;import androidx.lifecycle.Observer;import androidx.lifecycle.ViewModel;import android原创 2022-03-29 11:29:23 · 3073 阅读 · 0 评论 -
android ViewModel保存数据
直接看activity代码package com.nyw.viewmodeldemo;import androidx.appcompat.app.AppCompatActivity;import androidx.lifecycle.ViewModel;import androidx.lifecycle.ViewModelProvider;import android.os.Bundle;import android.view.View;import android.widget.B.原创 2022-03-28 14:50:25 · 2920 阅读 · 0 评论 -
android lifecycle使用
直接看activity代码这是没有使用lifecycle写的代码package com.nyw.lifecycledemo;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;import android.os.Bundle;import android.os.SystemClock;import android.view.View;import android.widget..原创 2022-03-27 00:15:56 · 4761 阅读 · 0 评论 -
android CameraX自定义相机使用
android CameraX使用例子=<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="ht原创 2022-03-26 22:13:18 · 3583 阅读 · 0 评论 -
android kotlin CollapsingToolbarLayout+RecyclerView折叠+BaseRecyclerViewAdapterHelper
android CollapsingToolbarLayout+RecyclerView折叠+BaseRecyclerViewAdapterHelper<?xml version="1.0" encoding="utf-8"?><androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="ht原创 2022-03-19 11:12:35 · 1888 阅读 · 0 评论 -
android kotlin 自定义dialog
代码如下 :import android.app.Activityimport android.app.Dialogimport android.content.Contextimport android.view.Viewimport android.widget.Buttonimport android.widget.TextViewimport com.kzkj.jkmf.Rimport com.kzkj.jkmf.mvp.mine.setting.ClearCacheOnCl原创 2022-03-17 15:12:15 · 1044 阅读 · 0 评论 -
android room 数据库简单使用
首先我们在build.gradle引用roomdef roomVersion = "2.4.2"implementation("androidx.room:room-runtime:$roomVersion")annotationProcessor("androidx.room:room-compiler:$roomVersion")plugins { id 'com.android.application'}android { compileSdk 32 d原创 2022-03-17 14:30:23 · 4503 阅读 · 0 评论 -
android 屏幕适配解决方案
适配方案一// 今日头条屏幕适配方案 implementation 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1'1、在build.gradle中引用implementation 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1'plugins { id 'com.android.application' id 'org.jetbrains.kotlin.a原创 2022-03-16 10:57:37 · 5980 阅读 · 0 评论 -
android 观察者模式
Observablepackage com.example.testjavademo;public abstract class Observable implements ObServableSource{ @Override public void subscribeObserver(ObServer obServer) { //把这个功能留给不同的Observable处理 sbuscribleActual(obServer); }.原创 2022-03-08 18:40:33 · 1709 阅读 · 0 评论 -
android 切图尺寸要求
这是切图尺寸要求具体的要看另一个文章详细介绍UI设计规范一Android尺寸单位换算及切图规范 - 简书原创 2022-01-12 18:25:23 · 1810 阅读 · 0 评论 -
android binder
Inter-process communication ,也就是进程中相互通信,简称IPCBinder是Android提供的一套进程间相互通信框架。用来多进程间发送消息,同步和共享内存。BInder是由四个模块组成,Binder Driver 、Binder Client、Binder Server、 Server Manager。 Binder Client相当于客户端,Binder Server相当于服务器, ServerManager相当于DNS服务器,Binder Driver 相当于一个路由器原创 2022-01-10 02:07:10 · 1354 阅读 · 0 评论 -
android BroadcastReceiver
1、广播5种分类普通广播(Normal Broadcast)是开发者自己自定义的广播,是一种完全异步执行的广播,在广播发出去之后,所有的广播接收器几乎同时接收到这条广播消息,它们之间没有任何项目顺序可言。这种广播的效率比较高,但也意味着它是无法被截断的。在广播发送过程中是无视优先级。 系统广播(System Broadcast)是手机系统的广播,例如蓝牙、网络变化、电量低系统都发起广播 ,每个广播都有特定的Intent - Filter 有序广播(Ordered Broadcast)发送出去的广..原创 2022-01-10 00:02:03 · 1686 阅读 · 0 评论 -
android aidl
android 系统中,每个应用程序之间的内存是无法共享内存的。我们要实现在不同的应用程序之间交互数据,这种可以跨进程通信的服务叫AIDL。AIDL作用很大,但并不是所有情况下都是最好的跨进程通信方案,那么什么场景下才适合使用呢?对此,官方给出的解释是:“只有当你允许来自不同应用程序的客户端远程访问你的服务并且在你的服务中处理多线程的情况下才使用AIDL;如果不需要跨应用程序实现并发进程间通信的话,那么你应该使用Binder接口;如果只是进程间通信,但不许处理多线程,那么使用Messenger..原创 2022-01-09 01:20:11 · 566 阅读 · 0 评论 -
android Service
服务启动有2种方式分别是startService 和bindServicestartService 启动的服务:主要用于启动一个服务执行后台任务,不进行通信。停止服务使用stopServicebindService 启动的服务:该方法启动的服务可以进行通信。停止服务使用unbindService创建一个服务package com.nyw.aidldemo;import android.app.Service;import android.content.Intent;impor原创 2022-01-08 02:28:44 · 581 阅读 · 0 评论 -
Android开发中dp和px,sp和px之间的转换时必不可少的,网上流传的方法
package com.nyw.freshdistribution.util;import android.content.Context;public class DisplayUtils { /** * convert px to its equivalent dp * 将px转换为与之相等的dp */ public static int px2dp(Context context, float pxValue) { final f.原创 2021-07-26 21:14:05 · 139 阅读 · 0 评论 -
android 微信登录与友盟统计冲突解决方案
已接入友盟的统计分享,测试可用。后期要求接入微信登录,微信登录后获取到code,后台根据code获取openid,用于打款给用户。可是code传给后台,后台去获取openid,一直提示code been used。微信回调的WXEntryActivity必须继承自WXCallbackActivity(umeng封装),umeng会在内部接收原生请求的回调并执行获取AsscesToken的接口,这个时候拿到的code已经失效了“40163 code been used”,如上图所示解决方法如下.原创 2021-07-08 16:12:23 · 444 阅读 · 0 评论 -
android gradle下载
android gradle下载链接如下:https://services.gradle.org/distributions/下载自己的项目版本,放到自己的电脑上,可以提高打开项目速度,如下所示1.找到setting中的gradle配置中Service directory path 对应的目录2.找到该目录下的.gradle\wrapper\dists\gradle-xxx(找到默认的版本)3.然后从 http://services.gradle.org/distributions/ ,去下原创 2021-02-26 17:19:03 · 1411 阅读 · 0 评论 -
GBK点阵显示字库的制作和使用
开发环境是win7系统 、Visual Studio 2019开发工具1.生成GBK全字符文件运行下面这段代码,生成GBK全字符文件gbk.txt,编码范围0x8140~0xfefe。// TestCDemo.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <stdio.h> #include <stdlib.h> int main(void){ FILE* fp = 0; char ch...原创 2021-01-21 18:58:27 · 1275 阅读 · 0 评论 -
Android APK反编译技巧
反编译我们一共需要三个工具,它们分别是:APKTool,dex2jar,和jd-guiAPKTool:用于解析apk的res文件以及AndroidManifest.xml文件dex2jar:用于把apk解压后生成的classes.dex文件解析为后缀为jar的文件,与下面的jd-gui工具联合使用则可以得到我们的核心Java代码jd-gui:将上一步所得到的jar文件解析为Java文件,从而得到软件的核心代码下载APKTool工具网址:https://ibotpeaches.github原创 2020-12-29 18:52:54 · 130 阅读 · 0 评论 -
android 8.0和android 9.0通知栏不显示解决方法
/** * 创建通知 */ private void setUpNotification() { if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O){ //安卓9.0发送通知 Notification.Builder builder = null; RemoteViews view_custom = ...原创 2020-08-26 01:25:54 · 1032 阅读 · 0 评论 -
android app 限制app使用时间
/** * 时间判断 */ private void limited() { Time t = new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone资料。 t.setToNow(); // 取得系统时间。 String time = t.year + "年 " + (t.month + 1) + "月 " + t.monthDay + "日 " ...原创 2020-06-10 00:43:30 · 4052 阅读 · 1 评论 -
android EditText基础
//打开焦点ct_msg.setFocusable(true);ct_textTo.setFocusable(true);//可以长按ct_msg.setFocusableInTouchMode(true);ct_textTo.setFocusableInTouchMode(true);//可以编辑ct_msg.setEnabled(true);ct_textTo.setEnabled(true);//重新请求焦点ct_msg.requestFocus();ct_textTo.req.原创 2020-05-11 00:01:54 · 174 阅读 · 0 评论 -
android stutio 用下面的命令可以打印更详细的日志
android stutio 用下面的命令可以打印更详细的日志,这里记录一下。gradlew processDebugManifest -stacktrace原创 2020-03-26 12:21:32 · 162 阅读 · 0 评论