
学习积累
宋向前
这个作者很懒,什么都没留下…
展开
-
Jectpack -- Navigation了解与简单使用
Jectpack -- Navigation的简单使用原创 2023-02-21 14:15:39 · 880 阅读 · 0 评论 -
简单的工厂模式理解
简单的工厂模式理解原创 2023-01-31 15:21:50 · 153 阅读 · 0 评论 -
kotlin高阶函数的初级理解
kotlin高阶函数的初级理解原创 2022-08-25 14:55:21 · 860 阅读 · 0 评论 -
Android 11+储存与相册适配
android11储存适配原创 2022-06-10 09:40:10 · 1499 阅读 · 1 评论 -
Android 收集崩溃信息发送邮件到指定邮箱
import java.io.File;import java.io.PrintWriter;import java.io.StringWriter;import java.io.Writer;import java.lang.Thread.UncaughtExceptionHandler;import java.util.HashMap;import java.util.Properties;import android.app.AlertDialog;import android...原创 2021-10-13 15:44:29 · 591 阅读 · 1 评论 -
RecyclerView 刷新内容抢夺焦点问题
父布局中加入下方代码就可以解决android:focusable="true"android:focusableInTouchMode="true"原创 2020-03-20 14:49:32 · 969 阅读 · 0 评论 -
android studio 无线调试
一直以来都是用数据线连接手机进行调试的,但是近日华为赞助我们的一个pad m5,尼玛只给了pad,没给充电线,而且这个pad是要tipec的那种充电线,说充电线好买,让我们自己买一个。作为一个抠逼的程序员怎么可能自掏腰包买一个充电线,还不如给我一刀。于是就了解了一下无线调试。ps:只需要用一次充电线,后面就不再需要了(除了充电,第一次是我借的同事的)1:数据线连接手机和电脑,确保手机和电脑...转载 2019-12-31 15:43:51 · 403 阅读 · 0 评论 -
好用的studio插件与工具集合
工具类插件:Android Postfix completion.log .toast GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat Lifecycle ...转载 2017-10-12 14:26:17 · 301 阅读 · 0 评论 -
小数保留处理
// 保留两位小数 四舍五入double couponPrice = new BigDecimal(couponPrice).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();// 舍弃后方的0 比如 2.30 变成2.3DecimalFormat df = new DecimalFormat("#.###");String str = ...原创 2018-07-11 17:42:31 · 686 阅读 · 0 评论 -
ToolBar 相关使用
修改右上角三个小点的方法清单文件中application中 android:theme="@style/Theme.Trvokcip.NoActionBar"<style name="Theme.Trvokcip.NoActionBar"> <item name="windowActionBar">false</item> &原创 2018-06-08 14:21:47 · 123 阅读 · 0 评论 -
设置adb与通过trace文件分析内存泄漏问题
有时内存泄漏无法定位, 只有一大串内存使用情况的log这时候就可以分析trace文件.使用adb输入adb pull /data/anr/traces.txt导出文件到下面出现的地址中主要分析文件中与项目相关的关键字如果adb无法使用, 显示非内部储存什么的, 就是adb路径没有设置好,设置步骤:我的电脑--属性--更改设置--高级--环境变量系统变量下, 新建变量 ANDROID_HOME ...原创 2018-05-24 17:34:51 · 1326 阅读 · 0 评论 -
Android 安装apk 适配7.0 8.0
1.首先清单文件中加入权限<!--安装包相关权限--><uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>2. application中加入, 注意 android:authorities="${applicationId}.provider" 这部...转载 2019-05-22 16:29:25 · 488 阅读 · 0 评论 -
屏幕px 与 dp系统学习一下
常见的几种换算ldpi 320*240 1dp=0.75px mdpi 480*320 1dp=1.0px hdpi 800*480 1dp=1.5px xhdpi 1280*720 1dp=2.0px xxhdpi 1920*1080 1dp=3px 提供一个工具类:dp与px值转换public class DensityUtil { /...原创 2018-05-07 14:46:48 · 217 阅读 · 0 评论 -
高斯模糊控件
直接覆盖在需要的控件上方即可package com.github.mmin18.widget;import android.app.Activity;import android.content.Context;import android.content.ContextWrapper;import android.content.pm.ApplicationInfo;imp...转载 2018-12-17 16:42:22 · 491 阅读 · 0 评论 -
解决软键盘遮挡问题(指定控件上移)
ViewTreeObserver.OnGlobalLayoutListener mListener; ViewTreeObserver mTreeObserver; /** * 移动的布局 * @param root 需要移动的布局 * @param button 最底部的布局 */ private void butto...转载 2018-12-28 10:05:33 · 736 阅读 · 0 评论 -
视频压缩(支持图片,视频)
https://github.com/Tourenathan-G5organisation/SiliCompressor // 大于20m自动压缩CompressVideoUtils.getCompressVideoTask(this, 450, 20, 1000, 400, new CompressVideoUtils.OnCompressListener() { @Over...原创 2018-12-28 11:11:41 · 1359 阅读 · 0 评论 -
本地文件相关操作(读取,读取uri,复制)
通过uri获取文件绝对路径private String getRealPath( Uri fileUrl ) { String fileName = null; if( fileUrl != null ) { if( fileUrl.getScheme( ).toString( ).compareTo( "content" ) == ...原创 2019-07-01 14:35:50 · 2454 阅读 · 0 评论 -
解决android textview自动换行问题
public class SDAdaptiveTextView extends TextView { public SDAdaptiveTextView(Context context) { super(context); } public SDAdaptiveTextView(Context context, @Nullable Attribu...转载 2019-06-27 14:20:44 · 8488 阅读 · 0 评论 -
解决部分小米手机在"不再提醒"拒绝权限后失败的问题.
正常处理是跳转到小米系统设置界面,有问题的情况使用下方代码: Intent i = new Intent("android.settings.APPLICATION_DETAILS_SETTINGS"); String pkg = "com.android.settings"; String cls = "com.android.settin...原创 2019-08-30 17:40:36 · 1950 阅读 · 0 评论 -
百度地图获取sha1值
百度地图sha1值获取原创 2017-07-05 15:46:24 · 380 阅读 · 0 评论 -
学习自定义View
1. OnMeasure() @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec);}这个方法中的返回值 代表测量模式加上具体数值int specMode...原创 2018-05-09 11:17:35 · 162 阅读 · 0 评论 -
好用的动态权限管理
https://github.com/yanzhenjie/AndPermission个人记录学习用, 如有侵权行为, 请联系删除public static String mContactsPermissionName = ""; public static void checkContactsPermission(Context context, Activity activity, S...原创 2018-04-13 13:51:07 · 253 阅读 · 0 评论 -
安装eclipse ADT
1. 下载eclipse + ADT + sdk(设置太多不解释)或者下载google ADT(包含eclipse 和adt 还有 sdk)(推荐)http://tools.android-studio.org/index.php 亲测下载的好用2. SDK Manger 列表加载不出来, 加载失败:解决国内访问Google服务器的困难: 1.启动 A原创 2017-09-25 13:59:23 · 286 阅读 · 0 评论 -
关于遇到的内存泄漏整理
问题1:在做viewPager 无限循环时候出现的内存泄漏问题 导致多次循环后崩溃进行多次后开始显示Skipped 31 frames! The application may be doing too much work on its main thread.主线程做了太多的事情导致线程阻塞了, 原因是adapter 里面 , 不能每次都inflate 一个布局原创 2017-08-11 14:17:38 · 320 阅读 · 0 评论 -
android 画面风格切换(夜间模式/日间模式) (有小坑没解决)
谨以此文纪念踩过的小坑坑.结构目录首先 , color.xml, 定义每一套需要用到的color例如: 我这里是用两套来举例说明 #3F51B5 #303F9F #FF4081 #565760 #ffffff #16c822然后, 定义style 里面的theme需要注意的是原创 2017-08-08 17:00:03 · 1507 阅读 · 0 评论 -
百度地图快速解决所有SDK中key验证失败,log显示230错误的问题
只作为个人学习记录, 如有侵权行为请及时通知本人删除转自: http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=106461 安全码校验工具:http://bbs.lbsyun.baidu.com/forum.php?mod=attachment&aid=MTUwMDZ8ZmUzNTBjYTR8M转载 2017-07-05 21:41:44 · 2967 阅读 · 0 评论 -
android 配置 小乌龟SVN SVN需要忽略的文件
记录配置SVN时候遇到的坑希望小伙伴们能快速安装, 少踩我遇到过的坑如果大家有什么不一样的坑, 欢迎反馈首先下载安装SVN 安装的时候记得这个地方要选择安装, 切记, 不然android studio 里面无法配备上svn 也就是找不到 svn.exe接下来属性 接下来*********************重点*****原创 2017-06-24 17:41:15 · 1672 阅读 · 1 评论 -
遇到的android studio崩溃信息整理
1. eclipse adt 转移项目到studio 会出现中文乱码问题 使用EditPlus 或者 NotePad++进行转码 UTF-8 无 BOM 编码格式2.Android 修改包名无法运行activity class does not exist 删除app包内build下workspace.xml (.idea下)3...原创 2017-06-22 22:21:49 · 947 阅读 · 0 评论 -
ListView,GridView与ScrollView嵌套使用的故事
ListView,GridView 与scrollView嵌套使用出现的问题:1, LV 与 GV显示不完整:写一个类 继承LV或GVprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {int expandSpec = MeasureSpec.makeMeasureSpec(Integ原创 2017-06-09 14:46:04 · 230 阅读 · 0 评论 -
recycleview瀑布流Item适应图片
package com.example.pei.recyclerviewdemo;import android.app.Activity;import android.content.Context;import android.content.res.Resources;import android.graphics.Bitmap;import android.graphics.Bi原创 2017-04-28 17:50:42 · 342 阅读 · 0 评论 -
android 配置与使用 阿里消息队列 MQ
记录android 使用阿里消息队列操作httpjava sdk配置到android中不成功, 显示 L java.lang.management.ManagementFactory 找不到后查阅可能是java 和android 中的包不是完全匹配现改用MQTT 方式使用队列原创 2017-10-10 10:29:58 · 1486 阅读 · 2 评论 -
BaseRecyclerAdapter之添加不同布局(头部尾部)
学习记录, 好用的RecyclerView http://www.jianshu.com/p/9d75c22f0964转载 2017-10-11 13:52:19 · 535 阅读 · 0 评论 -
获取手机联系人
1.获取手机联系人列表private String[] getContacts() { //联系人的Uri,也就是content://com.android.contacts/contacts Uri uri = ContactsContract.Contacts.CONTENT_URI; //指定获取_id和display_name两列数据,dis...原创 2018-04-16 15:12:32 · 314 阅读 · 0 评论 -
Android 各种加密
AES 128 加密// 加密 AES 128 ECB PKCS7 public static String AES128_Encrypt(String sSrc, String sKey) throws Exception { if (sKey == null) { System.out.print("Key为空null");原创 2017-11-17 15:23:15 · 258 阅读 · 0 评论 -
JSONobject类相关处理(格式化掉转移符)
项目中扫描二维码读取:KGYXKkFufUOoBTdCI+w0VD1pInVkWdVw9HeRDT8LRRhkwVOiRx1QNgi9jjJSl6Lqm4ZC10L75KIrRTyOSDkZBVdn1MdlzfOxb2sTbZF82Sp3srf0phd3sf\/82HcUm0aF6lal6xAuwVwlVEaX9yZmP68ADQ==其中红色字体为转移符, 无法识别使用JS原创 2018-03-01 14:51:06 · 2031 阅读 · 0 评论 -
webView使用
WebSettings webSettings = native_web.getSettings();//无缓存模式加载(可以解决h5 css内高度控制失败问题)webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);native_web.getSettings().setDomStorageEnabled(true);native_web...原创 2018-03-08 11:26:28 · 176 阅读 · 0 评论 -
银行卡格式化(每四位空格,删除添加,更变等)
输入时候动态的让银行卡格式化1.目前已知长按粘贴会有部分bug, 暂时没有解决, 统一处理是把光标放到最后.2.无法长按删除, 猜测是 format(String.valueOf(editable)); 方法后删除按钮的焦点消失, 暂时没解决./** * 选中一个粘贴一个(光标停留在粘贴元素最后一个) * 选中一个删除 (光标停留在删除掉的元素的start位置) * 选中一个原创 2017-12-06 15:18:08 · 1591 阅读 · 0 评论 -
Android 调用铃声与振动
短而频繁的铃声适用:soundPool = new SoundPool(10, AudioManager.STREAM_SYSTEM, 5); soundPool.load(this, R.raw.qud, 1);调用:soundPool.play(1, 1, 1, 0, 0, 1);需要注意的是,此方法不能直接调用, 需要提前加载, 否则不会发出声音.()比原创 2017-11-22 17:17:29 · 4807 阅读 · 0 评论 -
关于接口最最最基础层面上的使用理解
最一开始想要学习接口回调的使用方法, 但是网上的什么小李小明打电话, 什么老板员工打电话, 让我理解的一头雾水, 后来看了一段时间总算是有了一些用法和 层面上的基础理解, 所以写一个小小的笔记记录一下现在的思路, 以免以后长时间不用遗忘, 有可能的话也能帮助初学者一起进步一起理解.首先我们定义一个接口类 CallBack;public interface CallBack { v原创 2017-06-11 22:23:02 · 295 阅读 · 0 评论 -
android 写文件到本地
// 生成日志 打印日志 log TxT 专用 private void printLogMsg(JSONObject jsonObj) { String filePath = Environment.getExternalStorageDirectory().getPath() + "/AirportCipPo原创 2017-10-11 13:48:46 · 4449 阅读 · 0 评论