- 博客(37)
- 资源 (7)
- 收藏
- 关注
原创 Android 自定义曲线箭头和直线箭头
在日常的开发中,我们很少会用到自定义箭头,但是有时候会有一些特殊要求会要求绘制箭头,所有特意记录一下在绘制箭头的时候,一般分为直线箭头和曲线箭头,分别如下面图所示一般来讲,曲线箭头会有三个坐标,开始坐标,中点坐标,终点坐标,而直线箭头分为两个坐标,开始坐标和结束坐标直线箭头很简单,先绘制两个点的直线,再根据 atan2,sin,cos计算出角度,最终计算出终点和角度的终点值曲线箭头则稍微有点不一样,先根据quadTo 赛贝尔画出曲线,再根据终点,和直线箭头一样,计算出角度,从而计算出箭头
2022-04-08 10:48:43
2188
原创 记一次日志
ifconfigam start -a android.settings.SETTINGSmount -o remount,rw /systemadb connect 192.168.2.186:5555echo 0 > /proc/sys/kernel/printk \r3288 固件工具升级,如果发现说设备类型不匹配 ,需要重启 adb reboot loade...
2019-08-08 21:04:04
260
原创 自定义view 滑动触摸时间
请求父类及上层view不要拦截本view的触摸事件getParent().requestDisallowInterceptTouchEvent(true);
2019-04-08 22:10:06
183
原创 关于安卓19的板子通过usb连接打印机打印问题 (非小票打印机器)
很多打印机有提供windows,linux的打印驱动,但是安卓的驱动几乎没有厂家提供,这就导致很多想通过安卓平板控制打印机连接打印的用户无法实现,而市面上面大多数打印软件也是通过蓝牙或者网络来进行连接打印,而不是我们想要的usb线进行打印在安卓的原生板子里面,提供了打印支持,且大部分打印机厂家也针对原生打印驱动做了兼容,比如惠普啥的(可以直接连接usb先选择文件进行打印测试) ,惠普提供有打印...
2019-01-14 16:01:30
1240
1
原创 Android + SptringBoot + python数据采集 ,模拟一次简单的网络请求
android:Kotlin + rxjava2+retrofit + mvvm后端:StringBoot + myBatis ,数据库 : mysql网络数据来源采集:python Dome:https://download.youkuaiyun.com/download/nibinusm22b/10846560
2018-12-12 21:19:45
230
原创 修改4.4安卓设备开机动画 (需要root)
1.先将bootanimation.zip资源放到sd卡目录下面 adb push bootanimation.zip sdcard/2.进入到/system/media中然后将sd卡中的bootanimation.zip文件拷贝过来 cat /sdcard/bootanimation.zip>bootanimation.zip3.即时你是root用户,也会提示你不能更改,...
2018-11-30 10:41:59
2270
1
原创 aar打包资源仓库引用问题
在引用后面添加transitive=true ,如: implementation ('com.android.support:appcompat-v7:28.0.0-rc02'){transitive=true}
2018-09-04 16:06:08
828
原创 初探python遇到的问题 (记录)
1、使用python写爬虫数据,肯定首先安装python,然后配置python环境变量,cmd之后输入python,便可以看到python的信息2、在安装好python之后,因为我在爬数据的时候需要用到requests 和 BeautifulSoup这两个包,所以需要安装如下:pip install requests输入命令之后发现无法识别pip命令,起初是以为没有安装pip工具,后面了解到p...
2018-05-09 13:23:47
800
原创 androdi项目混淆代码更改字体
都知道防止自己app被别人反编译最简单的第一步就是代码混淆,有时候虽然代码混淆之后增加了别惹阅读难度,但是有耐心一点还是可以还原的,那么我们可不可以搞点乱七八糟的文字放里面看晕别人呢。 答案是当然可以的 ,其实很简单,先上图 这是自己添加之后打包再反编译看到的,实现步骤如下 在项目app目录下面添加一个dic.txt文件,然后添加规则-obfuscationdictionary dic.txt-...
2018-04-11 15:21:47
303
原创 反编译app并加入引导页面
反编译别人app,我们需要用到一些反编译工具,我们这里用到三个工具:apktool.jar,apktool.bat 、jd-gui、dex2jar工具可以再网上下载或者https://pan.baidu.com/s/1htWNrfA 密码:7t2i 下载 反编译app首先得有目标app,我创建了一个Dome,一个很简单的显示有了dome,开始反编译把apk放到和工具一起
2018-01-15 17:33:35
3232
12
原创 仿windows桌面气泡
地址如下:http://download.youkuaiyun.com/detail/nibinusm22b/9893524
2017-07-10 09:46:03
857
原创 部分手机无法显示Dialog问题
在项目中有时候需要用到系统弹窗,即让当前dialog显示在所有视图之上,一般来说,设置Dialog的type即可,如下:dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); android:name="android.permission.SYSTEM_ALERT_WI
2017-07-06 23:41:07
3367
1
转载 Text设置
import android.content.Context; import android.graphics.Color; import android.text.SpannableString; import android.text.Spanned; import android.text.style.AbsoluteSizeSpan; import andro
2017-06-03 17:44:41
342
原创 Git
首先在github创建工程1.在Git Bash命令中cd到对应的仓库位置,如果没有,就初始化一下 git init2.添加文件 git add ***(为文件夹名字或者项目名字)3.git commit -m"注释"4.添加到远程仓库 git remote add origin https://github.com/chaopengTan/Android.git(这个地址每个项目都不
2017-05-23 00:27:40
266
原创 两个没有相互依赖的moudle之间的跳转
在写项目的时候,有时候将项目分模块写,会需要不同模块之间的activity跳转,一般来说有两种方式,一就是路由跳转,或者使用隐式跳转 路由暂且不表,这里只对隐式跳转做个记录,加个过滤器即可category标签必须要有一个,然后直接跳转即可
2017-04-25 17:50:53
848
原创 调用手机相片和视频 安卓开发
在平时的开发里,很多时候都会需要用到调用手机里面的相片和视频,写来写去很麻烦,然后这次自己就写了一个封装起来,两行代码即可调用,调用方法如下:参数不同,调用的数据不同,LocalResource.IMAGE参数为调用手机里面的相片,LocalResource.VIDEO参数为调用视频LocalResource localResource = new LocalResource(
2017-04-13 22:52:51
633
原创 android 7.0 app安装问题
有时候我们在程序里,下载了一个app,需要自动的调出安装界面,在7.0之前,我们直接这样调用就可以了,如下:Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");intent.se
2017-04-13 22:42:13
1274
原创 JieCaoVideoPlayer 使用的坑
JieCaoVideoPlayer 作为开源的视频播放项目,使用热度非常之高,目前已有三千四百多的star,下面是它的地址https://github.com/lipangit/JieCaoVideoPlayer/如下所示: 他的基本使用就不说,说一下自定义界面和一些坑如果要自定义界面,则需要继承 JCVideoPlayer 类,如果不想麻烦,直接把JCVide
2017-04-06 16:33:51
6623
原创 Fragment中监听自身是否显示状态
实现本身这个方法即可@Overridepublic void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); Log.d("setUserVisibleHint",isVisibleToUser+"");}
2017-03-07 21:48:29
1373
原创 android 阿里云OSS文件上传
阿里云OSS文件上传, 只使用了普通上传和分片上传 ,其实官方的api文档已经写的很清楚了,这里再记录一下,免得下次搞不清楚package com.sypt.xdz.ossmoudle;import android.content.Context;import android.util.Log;import com.alibaba.sdk.android.common.u
2017-03-02 18:54:48
6217
7
原创 部分手机使用系统弹窗报错问题
之前在项目里面做了一个系统弹窗,使用了dialog.getWindow() //.setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);但是在部分手机却抛异常,这和权限无关,即使申请了权限也是不可用,比如在华为手机上面可以使用,但是三星手机却报错,后来将其改成dialog.getWindow()
2017-02-20 10:45:42
721
原创 写一个简单的线程池
线程池的组成很简单,弄一个线程池工厂,然后再弄一个工作队列,然后用Executor这个java自身的框架来处理,基本就ok了,下面放代码1.首先我们定义一下基本的配置/**创建一个线程池,用来平时耗时的操作**/private final static int POOL_SIZE = 4;// 线程池的大小最好设置成为CUP核数的2N private final static in
2016-09-07 10:41:11
1325
原创 关闭虚拟键盘
//1.得到InputMethodManager对象InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);boolean isOpen=imm.isActive();//isOpen若返回true,则表示输入法打开 if(isOpen){imm.hi
2016-07-12 12:26:52
813
原创 关于底部虚拟按钮
/** * 获取虚拟按键高度 * * @param context * @return */ public static int getNavigationBarHeight(Context context) { int navigationBarHeight = 0; Resources rs = con
2016-07-12 12:21:31
340
原创 Android系统自带样式
android:theme="@android:style/Theme.Dialog" 将一个Activity显示为对话框模式 android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序标题栏 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 不显示应用程序标
2016-07-12 12:19:52
257
原创 在使用v4包中的fragment时出现空指针的bug
fragment是很多开发者都使用的一个视图组件,但是有时候我们遇到奇怪的空指针异常: Caused by:java.lang.NullPointerException android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManage
2016-06-15 10:08:47
328
原创 改变条标题栏透明度在6.0上的问题
在写项目的时候,做了一个随着手指滑动的时候,当前页码标题栏的透明度也逐渐的改变,但是这个地方在6.0以下没问题,但是到了6.0之后就出现了问题,因为这个标题栏的是很多界面共用的,当退出了这个界面,而其他的界面用到了这个标题的话,透明度也会出现了改变,这时候我们只需要将代码top_titile.getBackground().setAlpha(xx); 改为 top_titi
2016-06-15 09:35:45
237
原创 程序解耦的简单阐述
观察者模式是使用率很高的一种模式,又称订阅模式,最主要优点便是程序的解耦了Subject 抽象主题,也就是被观察的角色ConcreteSunbject:具体主题,该角色将有关状态存入具体观察者对象,在具体主题的内部状态发生改变时,给所有注册过的观察者发出通知Observer:抽象观察者,该角色是观察者的抽象类,它定义了一个更新的接口,使得在得到主题的更改通知时更新自己Concr
2016-06-15 09:29:58
440
原创 关于程序解耦性的简单阐述
观察者模式是使用率很高的一种模式,又称订阅模式,最主要优点便是程序的解耦了Subject 抽象主题,也就是被观察的角色ConcreteSunbject:具体主题,该角色将有关状态存入具体观察者对象,在具体主题的内部状态发生改变时,给所有注册过的观察者发出通知Observer:抽象观察者,该角色是观察者的抽象类,它定义了一个更新的接口,使得在得到主题的更改通知时更新自己Concr
2016-06-15 09:26:55
1952
原创 简单动画
在Android3.0之前,andorid提供了几种动画类型 ViewAnimation,Drawable Animation,Property Ainmation, View Animation相当简单,不过只能支持简单的缩放,平移,旋转,透明度这些基本的动画 Google在Android3.0之后,提供了属性动画,这使得动画系统变得极其强大了起来,考虑到很多app需要兼容3.0
2016-06-02 10:21:04
299
原创 单例模式的几种写法
第一种:简单的单例模式private static final XXX xx = new XXX();将构造函数私有化private XXX(){}然后写一个public的方法,public static XXX getxxx(){return xx;}第二种:懒汉单例,模式:public class XXX{private stati
2016-05-29 10:20:27
459
原创 重复new对象所带来的问题和解决办法
在写程序中,有时候我们需要在一个循环中new出多个对象,然后设置值,如这样:for(int i =0;i++;iXXXX xx = new XXXX();xx.setXX(****);}这样做的问题就会有很多的对象,耗费内存,那我们如何解决呢?这种情况下,我们可以考虑原型模式,原型模式分为深拷贝和浅拷贝,在使用中,我们推荐使用的是深拷贝,因为这样能够避
2016-05-29 10:08:31
2994
原创 如何退出一个app
在实际的开发中,我们常常会用到退出程序这个功能,但是我们一个app经过用户的使用,是打开了很多activity的,而却不能没进入另外一个activity进关闭前一个,故在后台存在着我们并没有finash的activity,网上也有很多关闭程序的资料。如使用Intent跳转关闭,又或者是这种:android.os.Process.killProcess(android.os.Proces
2016-05-22 13:33:24
634
原创 微信分享多个图片和文字到朋友圈
在微信的官网文档中,只有单个的图片分享和单独的文字分享,不然就是web类型的分享,而有时候我们需要的是像发朋友圈那样,直接发布文字和图片,不需要任何的链接。但是微信api是不支持这种的,那我们是如何做到的呢?我的理解是,在应用中,将需要分享的图片先保存到本地,然后通过引用本地图片的url,再通过微信app的包传入,以达到实现分享的目的,具体代码看一下截图,我也会做一部分的说明,如果有错误的地方
2016-05-22 09:56:37
14227
1
原创 关于动态壁纸商城的撸码
之前想写一个商城类的动态壁纸app,但是一直没有找到资料,网上的很多资料都是直接做成一个壁纸,然后去壁纸设置里面去更换,这显然不是我想要的类型,然后经过一番找资料,终于让我弄好了,暂且先写下来,如果有需要的朋友看到了,也可以借鉴一番先看一下预览界面和壁纸界面动态壁纸其实也就是一个app,我们需在里面写上这样的一个申明权限只有加上这个服务并且有红色
2016-05-22 09:21:25
5419
Android 自定义 直线箭头和曲线箭头
2022-04-08
PrintSpooler.apk源码 (安卓内置打印apk源码)
2019-01-14
Android + SptringBoot +数据采集 ,模拟一次简单的网络请求
2018-12-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人