![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android基础知识
文章平均质量分 90
Vincent__Lee
..........怎么改不了名
展开
-
Android EditText得到和失去焦点时,自定义处理内容
当Android的Edittext得到/失去焦点时,需要自定义一些处理内容时,需要对EditText对象的Focus进行监听处理。在Activity中,做以下处理:1.取得EditText对象。2.为取得的对象添加setOnFocusChangeListener(),重写里面的方法。如下:EditText loginPwd = (EditText) find转载 2017-01-04 14:39:27 · 342 阅读 · 0 评论 -
android基础知识---Mean菜单管理
Android一共有三种形式的菜单: 1.选项菜单(optinosMenu) 2.上下文菜单(ContextMenu) 3.子菜单(subMenu) 其中最常用的就是选项菜单(optionsMenu), 该菜单在点击 menu 按键 后会在对应的Activity底部显示出来。 一、简介 Activity有一套机制来实原创 2017-04-09 21:04:02 · 781 阅读 · 0 评论 -
android基础知识----认识Gradle
什么是Gradle?Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。Gradle的基本概念下面就以我最近做的一个代表性的项目来详细讲解下和Gradle相关的知识, 和Gradle相关的几个文件一般有如下几个: 其中红色标记是我们今天要关注的内转载 2017-03-15 10:19:29 · 301 阅读 · 0 评论 -
android绘制知识--双缓冲绘图技术
今天我们说下双缓冲绘图技术。其实也没有那么神秘,可以理解为就是一个装载工具,说点接地气的比如搬砖。我们每次可以搬十块砖,从A搬到B,如果是就搬十块我们当然是直接搬过去比较快,但是如果是一百或者一千块呢?你直接搬效率肯定很低,于是我们用身边的小推车一直装上然后推过去。我们的双缓冲技术就是这个“小推车”。我们知道,我们在绘图时有两样东西是少不了的,一个是Canvas(画布),一个是Paint(画笔)。C原创 2017-04-04 21:28:37 · 1127 阅读 · 0 评论 -
android基础知识---语言切换
其实也不是多难的东西今天就是看到就想着写下,由于看了好多博客写的都是对不上号的东西,就自己写下以后好查着看。 一、简介 我们需要做的就是更新资源目录的配置信息,同时我们要设置多个value比如value-en就是代表英语的value文件夹。二、实现 首先我们来看下我们的Local 我就不全贴了以英语为例 static public final Locale ENGLIS原创 2017-04-19 00:06:31 · 490 阅读 · 0 评论 -
android基础知识----自带的分享
我一直都在sharesdk分享,没怎么用,今天这里就用下,顺便记录下挺简单的。 最主要的三种 1. 分享文本Intent intent1=new Intent(Intent.ACTION_SEND); intent1.putExtra(Intent.EXTRA_TEXT,"This is my text to send"); int原创 2017-04-29 17:00:17 · 751 阅读 · 0 评论 -
Android基础知识---RxPermissions获取运行时权限
大家都了解android6.0的运行时权限分为两类: 一类是Normal Permissions,这类权限不涉及个人隐私,不需要用户进行授权,比如手机震动,访问网络; 一类是Dangerous Permissions,这类权限涉及个人隐私,需要用户进行授权,比如读取SD卡,访问通讯录等。 如果是Dangerous Permissions这种权限需要我申请权限,这里我写过例子你们可以看看例子原创 2017-05-01 23:36:02 · 2686 阅读 · 1 评论 -
android基础知识---重写系统Crash处理类保存上传和完美退出程序的方法
当今市场上android的手机型号和版本太多要做到完全适配几乎是完全不可能的,那么怎么才能获取其他的玩家的出错的信息呢!这里我们就要重新定义系统的Crash处理类了。首先我们我们新建一个CustomCrashHandler类 实现UncaughtExceptionHandler接口,重写回调方法void uncaughtException(Thread thread, Throwable ex)pa原创 2017-04-30 23:31:56 · 2472 阅读 · 0 评论 -
Android基础知识---7.1新特性:Shortcuts详解
啊啊,最近转做游戏就没什么时间写博客了,累死了!不过看到了7.1的新特性还是忍不住来看看!Shortcuts介绍Android7.1(API Level 25)及以上系统可以自定义Shortcuts,通过在桌面上长按App Icon弹出Shortcut列表,点击某个shortcut可使用户快捷得打开App里常用的或推荐的任务。长按列表中的任一个Shortcut可拖动到桌面进行固定(可以成为Pinne原创 2017-06-20 00:13:32 · 3009 阅读 · 1 评论 -
android基础知识---ActivityLifecycleCallbacks监听Activity们的生命周期
今天给大家介绍下ActivityLifecycleCallbacks。一、ActivityLifecycleCallbacks是什么?Application通过此接口提供了一套回调方法,用于让开发者对Activity的生命周期事件进行集中处理。二、为什么用ActivityLifecycleCallbacks?ActivityLifecycleCallbacks接口回调可以简化繁琐的处理生命周期监原创 2017-07-11 23:19:14 · 1049 阅读 · 0 评论 -
android基础知识----延迟和计时效果(handler 、Thread、CountDownTimer )
本来觉得简单,用一次查一次这次写一次 ,纯粹提醒自己 (蠢/(ㄒoㄒ)/~~) 方法一Handler handler = new Handler();handler.postDelayed(new Runnable(){ @Override public void run() { //過兩秒後要做的事情 }}, 2000);方法二try{ // de原创 2017-02-24 01:02:40 · 547 阅读 · 0 评论 -
Android基础知识-------截屏
这里我介绍下截屏方式。使用View.getDrawingCache()方式通过该方法可以获取到当前activity的页面的bitmap,然后进行保存,可以说是最简单的实习方式。优点是不需要root,不过缺点也比较明显只能获取当前运行的activity,无法获取其他应用,也不能用到service后台截屏。 下面是方法: private void screenshot() {原创 2017-07-26 22:42:01 · 351 阅读 · 0 评论 -
android基础知识---重写软键盘回车的点击事件
实现Android按下回车键便隐藏输入键盘,有两种方法:1.)如果布局是多个EditText,为每个EditText控件设置android:singleLine=”true”,弹出的软盘输入法中回车键为next,直到最后一个获取焦点后显示为Done,点击Done后,软盘输入键盘便隐藏。或者将EditText的imeOptions属性设置android:imeOptions=”actionDone”,原创 2017-08-27 18:10:59 · 1191 阅读 · 0 评论 -
android基础知识---不同app的跳转,及进程的控制
这里我简单介绍下跳转的三个方式,直接上方法了1、已知包名直接按包名跳转 Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.admin.tiaoapp2"); startActivity(intent);2、已知包名和activity和包名跳转Intent intent原创 2017-07-10 23:58:35 · 1151 阅读 · 0 评论 -
android检查内存泄漏
原文链接点击打开链接1. 什么是内存泄漏简单来说, 当一个对象不再被使用时, 理应不存在任何强引用指向他从而可以让垃圾回收器(GC)在未来的某个时间点将其回收的, 但由于某些原因导致有强引用依然指向该对象, 使得该对象无法被垃圾回收器(GC)回收的现象, 我们就称该对象被泄漏到内存中了, 简称”内存泄漏”. 其实, 在这种情况下, 不仅该对象会泄漏, 而且该对象内部包含的其他引用所转载 2017-11-26 13:40:23 · 616 阅读 · 0 评论 -
Android基础知识---Android的monkey测试
前言尴尬,今天我们主管问题我monkey测试是啥,我竟然一脸懵逼,感觉作为一个android开放程序猿有点无地自容,这不赶紧的看看,下次不能再丢人了。(——。——)一、Monkey测试是什么Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上。 Monkey会发送伪随机的用户事件流,适合对app做压力测试二、Monkey用来做原创 2017-09-03 18:39:59 · 647 阅读 · 0 评论 -
android基础知识---不同app的跳转传值
这里就说下用法就好 Intent intent=new Intent(); intent.putExtra("url","https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1489062315884&di=1d92cdc41e3e06cf68cf36690215cff2&imgty原创 2017-03-09 17:50:43 · 1081 阅读 · 0 评论 -
android基础知识----上滑标题变浅变透明
今天一个小学弟,有这个需求他问我,我就写了个简单的demo 首先说下思路这里用的scrollview,我需要自定义一个,然后监听y轴变化,然后将toolbar的高度分成255份,让y轴值除以一份然后被255减去就是透明度。 这里用的方法是这个 title_toobar.setBackgroundColor(Color.argb((int) (255-alpha), 255, 64, 129))原创 2017-03-09 16:59:15 · 738 阅读 · 1 评论 -
android基础知识----git上传改变上传的地址
最近公司要换代码托管平台。无赖0.0 直接说方法吧,直接在这个项目.git的路径下找到config文件 然后打开 这里换成新的地址就OK原创 2017-03-08 17:57:51 · 405 阅读 · 0 评论 -
为什么需要在TypedArray后调用recycle
这个是我在认识declare-styleable,了解自定义view的在textview源码中看到的很不解,今天无意间在网上看到了,记下来说下。 当我们没有在使用TypedArray后调用recycle,编译器会提示“This TypedArray should be recycled after use with #recycle()”。官方的解释是:回收TypedArray,以便后面重用。在调原创 2017-02-16 23:48:49 · 625 阅读 · 0 评论 -
Android中Toast的用法简介
Android中Toast的用法简介Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。下面用一个实例来看看如何使用Toast。 1.默认效果代码Toast.makeText(getApplicationContext(), "默认Toast样式",转载 2017-01-11 21:49:55 · 532 阅读 · 0 评论 -
浅谈android的MVP设计模式之内存泄露问题
我上次写了浅谈mvp,经过一段时间的思考,发现我忽略了一个问题内存泄露问题。因为Presenter中持有View接口对象,这个接口对象实际为MainActivity.this,Modle中也同时拥有Presenter对象实例,当MainActivity要销毁时,Presenter中有Modle在获取数据,那activity肯定是无法被销毁的,所以就会造成内存泄露。 当Modle在获取数据时,不做处原创 2017-02-28 21:48:05 · 630 阅读 · 0 评论 -
android基础知识---浅谈 MVP
最近在研究mvp模式,对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的演化版本”,“让Model和View完全解耦”等等。我这里就是看了一些博客,提提我自己的看法,模拟写下先试试。一.初识 首先我们先看看我们原先一直在用的mvc模式View:对应于布局文件Model:业务逻辑和实体模型Controllor:对应于Activity看起来的确像那么回事,但原创 2017-02-18 23:29:34 · 569 阅读 · 0 评论 -
详解Paint的setShader(Shader shader)
一、概述setShader(Shader shader)中传入的自然是shader对象了,shader类是Android在图形变换中非常重要的一个类。Shader在三维软件中我们称之为着色器,其作用是来给图像着色。它有五个子类,像PathEffect一样,它的每个子类都实现了一种Shader。下面来看看文档中的解释:子类:BitmapShader, ComposeShader, L转载 2017-02-20 22:37:14 · 541 阅读 · 0 评论 -
浅谈android6.0的新特性
浅谈android6.0的新特性简单介绍全称:MarshmallowGoogle2015年i/o大会上正式发布众多新模块更新目前市场份额较小主要更新的模块电源管理APP Link指纹识别应用权限管理(最重要)电源管理App Standby(应用待机) 检测:当设备部充电,且在这时间类用户没有直接或间接的启动应用 退出:当应用被机会时,或者设备充电时,系统将应用移除此状态 这原创 2017-02-11 22:41:25 · 309 阅读 · 0 评论 -
android6.0的写入SD卡的权限申请
6.0的手机对于写入手机需要申请权限的我做了如下处理下面我贴出代码package com.example.admin.sdapplication;import android.Manifest;import android.content.pm.PackageManager;import android.os.Build;import android.os.Bundle;原创 2017-01-22 00:21:13 · 9423 阅读 · 0 评论 -
浅谈android6.0的新特性之运行时权限处理解析
一.相关介绍新的权限机制更好的保护了用户的隐私,Google将权限分为两类,一类是Normal Permissions,这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等;另一类是Dangerous Permission,一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等。Normal Permissions如下 ACCESS_LOCATION原创 2017-02-12 19:49:47 · 239 阅读 · 0 评论 -
android基础----px 与 dp, sp换算公式
PPI = Pixels per inch,每英寸上的像素数,即 “像素密度”xxhdpi:3.0xhdpi: 2.0hdpi: 1.5mdpi: 1.0 (baseline)ldpi: 0.75就是我们通常说的1x,2x,3x的图dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如: 在320x480分辨率,像素密度为160,1dp=1px 在480x800分辨率,像素密度为2转载 2017-02-21 21:33:37 · 426 阅读 · 0 评论 -
android基础知识----scrollview的上拉加载下拉刷新
大家都写过listview刷新加载,但是用到scrollview’的时候有时候也要刷新加载 这里就给出一个思路解决这个问题 就是继承LinearLayout 布局,然后对内部的进行处理,在init加入头布局 onFinishInflate加入底部布局 分别是pull_head<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:原创 2017-02-22 22:30:28 · 3612 阅读 · 2 评论 -
timer的使用--用timer.schedule()做一个定时去刷新的线程
Timer timer = new Timer();timer.schedule(Java.util.TimerTask task, long delay, long period);今天算是彻底的搞懂了这个曾经让我为之头疼的方法。下面我就重点介绍一下:第一个参数,是 TimerTa转载 2017-02-16 23:42:49 · 2594 阅读 · 0 评论 -
android基础知识----时间戳
一直再用,但是一直比较模糊,这里稍微看看。 一.简述 首先,时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。数字时间戳技术是数字签名技术一种变种的应用。 定义:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。时间戳分为两种自建时间戳:此类时间戳是通过时间接收设备(如GPS,CDMA,原创 2017-03-03 18:42:37 · 1086 阅读 · 0 评论 -
android自定义控件---GifImageView
今天我用的逐帧动画做的按钮的点击效果,但是感觉太麻烦了,如果能用gif图不是更好么,于是看了一下,发现可以src传gif的资源但是只显示第一帧的画面。于是我们只能换个思路,重写imageview了。说下思路吧首先,我们调用了getResourceId()方法去获取图片资源对应的id值,在getResourceId()方法内部是通过Java的反射机制来进行获取的。 int resourceId =原创 2017-02-25 02:15:13 · 517 阅读 · 0 评论 -
Android declare-styleable自定义控件属性
今天本身是看看简书,看看巴士想来点新东西,但是忽然发现这个 declare-styleable没用过,赶紧补习补习下面我就简单给大家介绍一下 declare-styleable:declare-styleable是给自定义控件添加自定义属性用的。起初,在自定义控件的时候,会要求构造3个方法中的一个或多个,好比我自定义的控件PersonViewblic PersonView(Context cont原创 2017-02-16 00:39:10 · 734 阅读 · 0 评论 -
Android继承知识---传感器初识
常用传感器介绍与用法 Android平台支持三个大类的传感器Motion sensors(运动传感器)这些传感器测量加速力,并沿三个轴的旋转力。此类别包括加速度计,重力感应器, 陀螺仪和旋转矢量传感器。Environmental sensors (环境传感器)这些传感器测量各种环境参数,例如环境空气温度和压力,照明和湿度。此类别包括气压计,光度计,和温度计。Position sensor原创 2017-03-18 00:00:51 · 398 阅读 · 0 评论 -
Android适配刘海屏(华为Pro20等)
前言公司最近要适配华为Pro20,没办法 – 。–一、AndroidP的适配方案上来我最先找到的就是AndroidP,就先以这个入手了。 首先看下谷歌给出的api,大致就分为两种。 1.设置全屏模式WindowManager.LayoutParams lp =getWindow().getAttributes();lp.layoutIn...原创 2018-04-16 22:21:01 · 14158 阅读 · 8 评论