- 博客(101)
- 资源 (52)
- 问答 (1)
- 收藏
- 关注
原创 dokka实现
1、app项目下的build.gradle 的dependencies下添加。3、将库下面的build.gradle改成build.gradle.kts。2、settings.gradle 的repositories添加。4、将build.gradle.kts的plugins添加。5、修改build.gradle.k。
2023-04-19 20:50:46 402
原创 android 实现自定Seekbar
可实现左边跟中间滑动显示Seekbarpackage com.android.myapplication;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;
2022-04-25 22:47:42 2640
原创 android 解决android studio编译慢问题
1、我们编译代码的时候经常会出现build超级慢,有时候可能得等十几二十分钟,因为我们用了谷歌的加载导致会很慢(maven { url "https://maven.google.com/"}),这句一定不能加,可以加阿里云的,这样我们编译速度会快非常多倍,下面是配置文件,对着加进去就可以了。buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/pub.
2020-12-28 10:31:32 1203
原创 android Activity转场动画makeSceneTransitionAnimation
1、activity转场动画实现有很多,这里主要记录ActivityOptions实现转场动画。1、makeSceneTransitionAnimation实现,网上很多说要添加下面这句代码<item name="android:windowContentTransitions">true</item>或者Activity中添加requestWindowFeature(Window.FEATURE_CONTENT_TRANSITIONS);,但是实际不添加也可以2、
2020-08-10 22:29:25 2323
原创 Android recyclerView实现二级横向显示
1、效果图2、主要实现比较简单,首先data数据类package com.example.mytestproject.recycle;import java.io.Serializable;import java.util.List;public class RecyclerItem implements Serializable { private int icon; private String name; private List<Integer&
2020-07-15 23:05:14 2450
原创 Android 实现涂鸦笔效果
1、主要可以通过手指绘制各种图案、还可以清除回撤等效果,实现比较简单。2、主要实现代码,功能实现比较简单。package com.example.mytestproject;import android.content.Context;import android.graphics.BlurMaskFilter;import android.graphics.Canvas;import android.graphics.Color;import android.graphi.
2020-07-08 22:28:53 1629 2
原创 android 状态栏和虚拟按键栏字体背景颜色设置
1、设置顶部状态栏字体颜色为白色红底public static void setStatusBarColor(Activity context, boolean useThemeStatusBarColor) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0及以上 ...
2019-06-17 22:08:28 1143
原创 android ViewPager+fragment切换动画实现
1、viewPager的fragment切换动画主要实现ViewPager.PageTransformer接口,然后修改下面几个参数实现各种不同的动画切换效果的。setAlpha(@FloatRange(from=0.0, to=1.0) float alpha) 透明度 setTranslationX(float translationX) X轴平移 setTranslationY(fl...
2019-01-23 22:24:15 1385
原创 android 耳机按钮控制音乐播放
1、一般我们耳机上有按钮可以实现音量加减控制中间还有一个按钮也可以监听到它的点击事件。还有就是可以监听到耳机的插拔事件。2、首先实现耳机插拔事件的监听,注册一个插拔事件的静态action<action android:name="android.media.AUDIO_BECOMING_NOISY" />3、注册一个用于监听耳机点击事件的监听<action a...
2018-08-07 23:08:11 1934
原创 android Aes加密解密和Des加密解密
1、Aes加密,密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。package com.example.nsc.dataencryptproject;import android.util.Log;import jav...
2018-04-02 18:57:22 592
原创 android jni使用
1、配置添加ndk,然后配置一下环境变量2、配置build.gradle,在defaultConfig中添加//配置ndk信息ndk{ moduleName "JniTest" abiFilters "armeabi","armeabi-v7a","x86"}//配置so文件存放位置sourceSets.main { jni.srcDirs = [] jniLibs.src...
2018-03-31 09:14:59 255
原创 android ContentProvider使用
1、contentProvider可用于进程间的通信,即应用间数据的共享。 2、contentProvider 的数据类型有null、Interger、real(浮点数)、text(字符串)、blob(大数据) 3、contentProvider使用使用首先创建一个数据库,里面可以有多个参数,具体,可自行定义 package com.example.nsc.biglarge;
2017-12-19 18:47:00 337
原创 android 仿微信图片选择器
1、要实现首先在build.gradle中添加下面依赖库compile 'com.github.bumptech.glide:glide:3.5.2' compile 'com.android.support:recyclerview-v7:25.0.+'2、需要添加下面三个权限 3、先实现图片选择的activity,这里只使用了recycleView实现图
2017-11-01 22:15:22 566
原创 android Messenger跨进程通信
1、android messager可以实现不同进程之间数据的传递。通过点击进去看messenger类可以看到,我们可以创建一个service用于处理和客户端的连接请求,然后通过handler中创建一个messener对象,实现对service数据传递。/** * Create a new Messenger pointing to the given Handler. Any Mes
2017-09-26 22:15:07 351
原创 android 实现圆形头像
1、首先看一下实现效果2、首先新建一个自定义view实现ImageView,详细可看注释package com.example.a550211.xfermode;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import
2017-09-25 17:16:39 2765 2
原创 android 相机使用(拍照、录像、图片查看、静态人脸识别、延时拍照)
相机是我们最常用的手机应用之一,这里只是实现几个简单的功能、拍照、延时拍照、录像、图片查看等。2、这里主要使用surfaceView实现,首先打开摄像头实现预览,在surfaceCreated中添加/** * 启动预览 */ private void startPreview() { if (mCamera != null || !mIsSurf
2017-09-08 22:39:13 1593 1
原创 android 实现监听短信接收并将当前位置发送出去
1、获取定位地址,这里使用高德定位,从官网下载定位的jar包AMap_Location_V3.50_20170731.jar包然后在build.gradlecompile files('libs/AMap_Location_V3.5.0_20170731.jar')然后在权限文件中添加需要的权限和申请的key<manifest xmlns:android="http://schemas.an
2017-08-31 19:15:03 2026 1
转载 android 8.0新功能
Skip to content Developers设计 开发 分发navigationAndroidOreoAPI 概览行为变更向 Android 8.0 迁移应用示例后台执行限
2017-08-24 17:08:23 8654
原创 app性能优化
一般我们写的app操作的数据多的时侯或者平时使用的时候都会经常出现卡顿、闪退、ANR停止运行等各种问题。这样会导致用户使用的体验非常差,因此在写代码的时候我们就要注意一些代码的书写方式和做好优化了。一般app的优化我们可以从启动、布局、内存、存储、耗电等进行优化。1、启动优化:*应用的启动分为冷启动和热启动。冷启动:应用第一次启动的时候,系统会为应用创建一个新的进程,所以首先会创建和初
2017-08-14 22:06:34 2397
原创 android 天气预报
获取城市天气数据的途径有很多,这里主要使用高德实现。1、首先到高德官网:http://lbs.amap.com/dev/key/app 注册一个开发者账号,然后在应用管理-->我的应用那里添加一个应用,关于获取SHAI上面有文档可以查看http://lbs.amap.com/faq/top/hot-questions/249 但是其中要注意的是,如果在as的Terminal那里获取
2017-07-26 19:27:25 3672 3
原创 android 按时间显示图片
实现效果:首先写需要用到的图片数据:时间、文件名、路径等package com.example.a550211.cd;import java.text.SimpleDateFormat;import java.util.Date;/** * Created by xing on 2017/7/4. */public class ImageTime { privat
2017-07-11 19:27:14 4783 13
原创 android 反射使用
1、在我们开发过程中可能会遇到某些类中的方法或变量无法使用,例如加了/** {@hide} */注释的,就是一些隐藏的方法。如果我们用反射就可以轻松调用了。2、虽然如此但反射也有缺点:* 因为是动态执行的,效率自然没有预编译时引用现有的库效率高,就像平时我们Win32开发时,可以不用h文件,直接通过GetProcAddress一样去动态获取方法的地址。当然效率要根据复杂程度而决定,一般
2017-07-06 22:51:41 2300
原创 Java 错误解决之java.lang.IllegalArgumentException: Comparison method violates its general contract
在jdk1.7上使用分类排序会报下面错误java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeLo(TimSort.java:743) at java.util.TimSort.mergeAt(TimSort.j
2017-06-21 19:16:28 16478 2
转载 android 右边滑动字母索引使用
1、实现效果2、实现主要时一个listView或者recyclerView跟一个自定义右边a-z的显示自定义view实现,首先自定义view实现首先绘制右边栏a-#,通过获取屏幕的高度然后计算每个字母的高度进行绘制 @Override protected void onDraw(Canvas canvas) { int perTextHeight = get
2017-06-16 23:21:07 4347 1
原创 android 异步线程的使用
在android 中,当我们操作一个事件在5s、10s、20s(按键或触摸事件特定时间内无响应,广播、service特定时间内无法处理完成)就会报anr,为了避免这种问题,那我们就可以使用后台去处理,处理完后然后更新,异步处理一般使用AsyncTask、IntentService、Handler。1、AsyncTask使用asyncTask类可以将耗时的操作放到后台线程中处理操作完成后同步
2017-06-11 21:49:23 504
原创 android 实现圆形进度条
要实现圆形进度条只能使用自定义view了,实现代码比较简单,自定义view代码package com.example.apple.memory;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint
2017-05-27 23:09:22 1560
原创 android fragment详解
1、fragment的简单介绍。首先fragment的优点:fragment可以为不同屏幕大小的设备创建动态灵活的UI(小屏幕手机到大屏幕平板电脑),极大提高了UI的灵活性。每个frgment都是独立的,可以被多个activity公用,可以在一个正在显示的activity中执行添加、替换、删除的操作。2、fragment的生命周期
2017-05-22 23:03:19 437
转载 android 分析ANR问题
1.2 如何分析ANR问题引起ANR问题的根本原因,总的来说可以归纳为两类:应用进程自身引起的,例如:主线程阻塞、挂起、死循环应用进程的其他线程的CPU占用率高,使得主线程无法抢占到CPU时间片其他进程间接引起的,例如:当前应用进程进行进程间通信请求其他进程,其他进程的操作长时间没有反馈其他进程的CPU占用率高,使得当前应用进程无法抢占到CPU时间片分析ANR问题时
2017-05-19 19:43:19 963
原创 android 设置自定义dialog全屏显示
一般通过代码是无法将自定义dialog设置为全屏的,这里是在styles.xml中设置然后引用styles.xml代码: true true 然后代码中引用 private void showCreateNewFolder(){ Dialog dialog1 = new Dialog(this,R.style.Dialo
2017-05-17 19:14:21 928
原创 android实现文件排序
1、仅仅实现文件的排序功能并不难。首先看看实现的效果图2、代码图3、代码编写一个数据文件存储文件的大小、名字路径等等信息package com.example.a550211.mycsdn;/** * Created by 550211 on 2017/4/24. * use to save file data */public class FileInf
2017-05-10 20:15:02 5119 1
原创 实现TextView内容分块处理
实现效果图:这里实现主要是用HorizontalScrollView加TextView实现的,实现布局代码:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id=
2017-05-08 19:38:32 740
原创 android app冷启动优化
一、应用启动方式1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。2、热启动:应用启动过后,后台还保留了应用的进程,这种启动应用方式叫热启动。二、应用启动流程在安卓系统上,应用在没有进程的情况下,应用的启动都是这样一个流程:当点击app的启动图标时,安卓系统会从Zygote进程中fork创建出一个新的进程分配给该应用
2017-04-18 23:44:42 334
原创 android aidl进程间的通信
1、IPC是Inter-Process Communication的缩写,含义就是进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。进程在PC和移动设备上指的是一个程序或者一个应用。一个进程可以包含多个线程,因此进程和线程是包含被包含的关系。2、aidl在应用间的使用首先可以先实现 .aidl文件,.aidl文件可以直接新建,跟java同级// IMyAidlInt
2017-04-17 21:55:05 302
原创 android 使用download Manager实现应用下载安装
android 2.3中引入了download manager ,作为一个service来优化长时间下载操作处理。download manager通过处理http 连接、监听连续的变化和系统重新启动来确保每一次下载都能成功完成。最好大多数场景下都使用download manager,特别是在一个下载可能会在多个用户回话之间在后台继续进行的地方或者在某个下载的完成非常重要的时候。1、用到的权
2017-04-12 23:16:13 1885
原创 android okGo、okHttp、XUtils网络框架使用
一、XUtils网络框架使用1、先导入xutils的library库,然后在build.gradle中添加下面代码 //xutils compile project(':xutils')2、需要先在Application中初始化 x.Ext.init(this); x.Ext.setDebug(BuildConfig.DEBUG); // 是否输出debug
2017-03-20 23:51:22 5465 2
原创 android 自定义控件
一般写自定义控件是为了增加控件的属性或者做一些复杂的控件避免每次都写一些麻烦的布局,自定义view也不一定很复杂,可以很简单的实现。1、view其实可以分自绘控件、组合控件、以及继承控件这三种2、先简单介绍一下view绘制的三个方法1、measure操作 measure操作主要用于计算视图的大小,即视图的宽度和长度。在view中定义为final类型,要求子类不能修改。m
2017-03-18 19:11:28 315
Android Messenger使用
2017-09-26
imageLoader框架使用
2017-01-04
volley框架使用
2016-12-30
简单好用的上拉加载下拉刷新 BaseRecyclerViewAdapterHelper
2016-12-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人