
Android开发
依风听雨锋
android开发
展开
-
Handler与多线程
Handler与多线程简述子线程不能更新UI当我们在子线程中更新UI会导致Android报异常AndroidRuntimeException :“Only the original thread that created a view hierarchy can touch its views”因为如果支持多线程修改View的话,由此产生的线程同步和线程安全问题将是非常繁琐的,所以Android原创 2016-10-27 16:48:02 · 377 阅读 · 0 评论 -
给Volley加ContentType
重写getBodyContentType方法,而非getHeaders方法@Override public String getBodyContentType() { return "application/json; charset=utf-8"; }原创 2016-10-18 16:50:43 · 1304 阅读 · 0 评论 -
AndResGuard的使用
AndResGuard介绍:微信资源压缩打包,主要为了混淆资源ID长度(例如将res/drawable/welcome.png混淆为r/s/a.png),同时利用7z深度压缩,大大减少了安装包体积,同时也增加了逼格,提升了反破解难度。详情参考:https://github.com/shwenzhang/AndResGuard 原理介绍: http://mp.weixin.qq.com/s?__b原创 2016-01-28 17:05:04 · 9661 阅读 · 0 评论 -
记录一些常用的Intent调用
打开相册并获取图片的路径 //打开相册 Intent picture = new Intent( Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); if (picture.resolveActivity(this.getPackageManager原创 2016-12-27 16:25:55 · 486 阅读 · 0 评论 -
WebView的简单使用
演示效果创建一个WebView并初始化和配置activity_main.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tool原创 2016-12-28 16:57:22 · 338 阅读 · 0 评论 -
Android N FileUriExposedException异常
参考Android7.0须知–应用间共享文件(FileProvider)注意:修改targetSdkVersion还是会报错,不像之前的权限控制,改成23以下就能兼容M的权限 在Android N上,文件共享需要使用FileProvider共享文件。FileProvider在support中,向下兼容例子: Intent intent = new Intent(Intent.ACTION_VIEW原创 2017-02-21 15:45:35 · 353 阅读 · 0 评论 -
让Android studio支持java8
一:只需要支持Lambda表达式在app/build.gradle下添加android { //设置JDK1.8 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8原创 2016-05-13 16:13:46 · 20416 阅读 · 0 评论 -
android studio启动后卡在refreshing gradle project
问题一般都是更新完新的版本之后,估计好多人都卡在了refreshing gradle project中解决gradle/wrapper/gradle-wrapper.properties#Fri Mar 03 09:48:20 CST 2017distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=原创 2017-03-03 10:49:24 · 415 阅读 · 0 评论 -
as升级2.3后新建Activity自动引入约束布局
前言自从升级2.3后,每次新建Activity都变成了引入约束布局,各种不爽,这里提供修改的办法。修改默认布局修改新建时的布局文件。 找到安装目录下\plugins\Android\lib\templates\activities\common\root\res\layout\simple.xml.ftl文件,修改文件,改成自己喜欢的,比如RelativeLayout 布局,LinearLayou原创 2017-04-01 15:40:44 · 1746 阅读 · 1 评论 -
Android中Button的Selector自动生成
前言美工给的切图,常常都是单颜色的按钮,直接在app上使用单颜色按钮,而没有点击效果,用户体验特别的差!别说用户了,自己都看不过下去,便于生成所需的selector,而不是没有点击效果的,或者手写selector(之前一直手写的。。。颜色是工具类生成,但没有生成xml)使用参考Android-Bootstrap中的ColorUtils.java写的一个小工具 生成的文件<?xml version=原创 2017-05-26 14:11:34 · 522 阅读 · 0 评论 -
筛选菜单--弹性式RadioGroup(可自动换行)
演示效果实现了自动换行的RadioGroup,而不再局限于只能把RadioButton放在一行或一列,并实现了点击单个RadioButton时,点击选中,再点击取消看代码FlexRadioGroup继承自FlexboxLayout,FlexboxLayout是谷歌开源的弹性盒子布局,使用可参考oschina文章布局文件<com.itzyf.flexradiogroup.FlexRadioGroup原创 2016-10-22 15:50:33 · 4302 阅读 · 2 评论 -
JNI与C++的数据类型转换
std::string转jstringjstring ToJString(JNIEnv* env, const std::string& value) { return env->NewStringUTF(value.c_str());}jstring转std::stringstd::string ToCppString(JNIEnv* env, jstring value) { jboo原创 2016-10-24 21:50:52 · 11768 阅读 · 0 评论 -
Linux下so库的编译
环境gcc编译器Ubuntu14.04jdk1.8编写java类package com.itzyf;public class HelloJNI{ public native static String getString();}编译$ javac HelloJNI.java生成头文件$ javah com.itzyf.HelloJNI编写C文件#include "com_itz原创 2016-09-22 17:22:32 · 703 阅读 · 0 评论 -
Android Studio 之SVN
准备下载并安装TortoiseSVN安装SVN时需要注意的是把command line client tools也安装了,默认是不安装的,注意记录下安装的地址。安装完成后,在安装目录/bin/会有个svn.exe 配置Android Studio中SVN打开SVN的配置:File->Setting->Version Control->Subversion,如下图配置好svn.exe的路径即可使用原创 2016-03-22 16:49:49 · 736 阅读 · 0 评论 -
Ubuntu下Android开发环境的搭建
Linux下Android开发环境的搭建一:java环境 安装jdk:$sudo apt-get install openjdk-7-jdk二:配置配置hosts: 能用的hosts:下载 下载后把hosts内容添加到/etc/hosts文件中 安装驱动:$wget -S -O - http://source.android.com/source/51-android.rules | sed原创 2015-10-16 20:58:39 · 472 阅读 · 0 评论 -
ReactNative学习记录(一)
前提安装好安卓环境,下载好SDK一:安装nodejs并配置下载地址:https://nodejs.org/en/ 配置: cmd下输入npm config set registry https://registry.npm.taobao.orgnpm config set disturl https://npm.taobao.org/dist二:安装和初始化ReactNative//安装np原创 2016-05-09 11:01:07 · 455 阅读 · 0 评论 -
关于百度地图导航退出unregisterReceiver异常
解决unregisterReceiver问题,调用 BaiduNaviManager.getInstance().init()则下次启动会出现黑屏@Override public void onDestroy() { super.onDestroy(); try { if (BaiduNaviManager.isNaviInited()原创 2016-06-07 15:28:52 · 954 阅读 · 0 评论 -
View和ViewGroup的事件分发笔记
View的事件分发View的点击事件执行流程View.dispatchTouchEventView.onTouchView.onTouchEventView.onClickdispatchTouchEventtrue:正常流程false:终止后续的分发onTouchtrue:消费了事件,不执行后续的onTouchEventfalse:继续流程onTouchEventtrue:原创 2016-06-24 11:35:41 · 383 阅读 · 0 评论 -
Android MaterialProgressDrawable类
MaterialProgressDrawable类的使用和简单分析原创 2016-07-25 21:20:54 · 3001 阅读 · 0 评论 -
AIDL的学习记录
参考资料:谷歌官方文档AIDL使用场景 :一对多通信且有RPC(Remote Procedure Call Protocol远程过程调用协议)需求支持的类型:基本数据类型:byte,int,long,char,booblean,double,float(除short)String和CharSequenceList:只支持ArrayList,里面的元素都必须被AIDL支持Map:只支持Hash原创 2016-08-19 16:49:49 · 307 阅读 · 0 评论 -
android自定义View文本居中
代码: float textWidth = textPaint.measureText(text); float x = width / 2 - textWidth / 2; Paint.FontMetrics metrics = textPaint.getFontMetrics(); //metrics.d原创 2016-08-22 16:00:34 · 1633 阅读 · 0 评论 -
android按钮颜色生成
按钮的状态默认按下disable颜色生成工具public class ColorUtils { private int color; public static final int DISABLED_ALPHA_FILL = 165; public static final int DISABLED_ALPHA_EDGE = 190; public stati原创 2016-09-13 17:32:15 · 1053 阅读 · 0 评论 -
随机密码生成类
直接看代码import java.util.ArrayList;import java.util.List;import java.util.Random;public class RandomPwdUtils { public final static int FLAG_NUMBER = 0x00000001; public final static int FLAG_LOW原创 2016-08-25 21:05:09 · 489 阅读 · 0 评论 -
Cannot set the value of read-only property 'outputFile'
更新Android Studio 3.0之后,出现Cannot set the value of read-only property ‘outputFile’报错,也就是用来打包后重命名的gradle出现了问题旧版本AS 2.3时用的代码:applicationVariants.all { variant -> variant.outputs.each { output ->原创 2017-10-26 16:25:49 · 22378 阅读 · 2 评论