Android开发日常
weixin_43976036
活到老学到老
展开
-
Android文件与字节流互相转换
文件流操作,在平时的开发中经常使用到,记录一下。原创 2022-09-11 07:28:40 · 2359 阅读 · 1 评论 -
Android接入第三方QQ登录
上周五老板发飙,苦逼程序员抓狂,纠结了一天,郁闷了周六和周末,今天再次打开第三方QQ登录的demo,猛然发现demo的compileSdkVersion竟然是29,而我的工程compileSdkVersion是30,点击使用qq登录时,界面跳转至QQ下载界面,日志显示fileProvider找不到,我也是醉了,android 10以上的变化还是得做好适配!原创 2022-09-06 07:53:24 · 1541 阅读 · 1 评论 -
ScrollView数据刷新后会自动滚
每秒刷新ScrollView下的子View会出现问题,刚拉下来的view就会自动滚上去,真是奇奇怪怪的!我也是醉了,为啥ScrollView在刷新的时候会自动滚到顶,突然发现以前的代码,想哭的心都有了啊!ScrollView直接嵌在根布局下一层,就这样吧。搞来搞去,翻开以前的代码吧。原创 2022-08-23 07:13:54 · 360 阅读 · 0 评论 -
Beyond Compare 4到期解决办法
Beyond Compare 4到期解决办法原创 2022-08-10 10:18:18 · 3194 阅读 · 0 评论 -
Android开发日常
AndroidStudio设置成Eclipse快捷键由于习惯了eclipse快捷方式,所以想在AndroidStudio中设置,截图看步骤吧。File->Settings->keymap愉快的玩耍吧原创 2022-03-18 15:53:37 · 2431 阅读 · 0 评论 -
Android使用MMKV
前言听说腾讯的mmkv很牛皮,可以替代SharedPreferences,主要用来保存设置,比如串口号、波特率、摄像头预览角度等等,来试一下哈O(∩_∩)O哈哈~1.依赖引入,app build.gradleimplementation 'com.tencent:mmkv-static:1.0.23'2.封装类import android.content.Context;import com.tencent.mmkv.MMKV;public class SharedPreference原创 2021-10-12 16:44:15 · 826 阅读 · 0 评论 -
Android获取以太网mac、ip、网关、子网掩码
在物联网开发中经常需要获取本机的网卡信息,代码如下1.获取macpublic static String getLocalMacAddress() { String mac = ""; try { String path = "sys/class/net/eth0/address"; FileInputStream fis_name = new FileInputStream(path); byte[原创 2021-10-08 10:25:27 · 2734 阅读 · 0 评论 -
Android接入USB扫码模块
前言USB扫码模块可以是扫描盒子或者扫码枪之类的,一根USB线作为供电和数据通信使用,有些扫码模块支持虚拟串口模式,虚拟串口模式读取数据会比较简单一点,和普通的串口一样操作即可,就是通过虚拟串口口+波特率即可获取到数据,这里主要讲读取USB模式下的数据。1.读取USB模式下的数据USB模式下的扫码模块相当于一个外接键盘,也就是它必须在有光标的地方才能进行扫码,且是直接把扫到的内容自动输入到输入框中,并不受我们的控制,所以我们必须另外想办法,安卓系统中有这么个方dispatchKeyEvent(KeyE原创 2021-09-27 12:00:59 · 679 阅读 · 0 评论 -
Android使用websocket
websocket是web端的一个长连接协议,也是用来实时通知的一门技术,在不刷手动新界面的情况下可以实时刷新界面,比如一个报警触发,web端要实时弹窗提示,这个情况下就需要websocket了,现在先来谈谈android上如果使用websocket。1.添加依赖 implementation 'org.java-websocket:Java-WebSocket:1.3.9'2.使用封装类WebSocketHelperimport android.util.Log;import org原创 2021-09-23 16:10:47 · 2491 阅读 · 0 评论 -
Android数据库框架GreenDao升级助手
当我们需要修改或者新增数据库表字段时,需要进行数据库升级,不然就会报错,数据库升级步骤如下1.MigrationHelper,升级工具类import android.database.Cursor;import android.database.SQLException;import android.database.sqlite.SQLiteDatabase;import android.support.annotation.NonNull;import android.text.TextUt原创 2021-09-23 10:56:23 · 316 阅读 · 0 评论 -
多阶图形解锁,可配置9点、16点、25点等等
常见的九宫格就是9点的图形解锁,有些变态的需求是16点的,那就尴尬啦,这里的变态还是公司这边招标时遇到的,没有新鲜玩意,不会中标哦!!!废话不多说,代码如下:1.GestureLockViewimport android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Paint.Style;import android.graphics.P原创 2021-04-27 16:31:34 · 709 阅读 · 0 评论 -
Android GreenDAO使用总结以及封装使用
前言总所周知,GreenDAO这个数据库框架在Android中是非常出名的,是基于sqlite进行封装的,GreenDAO是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,让操作数据库时更简单、更方便。GreenDao对外提供的核心类有:DaoMaster:DaoMaster保存数据库对象(SQLiteDatabase)并管理特定模式的Dao类。它具有静态方法来创建表或将他们删除。其内部类OpenHelper和DevOpenHelper是在SQLite数据库中原创 2021-04-27 16:01:02 · 486 阅读 · 0 评论 -
Android File新建删除封装
工欲善其事必先利其器,对文件的新增删除是Android开发中经常遇到的事情,重复的代码不是我们想要的,所以需要封装!!!FileUtilsimport android.annotation.SuppressLint;import android.content.ContentUris;import android.content.Context;import android.database.Cursor;import android.net.Uri;import android.os.Bui原创 2021-04-27 15:22:47 · 113 阅读 · 0 评论 -
Android Toast封装使用,以便统一管理
由于Toast需要一个Context对象传参,可以使用Application,也就是说在Application中初始化一下就可以在程序的任何一个地方使用啦!!!ToastUtilsimport android.content.Context;import android.support.annotation.StringRes;import android.widget.Toast;public class ToastUtils { private static Toast toast原创 2021-04-27 15:14:24 · 181 阅读 · 0 评论 -
Android崩溃日志收集,CrashHandler上场!!!
给大家分享一下代码,Android崩溃日志收集,老生常谈咯!!!新建CrashHandler类,代码如下:import android.content.Context;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.content.pm.PackageManager.NameNotFoundException;import android.os.Build;原创 2021-04-27 15:03:02 · 384 阅读 · 1 评论 -
Android Activity四种启动模式
Android Activity四种启动模式1. Standard 标准模式(默认)每次启动一个Activity都会又一次创建一个新的实例入栈,无论这个实例是否存在。2. SingleTop 栈顶复用模式(1)须要创建的Activity已经处于栈顶时,此时会直接复用栈顶的Activity,不会再创建新的Activity,onNewIntent会被回调。(2)若须要创建的Activity不处于栈顶,此时会又一次创建一个新的Activity入栈,同Standard模式一样。3. SingleTask原创 2021-04-21 18:15:47 · 86 阅读 · 0 评论 -
adb常用命令
adb常用命令adb shell screencap -p /sdcard/screen.png //是截图保存到sd卡;adb pull /sdcard/screen.png //是将screen.png保存到计算机上;//保存的路径为你使用adb命令时的当前目录,当然你也可以在最后加入你想存放的路径名。adb start-serveradb kill-serveradb devicesadb shell dumpsys window disp原创 2021-04-23 09:40:37 · 216 阅读 · 0 评论 -
compat库是如何将TextView替换为AppCompatTextVew的?
TextView在运行时被替换成AppCompatTextView的前提是:该Activity必须继承自AppCompatActivity它是怎么替换的呢?主要看AppCompatActivity的onCreate(),源码如下@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) { AppCompatDelegate delegate = this.getDelegate(); d原创 2021-04-27 14:07:35 · 372 阅读 · 0 评论 -
解决AndroidStudio4.1.2 XML代码格式化导致布局混乱
解决AndroidStudio4.1.2 XML代码格式化导致布局混乱前言自从升级androidstudio之后,感觉舒服了许多,不再执着于老版本,向着新版本迈进,与时俱进,但是新版本总是有些变化,看到杂乱的xml代码,总想这格式化一下,但是新版的androidstudio会把控件排序,界面就会跟预想的不一样,难受呀,写完布局之后就不要格式化了,强迫症患者忍耐中。。。今天终于解决了这个问题,可以开心的格式化代码了,只是配置一下就可以了。1.Fille->Settings2.Editor-原创 2021-04-15 14:59:08 · 552 阅读 · 3 评论 -
Android 解决Android Studio 4.1以上不适配ButterKnife Zelezeny插件问题
Android 解决Android Studio 4.1以上不适配ButterKnife Zelezeny插件问题将Android Studio升级到4.1以后无法使用ButterKnife Zelezeny插件,ButterKnife Zelezeny作者已经不再维护,建议大家使用ButterKnife Inspections,ButterKnife Inspections可以完全的替代ButterKnife Zelezeny,可以放心使用,下面教大家如何使用ButterKnife Inspection原创 2021-03-23 18:00:26 · 1352 阅读 · 3 评论 -
Androidx下设置按钮背景(button backgroung)无效解决方案
@[TOC](Androidx下设置按钮背景(button backgroung)无效解决方案)解决办法:找到AndroidManifest.xml,修改application下的主题如下: <style name="Theme.Demo" parent="Theme.MaterialComponents.DayNight.NoActionBar.Bridge"> <!-- Primary brand color. --> <item nam转载 2021-03-22 13:46:14 · 345 阅读 · 1 评论