- 博客(15)
- 收藏
- 关注
原创 R资源文件,assets文件生成Bitmap
最新得到的需求,需要生成一个二维码然后我们的广告也拼在一起,分享出去。先上核心代码这个方法来自于zxing,就是一个生成二维码的方法,也可以手写。 /** * 生成二维码图片 * @param text * @param w * @param h * @param logo * @return */ public static Bitmap createImage(String text,int w,int h,Bi
2021-07-27 20:25:37
566
原创 关于谷歌收费降低15%的处理方案
首先,我们来看一下谷歌给我们公司的来信。重点文字内容:我们曾于 2021 年 3 月宣布,自 2021 年 7 月 1 日起,每个销售数字产品或服务的开发者每年前 100 万美元收入的服务费率将由原来的 30% 降至 15%。自今天起,您便可以在 Google Play 管理中心加入相应计划,以享受 15% 的服务费率。若要加入该计划,您需要完成以下事项:创建帐号群组,让我们能了解您是否有任何关联的开发者帐号 接受该服务费率的条款及条件由于这项计划将于今年年中推出,我们会按比例调
2021-06-22 14:23:03
299
原创 android ListView刷新抢占屏幕焦点
内容如题:界面排版上出现了类似ListVew列表的这种控件,得到数据后刷新界面抢占了焦点,导致屏幕自动向下滑动。解决办法:1、设置抢占焦点的子控件 android:focusable="false";2、设置父布局 android:descendantFocusability="blocksDescendants"。...
2020-12-14 16:20:07
369
原创 手写简易handler
用通俗易懂的话来阐述handler在android中起到的作用处理延时任务线程数据通信先用文字描述一下各个类的具体情况:Looper有一个MessageQueue消息队列MessageQueue有一组待处理的MessageMessage中有一个用于处理消息的HandlerHandler中有Looper和MessageQueuepublic class Handler { private Looper mLooper; private MessageQueue mMes
2020-06-10 14:27:32
231
原创 看源码:制作沉浸式状态栏
public class StatusBarUtil { public static void setStatusBarColor(Activity activity, int color) { //5.0以上 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { activity.getWindow().setStatusBarColor(color);
2020-06-05 15:42:55
163
原创 看源码:子线程不能更新UI
更新UI的意思就是改变用户当前看到的界面元素 textView.setText("我是修改的值")这是一个最典型的更新UI的操作,更换了TextView中文字的值,那我们就来看看TextView @UnsupportedAppUsage private void setText(CharSequence text, BufferType type, boolean notifyBefore, int oldlen) { .......
2020-06-03 11:46:04
156
原创 看源码:ScrollView嵌套ListView不会显示全
ListView这个类中的onMeasure方法 @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // Sets up mListPadding super.onMeasure(widthMeasureSpec, heightMeasureSpec); final int widthMode = MeasureSpec.getMo
2020-06-02 11:09:50
163
原创 互联网产品新理解
最近在某App上获得一个推荐的书,叫做《梁宁.产品思维30讲》。感觉对产品的产生了一种新的观看角度,从而得到了一些不一样的理解。下面的文章,绝大部分来自于某App的原文,但是为了更好的去记录和加深理解,今天决定把这些东西留在自己微博中。 首先,梁宁是谁。天使投资人,人称“中关村第一才女”。曾创办旅人网,雷军投资,后被腾讯收购。现在她是湖畔大学案例中心的主任。 产品这个词对我们来说...
2018-05-04 20:57:25
579
转载 Android通过gradle实现debug和release包名不同
在Android项目中,默认debug版与release版的包名相同,从而导致debug版与release版两者不能共存,为了方便开发时的调试,通过gradle我们可以实现让两者在一台手机上共存配置app目录下的build.gradle文件:android { ...... buildTypes { ...... debug { //...
2018-05-04 19:29:29
6825
转载 Android文件断点下载(暂停/继续/重新下载)
一:关于断点下载所涉及到的知识点1.对SQLite的增删改查(主要用来保存当前任务的一些信息) 2.HttpURLConnection的请求配置HttpURLConnection connection = null;//设置下载请求属性connection.setRequestProperty();3.RandomAccessFile 对文件进行写入RandomAccessFile rwd =...
2018-05-04 19:26:09
2208
2
原创 Android程序存储及安全性浅谈
一.概述程序安装后会默认生成许多文件夹,这些文件夹有其特定的用处,总的说来有两类1.内部存储,是受保护,私有的,只有本程序才能访问的,文件位置在data/data/package name/下。2.外部存储,没有安全机制的,公开的,可分享的,文件位置在/Android/data/package name/下。 二.操作1.内部存储的具体位置是:data/data/package name/。在Co...
2018-05-04 19:13:04
1171
原创 HTTP协议和TCP协议的一些简单理解
TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性。Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的。所以Http连接是一种短连接,是一种无状态的连接。所谓的无状态,是指浏览...
2018-05-04 18:45:13
365
原创 android的启动优化
阅读须知1、冷启动时间Android的冷启动时间其实就是从用户点击APP的那个时间,到入口第一个Activity调用结束onCreate()方法之间的这个时间段。2、冷启动期间发生了什么我们都知道,一个应用APP的开启,首先手机会为一个未打开的应用开辟一块内存,然后初始化Application(每创建一个进程都会调用一次Application,所以Application中的onCreate()是可能
2017-12-05 15:32:42
323
原创 使用retrofit时,gzip带来的坑
使用retrofit时,gzip带来的坑昨天下午,突然线上用户反馈,不能正常登陆,吓尿了。本人和后台距离上次发包已经1个多星期过去了,且测试正常BUG反馈全部结束完成的情况下发的包,突然出现问题。马上开始解决问题,DEBUG开到生产环境下,两段都没有发现任何的错误。由于对产品的安全性做了相应的措施,产品的每个端口都有签名要效验。就在这个时候发现,乱码了。开始解决问题能发生乱码,必然就是原始字节流发生
2017-12-05 14:35:39
5760
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人