自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android中获取手机中的联系人信息

1.0、查看系统通讯录的表,表路径:data—>data—>com.android.providers.contacts—>databases—>contacts2.db 1.1、其中重要的表有:raw_contacts表(可查看上次通话记录、可获取联系人的id(“contact_id”));data表(保存了联系人的号码与名字,可获取联系人的rid(“raw_contact_id”)

2017-12-29 08:46:12 445

原创 Android连续点击两次Back键退出程序

在做安卓应用是我们经常要判断用户对返回键的操作,一般为了防止误操作都是在用户连续按下两次返回键的时候提示用户是否退出应用程序。第一种实现的基本原理就是,当按下BACK键时,会被onKeyDown捕获,判断是BACK键,则执行exit方法。在exit方法中,会首先判断isExit的值,如果为false的话,则置为true,同时会弹出提示,并在2000毫秒(2秒)后发出一个消息,在Hand

2017-12-28 21:43:38 446

原创 Android MVP架构简单封装

先看一下自己封装项目的基本库结构。  来看看源码吧 BasePresenter.javapublic abstract class BasePresenterT> { protected ReferenceT> mViewRef;//View接口类型的弱引用 public void attachView(T view){ mViewRe

2017-12-28 19:04:11 314

原创 App版本更新

1.添加依赖:compile 'org.xutils:xutils:3.5.0'compile 'com.google.code.gson:gson:2.8.1'2.初始化xutilspublic class BaseApplication extends Application { @Override public void onCreate() {

2017-12-26 10:46:16 399

原创 Android 图形验证码

首先呢先让你们看一下效果下面呢其实主要急死一个工具类public class CodeUtils { private static final char[] CHARS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',

2017-12-26 09:13:13 516

原创 实现图片上传功能

首先让你看一下效果图,,是不是有点眼熟public class ImageUtils { /** * Save image to the SD card * * @param photoBitmap * @param photoName * @param path */ public static String savePhot

2017-12-24 21:09:13 1814

原创 打造浪漫的Android表白程序

程序员也是可以很浪……漫…..的在Android中实现了类似的效果。先贴上最终效果图:生成心形线心形线的表达式可以参考:桃心线。里面对桃心线的表达式解析的挺好。可以通过使用极坐标的方式,传入角度和距离(常量)计算出对应的坐标点。其中距离是常量值,不需改变,变化的是角度。桃心线极坐标方程式为:x=16×sin3αy=13×cosα?5×cos2α?2×co

2017-12-21 18:40:33 6290 4

原创 有趣的理解面向对象之封装!

什么是封装对于面向对象的特点,我想大家都可以倒背如流了:封装,继承,多态。很多人对这些特点的理解仅仅停留在表面。以为封装就是变量私有化,然后对外提供接口,而不知为什么要这样做。封装,简单的来讲就是将变量的属性私有化,在java里就是用private修饰符修饰,这样在外部产生的对象就不能直接访问到这个变量。想要对变量进行操作或者访问,就需要在类里提供外部访问的接口,也就是我们熟知的g

2017-12-20 19:05:03 395

原创 快速掌握 Git 用法

一、Github 基础什么是 Git?git 是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)(Linux 之父)创作,于 2005 年发布。最初目的是为更好地管理 Linux 内核开发。Git 在本地磁盘上就保存着所有有关当前项目的历史更新,处理速度快;Git 中的绝大多数操作都只需要访问本地文件和资源,不用实时联网。Git 客户端

2017-12-20 18:41:11 283

原创 Android-气泡对话框(根据被点击View位置显示、可定制)

气泡布局的形状可以改变,如四角弧度、气泡颜色、箭头大小和阴影。气泡Dialog可以根据被点击的view的位置来确定自己展示的位置。如何开始?在你模块中的build.gradle添加上HappyBubble依赖compile 'com.github.xujiaji:happy-bubble:1.0.1'如何使用 HappyBubble-BubbleDialog?方法参考

2017-12-18 09:41:39 9843 1

原创 跨进程启动Activity黑屏(白屏)的三种解决方案

当Android跨进程启动Activity时,过程界面很黑屏(白屏)短暂时间(几百毫秒?)。当然从桌面Lunacher启动一个App时也会出现相同情况,那是因为App冷启动也属于跨进程启动Activity。为什么没会出现这种情况呢?真正元凶就是Android创建进程需要准备很多资源,它是一个耗时的操作。黑屏(白屏)原因当A进程启动B进程中的一个Activity时,Android系统会先有z

2017-12-18 08:14:43 539

原创 Android 清空缓存

主要讲述了一些关于清楚缓存的东西public class ClearCatchApp { /** * @param context * @param catchPathString 缓存路径 * @return * @throws Exception * 当前缓存大小 */ public static String getTotalCacheSize(C

2017-12-17 21:33:22 258

原创 Android studio中正确引入so文件的方法

如何引入第三方so文件的问题,然而第三方官方仅仅给出了ADT环境下的集成方式。Android studio中默认使用的是gradle编译方式,与ADT编辑方式不一样,那么so文件应当如何引入呢?其实很简单。这里以集成JPUSH为例,看一下so文件如何引入到编译环境,最终到JNI直接可以调用该so文件。首先,在我们的Module的根目录中建立libs目

2017-12-16 15:09:50 2368

原创 在AndroidStudio下JNI开发的详细步骤

安装NDK在工具栏点击File->Settings->Appearance & Behavior->System Settings->Android SDK->SDK Tools选中LLDB和NDK,点击确认,软件会自动安装NDK。12默认安装路径: 你的sdk路径\ndk-bundle文件夹新建一个工程在main文件夹下新建一个目录jni在jni目录下新建一个文件

2017-12-15 10:04:30 366

原创 自定义view实现画折线图

实现分析我们要实现这样一个折线统计图,必要的信息主要有下面几个先看纵轴,纵轴需要的信息有最大值,还有用来确定每个间距代表的单位,比如最大值是100,我们还要有一个将值分为几份的数据。接下来看横轴,因为横轴的信息一般是文字,不能像数字通过累加就可以得到,所以直接保存一个字符串数组变量。然后就到了折线了,画折线只需要每个横轴单位的纵轴数据y坐标确定然后连接起来就ok了,这里只需要根据左边的单位的间距和

2017-12-14 14:48:37 531

原创 使用属性动画实现星光四射的动画效果

在Android中, 属性动画是非常有意思的功能, 控制参数变换动画效果.与使用gif图片相比, 动画控件要节约空间和增加响应速度.要点:(1) 使用PercentLayout设置自定义控件的大小.(2) 属性动画的两个重要函数, 中值和映射.(3) 擦除画笔(PorterDuff.Mode.CLEAR)的使用方法.(4) 使用颜色估值器(ArgbEvaluator)控制颜色

2017-12-12 20:09:13 1066

原创 cmd /c和cmd /k 以及CMD命令

java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令。cmd /c dir 是执行完dir命令后关闭命令窗口。cmd /k dir 是执行完dir命令后不关闭命令窗口。cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。cmd /k start dir 会打开一个新窗口后执行dir指

2017-12-12 08:37:05 36854

原创 融云红包集成文档_一切从简

1. redpacketlibrary简介redpacketlibrary,在融云sdk2.5.2的基础上提供了收发红包和零钱页的功能。2. redpacketlibrary目录说明libs :redpacket2.0.jar是集成红包功能所依赖的jar包。res :包含了红包SDK和聊天页面中的资源文件。(红包SDK相关以rp开头)callback :此接口只有群/讨论组红包

2017-12-12 07:54:17 1790

原创 MVP练习网络请求

UserModelpublic class UserModel implements IModel { ArrayList list; private OnFinishLisenter lisenter; public interface OnFinishLisenter{ void OnFinish(ArrayList lis

2017-12-12 07:30:49 436

原创 利用HttpUtils实现断点续传下载文件

利用Xutils的HttpUils的模块实现断点续传下载文件添加依赖:compile 'org.xutils:xutils:3.2.2'添加权限:android:name="android.permission.INTERNET"/>android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>Acti

2017-12-12 07:30:27 1533

原创 仿京东分类列表MVP模式请求

效果如下:废话不多说,直接附代码:分包如下:View层ISortView接口层public interface ISortView { // 展示左侧数据 void ShowLeftData(LeftBean leftBean); // 展示右侧数据 v

2017-12-12 07:28:39 249

原创 微信支付

一、创建应用1> 登陆微信开放平台(https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN&token=024e5186b4199c44bcc6711f789a52f43fcaff23)进入管理中心,2> 管理中心 / 创建移动应用图片按要求上传,否则,上传不上去,上传的图

2017-12-11 19:45:55 1992

原创 浅谈Windows下SVN在Android Studio中的配置、基本使用及解除关联

在AndroidStudio中开发版本控制中,除了Git就是SVN,和Eclipse不同Android Studio没有提供单独的插件,只能和SVN客户端关联使用,和Eclipse安装有很大区别,下面介绍在AndroidStudio中SVN的配置和基本使用。如果已经搭建好了服务端,只是在日常工作中import和checkout代码,只需下载TortoiseSVN客户端 就行,完全可以跳过以

2017-12-11 19:22:49 759

原创 微信开放平台创建android应用时怎么获取应用签名

1.微信开发平台注册申请成开发者账号,就此略过2.在管理中心选择创建移动应用。按照严格要求填写、上传图片,然后在第二步骤中就有应用签名的填写3,。有两种方法获取应用签名:一.查询keystore的MD5可以在运行窗口,定位到keystore所在的路径,(以android默认keystore为例)执行cd C:\Users\ssc\.android定位到.an

2017-12-11 19:20:28 2540

原创 Android Studio的两种模式及签名配置

我们使用Android Studio 运行我们的app,无非两种模式:debug和release模式。debug模式debug模式使用一个默认的debug.keystore进行签名。这个默认签名(keystore)是不需要密码的,它的默认位置在C:\Users\\.Android\debug.keystore,如果不存在Android studio会自动创建它。例如

2017-12-11 19:18:05 423

转载 Android友盟集成QQ登陆详解大全

第一步打开友盟官网注册一个账号,登录如下图进行操作点击个人中心进入下一个界面点击管理创建一个应用生成AppKey:如下图返回首页点击SDK与文档点击进行第三方登录集成点击右边的SDK下载选择你需要的平台 除了eclipse选项都选 这篇文章之介绍QQ第三方登录阅读官方文档 一、解压下载的SDK打开:拷入友盟的三个核心库和需要的第三方jar包

2017-12-11 19:05:52 378

原创 AndroidStudio多渠道打包

说到多渠道,这里不得不提一下友盟统计,友盟统计是大家日常开发中常用的渠道统计工具,而我们的打包方法就是基于友盟统计实施的。按照友盟官方文档说明,渠道信息通常需要在AndroidManifest.xml中配置如下值:value="Channel ID" android:name="UMENG_CHANNEL"/>1       上面的value值Channel_ID就是渠道标识。我们的期

2017-12-11 19:02:28 297

原创 Android自定义view渐变圆形动画

此贴没有大量水帖文字,读者请放心,代码简单明了,阅读可懂,轻松入门,高手勿喷!直接上效果图自定义属性attrs.xml文件 name="ProgressRing"> name="pr_progress_start_color" format="color" />

2017-12-11 18:56:49 1096

原创 侧滑菜单之ResideMenu

RESideMenu是github上比较出名的一个开源库,主要是实现侧滑菜单,现在有三千多个star了。效果如下。创建一个ResideLayout类,大佬们不要嫌多,直接粘贴就能用。public class ResideLayout extends ViewGroup { private static final String TAG = "Re

2017-12-11 18:55:25 720 1

原创 自定义进度动画对话框

我们都知道在Android中,常见的动画模式有两种:一种是帧动画(Frame Animation),一种是补间动画(Tween Animation)。帧动画是提供了一种逐帧播放图片的动画方式,播放事先做好的图像,与gif图片原理类似,就像是在放电影一样。补间动画可以实现View组件的移动、放大、缩小以及渐变等效果。时候我们会想要做一个简单的逐帧动画的效果,在eclipse中很简单就可以创建,直接在

2017-12-11 14:23:08 559

原创 Bitmap二次采样

1.为什么要二次采样OK,那么首先我要 解决的一个问题就是为什么我们要二次采样?不知道大家在开发App的过程中有没有遇到过类似于图片墙这样的功能?在做图片墙的时候你有没有遇到过OOM异常呢?遇到了又是怎么解决的?再比如我现在有一张100M大的图片,我想把这张图片用一个ImageView显示出来,那么你的ImageView能够显示出来这张图片吗?上面我们说的这两种情况其实都涉及到图片加载时内

2017-12-11 08:32:44 225

原创 ExecutorService 的理解与使用

接口 java.util.concurrent.ExecutorService 表述了异步执行的机制,并且可以让任务在后台执行。壹個 ExecutorService 实例因此特别像壹個线程池。事实上,在 java.util.concurrent 包中的 ExecutorService 的实现就是壹個线程池的实现。ExecutorService 样例这里有壹個简单的使用Java 实现的

2017-12-09 10:10:17 935

转载 jiecaovideoplayer的简单使用

前段时间由于项目需要用到类似于今日头条的视频播放器,实现在线播放,边缓存边播放,当然也可以播放本地文件,如下图:一、项目引入:1、添加类库compile 'fm.jiecao:jiecaovideoplayer:4.8.3'compile 'com.github.bumptech.glide:glide:3.7.0'2、添加布局<fm.jiecao.j...

2017-12-08 16:56:11 5189 4

原创 自定义view实现炸弹效果

BombView:import android.animation.Animator;import android.animation.AnimatorListenerAdapter;import android.animation.AnimatorSet;import android.animation.ValueAnimator;import android.conte

2017-12-06 13:45:26 251

原创 Android三种实现定时器的方法

方法一:Handler+Thread[java] view plain copypackage com.xunfang.handerDemo;    import android.app.Activity;  import android.os.Bundle;  import android.os.Handler;  im

2017-12-03 19:44:02 382

转载 程序员必备的11个辅助开发的软件神器

程序员必备简捷开发辅助工具总结写在前面:工欲善其事必先利其器,拥有简捷的开发辅助工具能大大提高我们程序猿的开发效率。Melo刚到学校就给大家总结了一些常用的辅助开发的工具,希望大家能喜欢,闲话不多说,马上开始~!零:Notepad++Notepad++ 程序员必备的文本编辑器,软件小巧高效,支持27种编程语言,通吃C,C++ ,Java ,C#, XML,

2017-12-03 19:42:10 3525

原创 bitmap的六种压缩方式,Android图片压缩

android中图片是以bitmap形式存在的,那么bitmap所占内存,直接影响到了应用所占内存大小,首先要知道bitmap所占内存大小计算方式:图片长度 x 图片宽度 x 一个像素点占用的字节数以下是图片的压缩格式:其中,A代表透明度;R代表红色;G代表绿色;B代表蓝色。ALPHA_8 表示8位Alpha位图,即A=8,一个像素点占用1个字节,它没有

2017-12-02 11:46:58 833

原创 Android 之高仿活动时分秒倒计时

从mian.xml下手:LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heig

2017-12-02 11:02:15 1993

转载 什么是架构师和如何成为一个架构师

架构的定义先来看看软件架构的普遍定义吧。一个程序和计算系统软件体系结构是指系统的一个或多个结构。结构中包括软件的构建,构建的外部可见属性以及它们之间的相互关系。体系结构并非可运行软件。确切的说,它是一种表达,使软件工程师能够: 1.分析设计在满足规定需求方面的有效性。 2.在设计变更相对容易的阶段,考虑体系结构可能的选择方案。 3.降低与软件构造相关联的风险。

2017-12-02 09:29:28 412

RN WebView端获取图片相册

简单好用,粘贴即可,但是要注意的是有可能存在冲突,,如果有冲突的话,删掉冲突部分即可

2018-11-28

Git菜单栏功能

Checkout:切换分支 Add:将开发项目或指定文件添加到git仓库管理。 是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步。 Branches:点击切换开发分支 Tag:为项目打tag(标签) 可以将某个具体的版本打上一个标签,这样你就不需要记忆复杂的版本号哈希值了 Annotate:查看文件修改记录 Pull:更新gitlab上的代码 从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地 Push:提交代码到本地git仓库或者到远程git仓库 Rebase:还原一个版本的修改. Show Current Revision :显示当前项目文件修改前的版本 stash:将当前未提交的工作存入Git工作栈中

2017-09-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除