Android代码片段
文章平均质量分 92
帅呆sky
这个作者很懒,什么都没留下…
展开
-
判断是否在某一个时间段内的处理
前段时间项目中有这样的一个需求:在工作日内的早上 09:30-11:30和下午13:00-15:00这2各时间段内就不需要检测版本更新。反之则反。其中这有2个问题需要处理:我们怎么知道当前时间是否在这2个时间段内并且是在工作日内(周一到周五)。显而易见。我们必须先获取日期在根据日期判断是否是周一到周五,然后在获取当前时间在判断是否在这个时间段内。代码如下:/** * * 根据指定原创 2016-07-22 13:51:49 · 955 阅读 · 0 评论 -
app运行中的crash崩溃异常日志收集
在Android开发中,一个app在推广后。我们怎么才能知道这个app运行的如何,有没有出现崩溃等问题。这也就是app数据监控的一部分。下面的这个就是介绍关于crash日志的收集。这个就是核心代码:import java.io.File;import java.io.FileOutputStream;import java.io.PrintWriter;import java.io.St原创 2016-09-28 11:40:07 · 9327 阅读 · 0 评论 -
设计金钱计算的高精度运算类BigDecimal
直接贴代码,里面注释很清楚了public class ArithmeticUtils { //默认除法运算精度 private static final int DEF_DIV_SCALE = 10; /** * 提供精确的加法运算 * * @param v1 被加数 * @param v2 加数 * @ret原创 2016-10-14 13:56:39 · 788 阅读 · 0 评论 -
apk增量更新的初步实现
在市场下我们经常见到省流量更新,特别是游戏类的apk,假如一个游戏apk有100M,那我下次版本有110M,我是不是要下载这110M的apk呢?这显然在用户的角度是不合理的,增量更新就是只要用户下载这10M的差分包就可以了。原理就是:1:在服务器端通过old.apk与新的new.apk进行比较,生成一个.patch文件的差分包。来共用户下载。 2:用户收到版本升级的提示框,就从服原创 2016-10-25 17:12:29 · 3228 阅读 · 0 评论 -
android6.0以上权限申请工具类
Android6.0以上,有部分权限是需要申请的。共9组,只要一个权限申请成功默认这一组的权限也申请成功,看下图:注意:如果需要测试就在xml中将targetsdkversion>=23即可Android权限大全表查看权限申请工具类如下:package com.example.android_lianshou_as.utils;import andr原创 2016-10-19 09:46:02 · 4859 阅读 · 2 评论 -
通过用户登陆例子来学习MVP模式
MVC模式相信大家不陌生,那么MVP又是个什么模式呢?看下面:View 对应于Activity,负责View的绘制以及与用户交互Model 依然是业务逻辑和实体模型Presenter 负责完成View于Model间的交互我们通过代码示例来了解MVP。demo效果图这里就不贴了,很简单就是一个登陆例子。这是项目结构图:首先新建一个存放实体类的包原创 2016-10-21 09:43:26 · 631 阅读 · 2 评论 -
文件上传的http请求类(zip文件)
这篇博文主要针对上一篇ZipControl对文件进行压缩与解压的方法来写的。帮助类如下:package com.chukong.cocosplay.client;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;原创 2016-11-14 16:12:52 · 14247 阅读 · 1 评论 -
ZipControl对文件进行压缩与解压的方法
最近有个需求,就是要将手机sd卡中的文件压缩成zip格式上传到服务器中。经过百度后,得到了下面的ZipControl方法。如下:package com.xinsheng.yx.utils;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import原创 2016-11-14 16:01:55 · 2059 阅读 · 0 评论 -
集成腾讯bugly的热修复功能sdk步骤
首先为什么要集成bugly热修复。市面上有其他的热修复框架,为什么就用bugly?这里给出2张图大家就明白了。引用腾讯bugly官网的一段话:无需关注Tinker是如何合成补丁的无需自己搭建补丁管理后台无需考虑后台下发补丁策略的任何事情无需考虑补丁下载合成的时机,处理后台下发的策略我们提供了更加方便集成Tinker的方式我们提供应用升级一站式解决方案进入原创 2016-12-01 11:35:52 · 17992 阅读 · 26 评论 -
通用型的listview/gridview适配器adapter
往往在项目中我会回遇到很多不同样式布局的listview/gridview的item布局或不同的实体类ban。假如我们有10个不同的实体类,10个不同的item布局,那我们是不是要去写10个adapter适配器,这样显然是重复的做了很多无用功。其实我们可以把其中公共的部分提出来。在activity中只需要传一个bean,布局文件和上下文即可。那么实现代码看下面:package com.原创 2016-10-11 11:23:53 · 403 阅读 · 0 评论 -
textview设置你自己想要的字体
看标题通俗易懂。就是在settext的时候最终显示出很漂亮的字体在手机app中,什么华康少女,幼圆字体等等。代码很简单。看下面:import android.content.Context;import android.graphics.Typeface;import android.widget.TextView;public final class FontUtils {原创 2016-10-10 14:19:25 · 3757 阅读 · 0 评论 -
格式化较大数字的显示问题
在app,特别是金融app里面的数字显示就尤为重要,比如:12345678900----->123.45亿;123456——>12.34万,类似这样的显示方式的处理,其实非常简单,废话不多说,直接上代码。public static String formatMoney(double str){ String str_f = ""; if (str<10000) { Big原创 2016-07-22 14:05:33 · 415 阅读 · 0 评论 -
图片压缩的常用方法帮助类
这是我做项目使用图片压缩最常用的类,现在分享出来给大家。/** * Created by Administrator on 2015/1/22 0022. */public class ImageUtils { /** * 图片等比例缩放 * @param b * @param x * @param y * @return原创 2016-07-22 15:11:48 · 281 阅读 · 0 评论 -
解决listview嵌套在scrollview中的冲突问题
这个是自定义的一个listview,非常简单。 package com.msstudent.view;import android.content.Context;import android.util.AttributeSet;import android.widget.ListView;public class MyListView extends ListVi原创 2016-07-15 10:51:16 · 487 阅读 · 0 评论 -
edittext再输入过程中显示金额千分位格式
在edittext中你在输入1123456789过程中自动显示为1,123,456,789这种千分位格式的。那么我们该怎么做呢? 查阅Android edittext api发现它有这样一个方法addTextChangedListener,这个方法就是用来监听用户在输入过程中的事件监听,它会重写这几个方法:editText.addTextChangedListener(new TextWatc原创 2016-07-15 16:58:56 · 5031 阅读 · 1 评论 -
点击Edittext之外的区域软键盘的显示和隐藏
简单说明下:有事再开发中会遇到当你点击edittext的时候软键盘就弹出来可供你输入,那么我在点击别的地方,你会发现软键盘还是处于显示状态,除非你手动去点击隐藏软键盘。这样体验非常不好。那么重要的来了,下面的代码片段可以解决这个问题。大家参考下。@Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.get转载 2016-08-17 09:55:11 · 1385 阅读 · 0 评论 -
Android微信支付预处理订单一系列参数的生成方法
直接进入正题,在做微信支付时候,如果写后台的人比较懒,各种参数要Android端自己生成怎么办?其实也是有办法的,就是比较麻烦,而且会有点问题(这是小概率事件了)微信支付的官方文档说的很清楚了,这一步的参数是要后台生成的。现在我们在Android端生成。直接上代码微信支付的文档链接:戳这里/** * * @Title: getOrderHttp * @Descr原创 2016-09-09 09:53:07 · 4772 阅读 · 1 评论 -
抛弃Android自带webview浏览器内核,使用腾讯X5服务webview浏览器
首先:下载腾讯X5服务所需的jar包,请戳这里 下载腾讯X5示例demo(安装运行主要用于加载X5服务,安装完成后,退出即可) 请戳这里其次:在Android工程的AndroidManifest.xml中申明腾讯X5服务所需的权限。如下:请戳这里 代码布局文件的引用如下:<com.tencen原创 2016-09-01 09:32:52 · 31358 阅读 · 13 评论 -
使用BroadcastReceiver监听网络状态
import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.util.Log原创 2016-10-10 09:54:03 · 1135 阅读 · 0 评论 -
Android线程池的使用体会
相信大家都听说过线程池这个概念,那么使用线程池的好处可以有效的控制线程并发数量,提高性能,避免由于频繁创建线程到时GC等。其中asynctask可以说就是对线程池的一个封装框架。线程池常用的四种类型:FixedThreadPool,CachedThreadPool,ScheduledThreadPool,SingleThreadPool.1.FixedThreadPool:通过Exec原创 2016-11-22 10:42:59 · 388 阅读 · 0 评论