- 博客(65)
- 资源 (14)
- 收藏
- 关注
转载 android assets 读取
前言Android 中资源分为两种,一种是res下可编译的资源文件, 这种资源文件系统会在R.java里面自动生成该资源文件的ID,访问也很简单,只需要调用R.XXX.id即可;第二种就是放在assets文件夹下面的原生资源文件,放在这个文件夹下面的文件不会被R文件编译,所以不能像第一种那样直接使用.Android提供了一个工具类,方便我们操作获取assets文件下的文件:AssetManage...
2020-03-11 09:46:51 1182
转载 Android 获取当前app的版本号和版本名称
一、概念apk打包之前根据自己的需要,进行版本号、版本名称设置。android studio 设置是于build.gradle文件的中设置。android{defaultConfig {versionCode 1versionName "我是发布版本V1.0."...
2020-03-10 14:49:25 12546
转载 android 屏幕亮度设置与获取
使用场景最近在研究AndroidL Settings的代码,写了一个简单的控件来操控屏幕亮度。其实,调节屏幕亮度的场景应用很广,例如很多视频应用都响应touch事件来进行亮度调节。屏幕亮度调节模式首先,需要明确屏幕亮度有两种调节模式:Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC:值为1,自动调节亮度。Settings.System.S...
2020-03-10 10:58:41 1833 1
转载 GLSurfaceView camera 制作自定义相机
1. SurfaceView,GlSurfaceView,SurfaceTexture,TextureView的优缺点及区别SurfaceView继承自View,拥有View的大部分属性,但是由于holder的存在,不能设置透明度。优点:可以在一个独立的线程中进行绘制,不会影响主线程,使用双缓冲机制,播放视频时画面更流畅缺点:surface的显示不受View属性的控制,不能将其放在Vi...
2020-01-07 10:26:08 472
转载 Android 打开本地PDF文档
使用 android-pdfview第三方库打开PDF文档。下面主要说一下该库的使用方法。1. 该库的下载地址https://github.com/JoanZapata/android-pdfview源码下载:http://xiazai.jb51.net/201704/yuanma/android-pdfview-master_jb51.rar2. android-pdfview的...
2019-12-11 13:30:36 918
原创 Android 动态权限获取
1. 定义需要动态获取的权限(下面是以读写外部存储卡权限为例)private static final int REQUEST_EXTERNAL_STORAGE = 1;private static String[] PERMISSIONS_STORAGE = { Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permi...
2019-12-10 14:31:36 343
原创 gradle多渠道打包二(多套UI)
方法一: 再app目录下新建与渠道名称相同的文件夹,并且把对应的layout拷贝过来。如下图:方法二:再main下面新建res-flavors文件夹与res同级。再res-flavors文件夹下面新建与渠道名称对应的文件夹。如下图:在app下gradle文件中增加如下代码:sourceSets { camb.res.srcDirs = ['src/main/r...
2019-12-05 15:38:43 267
原创 gradle 多渠道打包基础(apk名称图标)
1. 在APP下的gradle文件中,建立不同的产品名称flavorDimensions "app"productFlavors { camb {dimension "app"manifestPlaceholders = [ CHANNEL_NAME:"CAMB", APP_NAME:"@string/camb", APP_ICO:...
2019-12-04 15:59:39 316
转载 Android使用CrashHandler编写异常捕获类,分析程序崩溃原因
概述 无论你的程序写的多么完美,都不可能避免会发生crash。可能是由于系统底层的bug,也可能是由于不充分的机型适配......等。当发生更crash时,系统会kill掉正在执行的程序,从而立马闪退。更糟糕的是,当用户发生crash时,开发者却无法得知程序为何crash,更不立即得到用户的crash信息,所以往往造成修复不及时。 目前有两种处理方案,一种是利用第三方的sdk进行崩溃日志...
2019-10-18 11:30:05 170
原创 EditText失去焦点后如何重新获取焦点
在android开发过程中关于EditText在setFocusable(false);后,当需要再次获得焦点输入时设置setFocusable(true);后还是无法获得焦点的问题: 解决办法: 对EditText设置后就可以了! et.setFocusable(true);et.setFocusableInTouchMode(true);et.requestFocus();et...
2019-08-28 16:48:10 1063
转载 Android surfaceview播放视频
布局文件main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="f...
2019-08-12 10:16:10 2374
转载 Android 多点触控消息捕获与处理
1 简介 Android多点触控在本质上需要LCD驱动和程序本身设计上支持,目前市面上HTC、Motorola和Samsung等知名厂商只要使用电容屏触控原理的手机均可以支持多点触控Multitouch技术,对于网页缩放、手势操作上有更好的用户体验。 在Android平台上事件均使用了MotionEvent对象方式处理,比如开始触控时会触发ACTION_DOWN,而移动操作时为 ...
2019-08-12 09:19:12 564
转载 Android 解析xml文件的三种方式
<?xml version="1.0" encoding="UTF-8"?><persons> <person id="1"> <name>zhangsan</name> <age>21</age> </person> <person id="2"> &...
2019-08-08 16:07:00 677
转载 Android webview的全面讲解
前言 现在很多App里都内置了Web网页(Hybrid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图 京东首页 那么这种该如何实现呢?其实这是Android里一个叫WebView组件实现 今天,我将献上一份全面介绍 WebView的常见用法。 目录示意图1. 简介WebView是一个基于webkit引擎、展现web页面...
2019-08-07 17:55:23 328
原创 Android 文件操作以及获取系统时间
package com.video.utils;import android.os.Environment;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.text.SimpleDateFor...
2019-08-06 14:43:25 531
原创 android 自定义Toast
package com.utils;import android.annotation.SuppressLint;import android.content.Context;import android.widget.Button;import android.widget.Toast;public class ToastUtil { public static Strin...
2019-08-06 14:41:11 139
原创 Android 关于弹框的一些小功能
1. 设置dialog点击弹框区域外位置不消失 dialog.setCanceledOnTouchOutside(false); dialog.setCancelable(false); 默认消失。Dialog默认有标题,可以通过dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);取消标题2. popup...
2019-08-05 16:43:25 183
转载 Android 断点上传以及多文件上传
在Android中当需要上传或者下载多个图片或者文件到手机时,往往需要开启多个线程工作来提高效率。多线程的调度就需要用到线程池了,由于Android是基于java语言实现,所以Android中用到的多线程跟java中的多线程是一样的。下面介绍下java的线程池。线程池分类(1)newCachedThreadPool创建一个可缓存线程池,如果线程池线程数量超过处理需要,可灵活回收空闲线...
2019-08-05 10:35:35 510
转载 Android 线程池
0.前言转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52415337使用线程池可以给我们带来很多好处,首先通过线程池中线程的重用,减少创建和销毁线程的性能开销。其次,能控制线程池中的并发数,否则会因为大量的线程争夺CPU资源造成阻塞。最后,线程池能够对线程进行管理,比如使用ScheduledThreadPool来设置延迟N...
2019-08-03 14:21:35 72
转载 Android:关于ContentProvider的知识
前言ContentProvider属于 Android的四大组件之一 本文全面解析了 ContentProvider ,包括ContentProvider 原理、使用方法 & 实例讲解,希望你们会喜欢。目录示意图1. 定义即 内容提供者,是 Android 四大组件之一2. 作用进程间 进行数据交互 & 共享,即跨进程通信示意图3. 原理...
2019-07-31 16:11:52 124
原创 Android 全屏 常亮 横屏
1. 全屏1.1 代码中设置requestWindowFeature(Window.FEATURE_NO_TITLE);// 隐藏标题getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);// 设置全屏setConte...
2019-07-30 10:01:53 177
原创 Android listview 常用设置
1. 去掉分割线1.1设置android:divider="@null"1.2android:divider="#00000000"#00000000后面两个零表示透明1.3.setDividerHeight(0)高度设为02. 设置选中状态2.1在adapter中提供选中函数供外部调用“setSelectitem”;在getView中修改选中项的颜色。...
2019-07-30 09:29:04 162
转载 Android 事件分发机制详解
在Android 开发中事件分发是比较重要的,也是比较难理解的,之前看过这方面的东西,以为自己弄懂了,也就没太注意,最近面试呢,想着肯定要问到这一块的东西,回顾的时候发现又忘了,真是好记性不如烂笔头啊,长期没有用到这一块的东西,也就抛之脑后了,今天用了半天时间,看资料有了解了一下,把这块内容整理一下,省的以后在以后学习过程中,要不断温故一下,看的时候就不用那么麻烦了。 文章参考于:h...
2019-07-30 09:14:35 102
转载 Android 重写listview
public class MyListView extends ListView {public MyListView(Context context) {super(context);}public MyListView(Context context, AttributeSet attrs) {super(context, at...
2019-07-29 16:24:40 433
原创 listview item 和button点击响应
1. 在Adapter中添加button按钮的事件处理。2. 在创建的ListView的Item中,将button按钮的焦点事件设置为false
2019-07-29 15:45:43 304
转载 Android shape selector 基本知识和应用
一个view控件的各种样式:包括控件间隔、文字大小和颜色、阴影、形状等等,这些样式主要通过shape、selector、layer-list、level-list、style、theme等组合实现。控件包括Button、EditText、ProgressBar、Toast、Checkbox等。一 , shapeshape 用于形状和背景颜色的样式,分为以下四种形状。android:sh...
2019-07-26 13:28:39 147
原创 Android shape selector 设置按钮背景 文字颜色
1. selector 设置按钮各种状态下的背景<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="false" android:d...
2019-07-26 11:21:05 1570
转载 Android 线程更新UI的三种方法
在Android项目中经常有碰到这样的问题,在子线程中完成耗时操作之后要更新UI,下面就自己经历的一些项目总结一下更新的方法。一. 引言首先来看一下Android中消息机制:专业术语:Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理。Handler:处理者,负责Message的发送及处理。使用H...
2019-07-26 09:20:18 381
原创 Android studio 导入第三方库
1. aar库导入compile(name: 'wisview.sdk', ext: 'aar')在build.gradle文件中增加aar文件路径repositories { flatDir { dirs 'libs' } }2. jar库导入compile files('libs/AMap_Locat...
2019-07-24 17:50:30 376
转载 Android studio 为现有项目添加JNI
刚开始创建项目的时候并没有勾选“include C++ support” 选项:后期增加步骤:1.拷贝已有支持C++项目的CMakeLists.txt文件到现有项目的app目录下;2.在app/src/main 目录下新建cpp文件夹;3.修改app目录下的build.gradle文件,分别在defaultConfig的大括号和android的大括号中添加“externalNa...
2019-07-24 14:59:12 2066
原创 android studio include C++ Support 方式使用JNI
1. 新建工程,在新建过程中注意如下选项:按“next”正常创建工程即可。2. 创建完成后,工程默认已经有了JNI流程,我们只需要在对应位置增加程序即可:native-lib中可以增加C++函数,也可以在CPP文件夹下新建新的cpp文件,进行C代码编写。CMakeLists文件中配置了so库的生成,可以增加和修改文件以及名称。3. 要新增so库可以按如下操作:添...
2019-07-23 15:59:48 1555
转载 android UI 设计 shape selector
前言在我们的日常开发当中,通常会因为UI需求去编写大量的shape和selector资源,下面介绍一个框架能够替代shape和selector资源,直接在xml文件中写就行了,非常的方便,传送门实例效果image使用方式第一步: 在module的build.gradle文件下做如下依赖implementation 'com.noober.background:co...
2019-07-22 17:26:37 275
转载 Android 异常退出捕获
Android中处理崩溃闪退异常 大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具...
2019-07-19 15:35:30 377
转载 Android 横竖屏切换
第一。横竖屏切换连带载入多屏布局问题:假设要让软件在横竖屏之间切换。因为横竖屏的高宽会发生转换,有可能会要求不同的布局。能够通过下面两种方法来切换布局:1)在res文件夹下建立layout-land和layout-port文件夹,对应的layout文件名称不变,比方:layout-land是横屏的layout,layout-port是竖屏的layout。其它的不用管,横竖屏切换时...
2019-07-18 16:30:34 125
原创 Android 适配多种屏幕
文字和尺寸的适配我们这里需要将代码跑在一个1920*1200分辨率320dpi的平板上,发现所有的字体都变大了,看似1920*1200的分辨率比之前的1280*800要大一大圈,但是因为dpi也高,所以导致字体变大。Configuration config = getResources().getConfiguration();int smallestScreenWidth = con...
2019-07-18 13:58:28 270
转载 android ANR 定位与分析
BlockCanary是国内开发者MarkZhai开发的一套性能监控组件,它对主线程操作进行了完全透明的监控,并能输出有效的信息,帮助开发分析、定位到问题所在,迅速优化应用。其特点有:非侵入式,简单的两行就打开监控,不需要到处打点,破坏代码优雅性。 精准,输出的信息可以帮助定位到问题所在(精确到行),不需要像Logcat一样,慢慢去找。 目前包括了核心监控输出文件,以及UI显示卡顿信息...
2019-07-17 16:51:46 3450
转载 android PendingIntent使用
pendingIntent字面意义:等待的,未决定的Intent。要得到一个pendingIntent对象,使用方法类的静态方法getActivity(Context, int, Intent, int),getBroadcast(Context, int, Intent, int),getService(Context, int, Intent, int) 分别对应着Intent的3个行为...
2019-07-17 14:43:46 480
转载 功能 小视频
1. 实现camera预览功能。1.1 显示视频的自定义控件public class CameraView extends SurfaceView implements Callback { private SurfaceHolder surfaceHolder; private Camera mCamera; public CameraView(Context ...
2019-07-03 17:19:43 114
转载 android studio下 如何去掉任务栏以及显示全屏
比较详细的从新建开始(末尾有比较粗暴的使用代码的方法)1.首先建立一个新的的布局文件2.新建一个java文件,并关联之前建立的布局文件。 import android.os.Bundle; import android.support.v7.app.AppCompatActivity; public class DialogActivity e...
2019-05-30 14:55:34 1035
原创 android so库加载异常
java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_relocate(linker.cpp:992): cannot locate symbol "__libc_current_sigrtmax" referenced by "libclient-jni.so"1. 在android.mk文件中增加APP_PLATFOR...
2019-04-18 17:20:45 744
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人