Android常用
676598624
https://github.com/xingeyoumen
展开
-
Android 点击两次返回键退出程序
(1)声明一个变量,用于单击返回键时储存该值 private long exitTime; (2)然后重写调用onKeyDown方法:@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// 主界面返回键功能,效率最高 if (keyCode == KeyEvent.KEYCODE_BACK&&eve原创 2016-08-30 16:04:09 · 265 阅读 · 0 评论 -
Android 获得 LayoutInflater 实例的三种方式
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。 具体作用:1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInf原创 2017-04-11 18:32:48 · 552 阅读 · 0 评论 -
Java几种单例的写法
单例模式的几种写法在开发中,我们总是会遇到使用单例模式的情况,今天就来总结一下几种实现单例模式的方法。 1.单例模式(懒汉式)的最佳写法,适用于单线程。public class Singleton { private static Singleton singleton; private Singleton() { } public static Singleton原创 2017-08-16 13:45:40 · 308 阅读 · 0 评论 -
Android studio 3.0 多渠道打包
1.清单文件application标签内设置 <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />2.build.gradle的android闭包中设置1),配置签名signingConfigs { test { keyAlias 'xc'原创 2017-12-20 11:50:02 · 564 阅读 · 0 评论 -
Android Studio中的build.gradle文件解析
工程中根路径下的build.gradle文件// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { jcenter() } dependencies {原创 2017-12-11 15:26:09 · 643 阅读 · 0 评论 -
AIDL的全称是什么?如何工作?
http://blog.csdn.net/zx_android/article/details/50715686android interface difine language(android自定义接口语言) 作用:进程间通信 当A进程要去调用B进程中的service时,并实现通信,我们通常都是通过AIDL来操作的A工程 工作: 期望结果:Activity需要绑定一个服务,...原创 2018-03-07 13:58:14 · 458 阅读 · 0 评论 -
Android color文件
colors<?xml version="1.0" encoding="utf-8"?><resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark">#303F原创 2018-03-22 14:42:03 · 1686 阅读 · 0 评论 -
Android测试Activity和Fragment的生命周期
Activity的生命周期有7个函数,Fragment的生命周期有11个函数。Activity生命周期除上述6个方法还有一个Restart()方法,该方法在该Activity从不可见(仍存在)到重新可见时调用。测试代码如下:import android.app.Activity;import android.os.Bundle;import android.supp...原创 2018-03-21 11:42:22 · 392 阅读 · 0 评论 -
Android 使用PopupWindow实现单级筛选列表,7.0bug解决
解决顶部阴影不一致样式PopupWindow淡入淡出动画animpop_in.xml<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:d...原创 2018-03-26 14:13:31 · 1975 阅读 · 0 评论 -
Android 自定义ImageView,支持圆角和直角
使用自定义ImageView,实现圆角功能1.自定义属性attrs.xml<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="RoundCornerImageView"> <attr name="radius&quo原创 2018-10-25 14:20:52 · 1191 阅读 · 0 评论 -
Android 如何用Fiddler对应用进行抓包
1. 启动Fiddler,打开菜单栏中的 Tools > Fiddler Options,打开“Fiddler Options”对话框2. 在Fiddler Options”对话框切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选框,然后点击“OK”按钮3.在本机命令行输入:ipconfig,找到本机的ip...原创 2019-01-03 14:10:06 · 272 阅读 · 0 评论 -
Android 属性动画中心点无限循环
属性动画旋转ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(img, "rotation", 360);//objectAnimator.setRepeatMode(ValueAnimator.REVERSE); 播放完毕直接翻转播放//objectAnimator.setRepeatMode(ValueAnimator.RES...原创 2019-03-05 15:37:02 · 2460 阅读 · 0 评论 -
Android recyclerView每次刷新数据后都会定位在第一条
在刷新的过程中,想让数据位置定位到之前请求数据之前的位置刷新数据时,不能每次都new adapter, 并且不能每次都setadapter,这样的话会重新创建,并且数据全部刷新1.可以将数据set进去,不使用构造器方式创建。private ArrayList<String> data = new ArrayList<>();public ArrayList<S...原创 2019-03-06 18:27:58 · 13321 阅读 · 4 评论 -
Android 不可见View生成Bitmap转图片显示
1.异步加载布局上的图片显示使用加载方式Glide implementation('com.github.bumptech.glide:glide:4.7.1') { exclude group: "com.android.support" } annotationProcessor 'com.github.bumptech.glide:compiler:...原创 2019-03-11 16:36:14 · 4279 阅读 · 0 评论 -
Android deeplink打开本应用App
清单文件中配置 <activity android:name=".WelcomeActivity" android:exported="true" android:screenOrientation="portrait" android:theme="@style/SplashTheme"> <...原创 2019-03-29 17:03:29 · 1335 阅读 · 0 评论 -
Android 获取Android应用签名的几种方式
1. 查看 APK 文件的签名使用解压工具解压 APK 文件,在 META-INF 文件夹拿到 CERT.RSA 文件。假设 CERT.RSA 文件的路径是 D:\GetOn\ceshi\release\CERT.RSA在 CMD 中输入keytool -printcert -file D:\GetOn\ceshi\release\CERT.RSA就可以得到签名信息了,MD5值2...原创 2019-04-25 18:32:05 · 10495 阅读 · 1 评论 -
Android获取view宽高的几种方法
在onCreate方法中我们通过mView.getWidth()和mView.getHeight()获取到的view的宽高都是0,那么下面几种方法就可以在onCreate方法中获取到view的宽高。1 int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.Me...原创 2019-05-06 11:28:54 · 2208 阅读 · 0 评论 -
Android Button 字母自动全部大写的问题
高版本系统自动设置了Button的属性android:textAllCaps="true" 默认字母显示大写方法(一):在 xml 布局中设置属性 android:textAllCaps="false"效果:单个组件生效方法(二):在 style 中加入<item name="android:textAllCaps">false</item>效果:全...原创 2019-07-12 16:41:15 · 370 阅读 · 0 评论 -
Android SharedPreferences详解
获取SharedPreferences的两种方式:1 调用Context对象的getSharedPreferences()方法 2 调用Activity对象的getPreferences()方法两种方式的区别:调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享. 调用Activity对象的getP原创 2017-03-07 15:30:37 · 203 阅读 · 0 评论 -
Android中ActivityManager的使用案例
通过ActivityManager我们可以获得系统里正在运行的activities,包括进程(Process)等、应用程序/包、服务(Service)、任务(Task)信息。1、判断某个Service是否正在运行private boolean isFlightServiceRunning(){ ActivityManager manager=(ActivityManager)getSystemS翻译 2017-03-07 10:10:03 · 1908 阅读 · 0 评论 -
Android 自定义符合软件整体风格的dialog
1、设置自定义dialog需要的风格,去除标题栏,完全可以使用xml来引入自己的风格布局,style中设置:<style name="MyDialog" parent="android:style/Theme.Dialog"> <!-- 背景颜色及透明程度 --> <item name="android:windowBackground">@android:color/transpa原创 2016-08-31 10:15:52 · 307 阅读 · 0 评论 -
Android 自定义虚线段长和点宽
1、在attrs中自定义所需属性:<declare-styleable name = "Dashedline"> <attr name = "lineColor" format= "color" /> <attr name = "lineWidth" format= "float"/></declare-styleable >lineColor表示虚线的颜色,lineWidth虚原创 2016-08-31 10:50:44 · 767 阅读 · 0 评论 -
Android 广播的代码注册与简单使用
1、自定义广播 public class MyBroadcastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) { Log.i("syx", "接收到了广播,可在此做处理");}} 2、使用广播 (1)自定义Action用于开启广播p原创 2016-08-30 16:53:10 · 655 阅读 · 1 评论 -
Android 使用adapter的两种回调数据方式
1、首先创建一个listView列表,用于显示数据<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="wrap_content" />item布局使用简单的一行文字显示,主要是将点击的位置回调回使用listView的类文件之中原创 2016-08-31 11:48:42 · 10250 阅读 · 0 评论 -
Android SwipeRefreshLayout+RecyclerView下拉刷新与上拉加载
1、SwipeRefrshLayout是Google官方更新的一个Widget,可以实现下拉刷新的效果。该控件集成自ViewGroup在support-v4兼容包下,不过我们需要升级supportlibrary的版本到19.1以上。 基本使用的方法如下:setOnRefreshListener(OnRefreshListener):添加下拉刷新监听器 setRefreshing(boolean)原创 2016-09-01 11:44:38 · 1082 阅读 · 0 评论 -
AndroidStudio插件GsonFormat使用
1、安装GsonFormat方法一:1.Android studio File->Settings..->Plugins–>Browse repositores..搜索GsonFormat 2.安装插件,重启android studio方法二:1.下载GsonFormat.jar ; 2.Android studio File->Settings..->Plugins –>install p原创 2016-09-01 15:03:12 · 452 阅读 · 0 评论 -
Android studio 生成apk的位置
1、Eclipse下App放置在项目根目录的bin目录中2、Android studio工程的存储路径下app/build/outputs/apk其中app是自建的module,在对应的module下即可找到原创 2016-09-07 19:31:35 · 3893 阅读 · 0 评论 -
Android Studio 不区分大小写设置,局部变量、全局变量快捷键
1、不区分大小写设置:File–>Settings–>Editor–>Code Completion Case sensitive completion 选择None2、局部变量ctrl + alt + v ,全局变量ctrl+alt +f原创 2016-09-07 17:38:25 · 1527 阅读 · 0 评论 -
Android AsyncTask异步任务的使用
纪念自己最先使用的方法AsyncTask,囧态历历在目:AsyncTask的基本用法 首先来看一下AsyncTask的基本用法,由于AsyncTask是一个抽象类,所以如果我们想使用它,就必须要创建一个子类去继承它。在继承时我们可以为AsyncTask类指定三个泛型参数,这三个参数的用途如下: 1、 Params在执行AsyncTask时需要传入的参数,用于在后台任务中使用。 2、Progres原创 2016-09-20 18:18:21 · 265 阅读 · 0 评论 -
Android 绘制折线和柱状图
AchartEngine制作图表–>折线图,柱状图:下载achartengine-1.1.0.jarhttp://download.csdn.net/detail/csdnadcode/7771691 http://download.csdn.net/detail/u011247387/8013717Android AchartEngine,这是为Android应用而设计的绘图工具库,能够支持多种原创 2016-09-21 11:49:18 · 1010 阅读 · 0 评论 -
Android Studio 使用RecyclerView加载不同样式布局
首先在app中引入compile 'com.android.support:recyclerview-v7:24.2.0'使用activity_recycler_view.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androi原创 2016-09-21 19:10:51 · 3192 阅读 · 0 评论 -
Android 将数据存储到SharedPreferences 中
要想使用SharedPreferences来存储数据,首先需要获取到SharedPreferences对象。Android中主要提供了三种方法用于得到SharedPreferences 对象。1. Context 类中的getSharedPreferences()方法此方法接收两个参数,第一个参数用于指定SharedPreferences 文件的名称,如果指定的文件不存在则会创建一个,SharedP原创 2016-11-08 18:56:32 · 243 阅读 · 0 评论 -
Android EditText默认不获取焦点
在实际项目中,有时候不想让某个EditText控件获取焦点,可以如下配置:android:focusableInTouchMode="false"如果后来再需要,可以做触摸该控件的时候setFocusableInTouchMode(true)即可,如下代码所示:editText.setOnTouchListener(new View.OnTouchListener() { @Overrid原创 2016-10-08 14:55:49 · 404 阅读 · 0 评论 -
Android 如何配置adb环境变量
记录一下如果打开DOS窗口,输入adb显示既不是内部命令也不是外部命令,则说明没有配置adb环境变量。 方法如下:第一步:打开环境变量配置窗口。右击计算机,属性-高级系统设置-环境变量。第二步:添加Android系统环境变量。在系统变量下点击新建按钮,输入环境变量名 Android,将android开发工具的路径导入: 变量名: Android原创 2017-02-10 11:57:53 · 12210 阅读 · 0 评论 -
Android/Java 单元测试
Java/Android的测试原创 2017-02-14 11:03:31 · 254 阅读 · 0 评论 -
Android 便捷的方式实现Activity变暗的效果
不要新开启Activity的方式 也不要使用Dialog 让背景跟Dialog出现一样,变暗,带动画。private void dimBackground(final float from, final float to) { final Window window = getWindow(); ValueAnimator valueAnimator = Valu原创 2017-03-02 16:17:30 · 1120 阅读 · 0 评论 -
Android 使用ViewPager实现左右循环滑动及轮播效果
ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验。此外,某些区域性的ViewPager(例如展示广告或者公告之类的ViewPager),可能需要自动轮播的效果,即用户在不用滑动的情况下就能够看到其他页面的信息。循环滑动效果的实现:PagerAdapter我们知道ViewPag原创 2017-02-15 13:53:49 · 1559 阅读 · 1 评论 -
BaseQuickAdapter子控件点击没反应
setOnItemChildClickListener点击没反应可以在convert里添加一下这句mHelper.addOnClickListener(R.id.xxx);原创 2019-10-11 10:07:50 · 3180 阅读 · 3 评论