Android 杂记
青雨xh
这个作者很懒,什么都没留下…
展开
-
Android常用代码片段
一. 获取资源图片Drawable的四种方式://方式一Drawable drawable = mContext.getResources().getDrawable(R.drawable.image);mImageview.setBackground(drawable);//方式二InputStream is = mContext.getResources().openRawResourc原创 2016-12-10 09:44:44 · 268 阅读 · 0 评论 -
Android 面试常见问题汇总
1.Android的系统架构答:android系统架构分从下往上为Linux内核层、运行库、应用程序框架层和应用程序层。 Linux内核层:负责硬件的驱动程序、网络、电源、系统安全以及内存管理等功能。 运行库和androidruntion:运行库:即c/c++函数库部分,大多数都是开放源代码的函数库,例如webkit,该函数库负责android网页浏览器的运行;例如标准的c函数库libc、ope原创 2017-01-08 09:22:45 · 1490 阅读 · 0 评论 -
Android--点击EditText的时候弹出软键盘,点击EditText之外空白处软键盘消失
在android中点击EditText的时候会弹出软键盘,但当我们输入完毕或者想隐藏软键盘时,我们可以点击软键盘上的隐藏按钮,这种方法固然可行,但是为了提高用户体验,我们常常要实现这种功能:当输入完毕后想隐藏软键盘时我们通过直接点击EditText的之外的其他空白处就可以隐藏软键盘,这种做法明显比点击软键盘自身的隐藏按钮要方便的多。要实现上述功能只需重写 public boolean onTo原创 2016-03-07 09:29:16 · 2786 阅读 · 0 评论 -
Android Setting 设置项添加到快速搜索
原生Android系统上适配了setting 快速搜索设置项的问题,主要通过一下两点就可以实现:TestSettings.java TestSettings 实现 Indexable /** * For Search. */ public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER原创 2017-11-04 13:05:33 · 3818 阅读 · 1 评论 -
通过WindowManager设置全屏浮层
通过WindowManager设置全屏浮层, 做类似于蓝光护眼效果, 简单的记录一下;public static WindowManager.LayoutParams getWindowManagerParams(Context context) { int max = Math.max(width, height);// WindowManager.LayoutP原创 2017-12-24 08:45:13 · 6832 阅读 · 1 评论 -
Android 判断 Intent 是否存在
当 Android 系统调用Intent时,如果没有找到Intent匹配的Activity组件,那么应用将报以下错误:android.content.ActivityNotFoundException:Unable to find explicit activity class如果没有使用UncaughtExceptionHandler类来处理全局异常,那么程序将异常退出造成不好的用户体验。为了防止原创 2017-10-22 00:58:26 · 1096 阅读 · 0 评论 -
查看Apk 运行在多核cpu的那些核心上
随着手机硬件的不断提升,多核cpu变得已经很普遍,比如双核,四核以及八核,某些应用,尤其是系统应用,比如照相机,luncher等运行速度如何还是和运行在cpu哪些核心上有关系的,比如八核cpu的运行在0,1,2,3上就比运行在4,5,6,7上要快;那么怎么判断某个apk运行在哪些核心上呢,可以使用sdk自带的工具:Android SDK: sdk/platform-tools/systrace在以上原创 2016-07-27 22:12:44 · 3416 阅读 · 1 评论 -
ScrollView 布局不能撑满全屏的问题
当适配小屏幕手机上高度不够全部显示的时候,往往会使用 ScrollView 包裹最外层布局 LinearLayout,这样就会解决在小屏幕手机上显示不全的问题; 但同时也带来了新的问题, 那就是在大屏幕手机上下面会留白,问题的解决办法是在最外层 布局外包裹一层 ScrollView, 并将中ScrollView 的android:fillViewport 设置为 true;当 ScrollV原创 2018-01-13 17:58:41 · 2895 阅读 · 0 评论 -
SwitchButton 的 setChecked 方法触发 onCheckedChanged 监听器的问题
开发时发现每次 setChecked 时会触发onCheckedChanged 监听回调,而有时我们在设置setChecked后不想去自动触发 onCheckedChanged 里的具体操作, 即想屏蔽掉onCheckedChanged; 解决方法 区分是否为人为点击 和 代码setChecked,在监听器中加入一个判断, 代码如下:@Override public原创 2018-02-04 16:21:51 · 3791 阅读 · 0 评论 -
Android 底部弹出对话框
底部弹出对话框, 下面总结两种平时常用的方式:方式一:private void showBottomSheetDialog() { final BottomSheetDialog dialog=new BottomSheetDialog(this); View dialogView= LayoutInflater.from(this).inflate(R.layou...原创 2017-11-28 00:32:56 · 3443 阅读 · 1 评论 -
UI开发--透明度百分比与十六进制的对应换算
百分比 十六进制 百分比 十六进制 0% 00 51% 82 1% 03 52% 85 2% 05 53% 87 3% 08 54% 8A 4% 0A 55% 8C 5% 0D 56% 8F 6% 0F 57% 91 7% ...原创 2017-11-04 13:31:51 · 782 阅读 · 0 评论 -
Android 获取View的宽高
测量view的高度在开发中是经常遇到的问题,而获取view的宽高的方法有好几种,这里介绍一种最长用到最灵活的方法。OnGlobalLayoutListener 是 ViewTreeObserver的内部类, 当一个视图树的布局发生改变时,可以被ViewTreeObserver监听到,这是一个注册监听视图树的观察者(observer),在视图树的全局事件改变时得到通知。ViewTreeObse...原创 2017-03-26 11:53:11 · 432 阅读 · 0 评论 -
Android 流量监控
最近在做的项目有个流量监控的功能在7.0上不能正常运行,具体的来说就是:悬浮窗显示实时网速。 这个功能7.0之前一直都是ok的,但在7.0上显示网速一直为0 kb/s。要知道为什么就得知道该功能实现的原理,其实很简单,就是获取linux内核下的两个文件,这两个文件里的内容是当前网络的上行网速和下行网速, 我们只要将它读出来即可。先明确几个linux内核的重要路径:/proc/ne...原创 2017-02-22 23:26:49 · 834 阅读 · 0 评论 -
Android后退事件的处理
当我们想退出应用程序时,一般都会采用按物理按键(后退键)的做法,当用户在按两次后退键的时候就将应用程序退出,即销毁当前的Activity();重写onBackPressed()方法即可,代码如下:private int clickCount=0;@Overridepublic void onBackPressed() { //TODOAuto-generated method stub...原创 2016-03-07 09:29:02 · 545 阅读 · 0 评论 -
Android打开或者关闭GPS
打开和关闭gps//打开或者关闭gpspublic void openGPS(boolean open) { if (Build.VERSION.SDK_INT <19) { Secure.setLocationProviderEnabled(context.getContentResolver(), LocationManager.G...原创 2016-12-09 23:14:53 · 12286 阅读 · 2 评论 -
【Error】INSTALL_FAILED_CONFLICTING_PROVIDER
Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER安装App时出现以下错误adb: failed to install D:\doc\workspace\yw\develop\cooperate-baseline\app\build\outputs\apk\***\debug\myApp-debug.apk: Failure [INS...原创 2018-11-20 18:51:08 · 891 阅读 · 0 评论 -
Android Studio 快捷键
整理一下Android Studio 常用的快捷键,方便自己以后查阅。查找定位,提示 快捷键 效果 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+F 在本类中查找文本 Ctrl+E/ Alt+Shift+C 最近打开的文件 Alt+F3 可以快速寻找 Alt+1 快速打开或隐藏工程面板 Alt+F1 查找代码所在位置原创 2017-03-25 16:30:40 · 275 阅读 · 0 评论 -
Android布局中 android:layout_gravity="bottom";为何不起作用?
在android布局时我们有时会需要将位于LinearLayout布局中的控件放在布局底部,或者是同时想将几个控件底部对齐,此时我们自然会想到使用 android:layout_gravity="bottom" 将控件放在该线性布局底部,但是,但是这样是行不通的,这个问题今天也困扰了我很长时间,以为是自己其他地方布局搞错了或者其他地方搞错了才会出现这种情况,最后没办法查资料才发现以下规律:原创 2016-03-07 09:29:23 · 930 阅读 · 0 评论 -
Android 查看及设置 SELinux 状态
先给出SELinux查看和设置状态的方法查看 SELinux 状态:adb shell getenforce设置SELinux状态:adb shell setenforce 0 adb shell setenforce 1下面对这两种状态做个简单的介绍:在Android KK 4.4 版本后,Google 有正式有限制的启用SELinux, 但在7.0时又对SELinux加强了限制。 (1)原创 2017-02-22 23:45:47 · 20009 阅读 · 0 评论 -
Android 获取手机信息相关的方法
因为这部分知识经常用到,因此整理一下,为了以后使用方便1. 获取MAC地址/*** 获取MAC地址* 需添加权限<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>*/public static String getMacAddress(Context context) { String macA原创 2017-03-25 23:07:39 · 493 阅读 · 0 评论 -
Android 获取App相关信息
/** * 获取最近一次活跃的应用的包名 * @return */ public Set<String> getTopPackageSet() { Set<String> topSet = null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // getRunningTask原创 2017-03-25 16:43:39 · 2213 阅读 · 3 评论 -
Android ImageView常见问题
src和background的区别:background: 根据ImageView组件给定的长宽进行拉伸,使其充满组件的宽高; src:设置的是原图的大小,不会进行拉伸; background设置的是ImageView的背景,显示在后边; src是图片内容,显示在前面的;因此background和src是可以同时使用的scaleType 首先必须清楚scaleType的进行缩放针对原创 2017-03-26 15:42:38 · 570 阅读 · 0 评论 -
Android 软键盘常见问题
public class KeyBoardUtil { //打开软键盘 public static void openKeybord(EditText mEditText, Context mContext) { InputMethodManager imm = (InputMethodManager) mContext原创 2017-02-23 00:03:27 · 434 阅读 · 0 评论 -
Android 获取屏幕相关信息
为了今后使用更加方便,下面整理一些常用的屏幕相关信息的方法1. 获取屏幕高度/** * 获得屏幕高度 * @param context */public static int getScreenWidth(Context context) { WindowManager wm = (WindowManager) context .getSyst原创 2017-03-25 23:24:04 · 527 阅读 · 0 评论 -
解决onActivityResult()返回resultCode总是0的问题
该问题和 Acitivty 的 launchMode 有关;1 B在standard、singleTop两个模式下,在A中startActivityForResult()后,onActivityResult方法会在Activity B结束掉之后被调用;2 B在singleTask、singleInstance两个模式下,在A中startActivityForResult()后,onActivityR原创 2017-10-21 18:33:46 · 8655 阅读 · 2 评论 -
解决NavigationView Item图标不能显示图片原始颜色的问题
最近使用NavigationView的时候遇到这个问题,默认情况彩色的图片总是以灰色显示,点击后也是黑色显示,就算明确设置了颜色也不会显示图片原来的彩色,那怎么才能显示图片原色呢,解决这个问题很简单,如下:setItemIconTintList(null);原创 2017-10-21 18:30:49 · 3470 阅读 · 5 评论 -
Android SeekBar去掉左右两边空隙
seekbar默认两边会有间隙,导致不能符合预期效果,方法一:android:paddingStart="0dp"android:paddingEnd="0dp"方法二:java代码中设置padding setPadding(0,0,0,0)原创 2017-04-02 21:39:20 · 17584 阅读 · 3 评论 -
Android 获取网络相关信息
1. 检查网络是否可用/*** 检查当前网络*/public boolean checkNetwork() { ConnectivityManager connect = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo net = connect.getActiv原创 2017-03-26 16:04:34 · 1228 阅读 · 0 评论 -
Android 检查悬浮窗权限是否打开
/** * 判断 悬浮窗口权限是否打开 * @param context * @return true 允许 false禁止 */public boolean checkAlertWindowsPermission(Context context) { try { Object object = context.getSystemService(Context.A原创 2017-02-24 00:01:15 · 6019 阅读 · 1 评论