android
lmjssjj
这个作者很懒,什么都没留下…
展开
-
Android managed configurations(设置受管理的配置)
针对企业市场开发应用,则可能需要满足组织政策设置的特定要求。 托管配置(以前称为“应用限制”)允许组织的 IT 管理员远程为应用指定设置。此功能对于部署到工作资料的经组织批准的应用来说特别有用。原创 2023-10-26 14:52:03 · 330 阅读 · 0 评论 -
android-support-v4
android support v4 26.0.0-alpha1分包下载地址support-annotations-26.0.0-alpha1.jarhttp://download.csdn.net/detail/lmjssjj/9903787android-support-v4-26.0.0-alpha1.jarhttp://download.csdn.net/detail/lmjssjj/990原创 2017-07-20 10:18:49 · 905 阅读 · 2 评论 -
android protobuf
由于总忘记 所以作为笔记 ####Protocol Buffer是谷歌开源的一种序列化和反序列化机制,类似于XML,JSON 解析,但是Protocol Buffer 更灵活、更高效、更简单。 protobuf 的github 地址: https://github.com/google/protobuf https://github.com/google/protobuf/releases原创 2017-07-18 22:37:10 · 612 阅读 · 0 评论 -
android 单双层桌面切换
桌面单双层切换原创 2017-05-31 11:09:15 · 2299 阅读 · 1 评论 -
android 反编译Dex2jar
dex2jar 源码及编译1、get sourceby Mercurial hg clone -b 2.x http://hg.code.sf.net/p/dex2jar/code dex2jar-2.x by Git git clone -b 2.x https://github.com/pxb1988/dex2jar.git dex2jar-2.x2、build the projectby原创 2017-07-07 23:31:12 · 428 阅读 · 0 评论 -
Android中adjustResize失效的解决办法之一
今天帮助哥们解决了一个比较蛋疼的问题,就是在有的情况下会出现设置activity的windowSoftInputMode=”adjustResize”时,会失效的情况。历尽千辛万苦,终于在stackflow上找到解决方法。在activity的根布局上添加fitsSystemWindows=”true”.然后adjustResize就可以成功的起作用了。但是在这种情况下,你的titlebar会下移st转载 2017-06-27 11:26:08 · 1071 阅读 · 0 评论 -
android LiveData
LiveData是数据holder类,并支持数据可被监听(观察)。和传统的观察者模式中的被观察者不一样,LiveData是一个生命周期感知组件,因此观察者可以指定某一个LifeCycle给LiveData,并对数据进行监听。如果观察者的生命周期处于STARTED or RESUMED状态,LiveData认为观察者处于活动状态。public class LocationLiveData extend翻译 2017-05-24 11:10:12 · 2829 阅读 · 0 评论 -
android ViewPager 指示器 PageIndicator
一款 google写的 ViewPager 指示器 PageIndicator原创 2017-06-02 15:21:51 · 1452 阅读 · 1 评论 -
android SharedPreferences 存储异常
最近遇到 SharedPreferences 存储出现了异常 在此做下记录;最近项目使用了 SharedPreferences 保存标志位时 明明已经把 key 值已经remove掉 ,但是 当读取时还是读到了 最开始存储的值;最后发现 原来有一个Activity自已运行在独立的进程中而且使用SharedPreferences 同一个文件保存数据,导致了 在其他地方删除了key 又被 保存原创 2017-06-05 17:13:52 · 922 阅读 · 0 评论 -
android launcher 改成单层桌面
合并数据到桌面在LauncherModel中 我们为桌面加载数据 并绑定数据 ; 所涉及逻辑都在LauncherModel.java 中的 方法 loadAndBindWorkspace();实现 所以合并数据到桌面处理将会在 LauncherModel.java 之中进行在launcher第一次加载数据时,会通过一个xml 文件 加载 桌面的默认布局并将其 存储到数据库中,而后再从数据库加载原创 2017-06-06 17:47:54 · 1670 阅读 · 0 评论 -
将android导入到eclipse
可以将android源码导入到eclipse便于搜索,查找代码1.将eclipse project->build automatically 关闭(去勾选)2.将eclipse所在目录下 eclipse.ini的–launcher.XXMaxPermSize 512M–launcher.XXMaxPermSize 256m-Xms128m -Xmx512m 内存改大一个数量级就可以了3.将源码目录原创 2017-05-16 19:48:45 · 464 阅读 · 0 评论 -
Android 7.0上获取不到系统布局方向
最近一个项目适配到android 7.0 上时 在切换语言为阿拉伯语时布局没有自动转为当地方向,而在android 6.0 上是正常的; 使用获取布局方向的方法如下:public static final boolean ATLEAST_JB_MR1 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1; @TargetA原创 2017-04-14 15:26:19 · 835 阅读 · 0 评论 -
Android 获取当用用户
UserHandle user = android.os.Process.myUserHandle();UserManager mUserManager = (UserManager)getSystemService(Context.USER_SERVICE);long serialNumber1 = mUserManager.getSerialNumberForUser(user); Log原创 2017-04-10 10:19:16 · 870 阅读 · 0 评论 -
android 添加触摸反馈
android 添加触摸反馈以通过 [设置]->[声音]->[触感反馈]选项开启所有view的触感反馈选项。 在java代码中可以通过performHapticFeedBack方法来执行触感反馈的效果。tv.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS,HapticFeedbackConstants.FLAG_IGNORE_GLO原创 2016-12-22 22:18:45 · 1452 阅读 · 0 评论 -
android 字符串截取
字符串截取/** * 文件名称长度截取 * * @param fileName * @param textView * @param size * @return */ public static CharSequence getEllipsizeEnd(String fileName, TextView textView, int size) { i原创 2016-12-22 22:06:16 · 697 阅读 · 0 评论 -
Android aidl 详解
AIDL是Android Interface Definition Language (AIDL)的缩写, Android接口定义语言。android系统中的进程之间不能共享内存,所以,一个进程不能正常的访问另一个进程的内存。为使应用程序之间能够彼此通信,AIDL 就是android提供一些机制在不同进程之间进行数据通信Interprocess communication (IPC)。接下来开始实现原创 2017-01-22 12:52:24 · 449 阅读 · 0 评论 -
android 时区时间转换
时区时间转换 public static long changeZoneTime() { Date date=new Date(); Date dateTmp = null; //旧的就是当前的时区,新的就是目标的时区 TimeZone oldZone=TimeZone.getDefault(); TimeZone ne原创 2016-12-22 22:00:56 · 2109 阅读 · 0 评论 -
android 获取电量
要获取手机的电量 我们可以从Android 电源配置文件( platform/frameworks/base/core/res/res/xml/power_profile.xml)读取电池电量,此文件是由设备制造商写入的 。 此文件Android对应的类为com.android.internal.os.PowerProfile.java 我们可以通过反射来获取: public double ...原创 2018-08-14 11:11:29 · 2344 阅读 · 1 评论 -
android Fingerprint 验证
最近一个需求是要验证指纹传感器的可用性(在没有录入指纹时也能验证),所以考虑通过录入指纹来验证传感器的可用性;做个代码的记录方便以后可用。判断设备是否支持指纹@RequiresApi(api = Build.VERSION_CODES.M) public static FingerprintManager getFingerprintManagerOrNull() { ...原创 2018-07-19 11:50:27 · 1856 阅读 · 1 评论 -
Android 定制Google SetupWizard
Android 定制Google SetupWizardgoogle setupwizard(开机向导) 是可以定制,我们可以替换掉里面的页面,也可以新添加页面,也可以修改原有页面的部分资源。修改方法有两种:1.利用Runntime Resource Overlay(RRO)机制来替换setupwizard里面的资源 2.实现指定的BroadcastReceiver,新增页面也...原创 2018-04-27 11:18:10 · 8074 阅读 · 4 评论 -
OpenGL ES 光照(一)
Opengl es 基本光照Opengl es 中将光照分成了3种组成元素(3个通道),环境光、散射光以及镜面光。 环境光(Ambient): 物体周围的光线,从四面八方照射到物体上,全方位360度都是均匀的光,不依赖于光源位置,而且没有方向性。环境光不但入射均匀,反射各向也均匀。数学模型公式:环境光照射结果 = 材质的反射系数 × 环境光强度顶点着色器#version 300 esun原创 2017-11-17 14:50:48 · 506 阅读 · 0 评论 -
OpenGL ES 光照(三)
镜面光(Specular):当光滑物体表面被照射时会有方向很集中的反射光镜面光的最终强度依赖于入射光、观察者的位置镜面光的计算模型比前面的两种光都要复杂一些,具体公式如下。镜面光照射结果=材质的反射系数×镜面光强度×max(0,(cos(半向量与法向量的夹角)) ^粗糙度)实际开发中往往分两步进行计算,此时公式被拆解为如下情况。镜面光最终强度=镜面光强度×max(0,(cos(半向量与法向量的夹原创 2017-11-17 15:27:18 · 333 阅读 · 0 评论 -
OpenGL ES 光照(二)
散射光(Diffuse):从物体表面向全方位360度均匀反射的光,反射后的散射光在各个方向是均匀的,但反射光的反射强度与入射光的强度以及入射角度密切相关。垂直地照射到物体表面时比斜照时要亮。散射光具体计算公式:其中设光照入射角为α. 散射光照射结果=材质的反射系数×散射光强度×max(cosα,0)实际开发分两步计算散射光最终强度=散射光强度×max(cosα,0)散射光照射结果=材质的反射原创 2017-11-17 15:18:22 · 358 阅读 · 0 评论 -
OpenGL ES 纹理压缩之ETC (二)
前面介绍了OpenGL ES2.0 支持的压缩ETC1;下面我们来学习一下ETC2。从opengl es3.0 开始支持ETC2纹理压缩,而这种压缩可以支持透明通道。下面看如何使用加载pkm文件public static byte[] loadDataFromAssets(String fname, Resources r){ byte[] data=null; In原创 2017-11-13 16:40:42 · 7086 阅读 · 0 评论 -
OpenGL ES 纹理压缩之ETC (一)
纹理压缩之ETC首先来看看一张512像素X 512像素的图片占用的内存大小 512像素X 512像素的纹理图片所占用的内存大小为:512 X 512 X 4(一个像素4个字节) / 1024KB = 1MB一张512 X 512 (像素)图片在内存将占用了1M 内存所谓纹理压缩是指将应用开发中的一些纹理图片资源(可png、jpe等) 采用特定工具转为特殊的压缩纹理格式,在应用运行时,直接将压缩格原创 2017-11-13 15:49:50 · 4128 阅读 · 1 评论 -
OpengGL ES 背面剪裁和卷绕
背面剪裁和卷绕所谓背面剪裁是指渲染管线(道)在对构成立体物体的三角形图元进行绘制时,仅当摄像机观察点位于三角形正面的情况下才绘制三角形;若观察点位于背面则不进行绘制。(看不到的不进行绘制) 优点:打开背面剪裁后,在大部分情况下可以提高渲染效率,去除大量不必要的渲染工作。OpenGL ES中规定当摄像机观察一个三角形面时,若三角形中的3个顶点的卷绕顺序是逆时针则摄像机观察其正面,反之摄像机观察其反面原创 2017-11-13 15:28:51 · 666 阅读 · 0 评论 -
Android launcher3 循环桌面
最近接了个需求,要在现有的桌面上加上循环桌面的功能,刚开始也是一头雾水,所以静下心来把PagedView.java 绘制看了一遍,然后又找一些资料;主要有以下几个修改点: 以下以android 7.1.1 的 launcher3代码为例 其它版本都一样 先看下效果: 1、scrollTo方法 里面对滑动超过当前页数的前一页和后一页做了处理(绘制了超出效果) @Override publ原创 2017-05-03 15:08:29 · 2660 阅读 · 4 评论 -
android 触摸事件传递(一)
android 触摸事件传递原创 2017-09-05 10:59:32 · 252 阅读 · 0 评论 -
Android ripple 波纹超出边界和波纹有边界一起出现
最近调按键效果时出现了当给ImageView设置了自定义颜色波纹超出边界时在抬起时波纹有边界也出现;在此做下记录:<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="#33000000" /> <I原创 2017-09-25 14:52:25 · 1091 阅读 · 0 评论 -
HorizontalScrollView 初始化第一次时使用smoothScrollTo无效的解决办法
最近使用HorizontalScrollView 来封装水平滚动布局时 在初始化后第一次调用smoothScrollTo时 没有发生滚动 通过post时发现可行 在此做为笔记post(new Runnable() { @Override public void run() { smoothScrollTo(f, 0); } });原创 2017-07-20 10:27:29 · 949 阅读 · 1 评论 -
android 颜色叠加
颜色叠加/**lmjssjj:add*/ public static int creatANewColor(int color, int overlayColor, int alpha) { int r = Color.red(color); int g = Color.green(color); int b = Color.blue(color原创 2016-12-22 21:53:46 · 3043 阅读 · 0 评论 -
android 判断触摸位置是否在某区域内
判断触摸位置是否在某区域内 private boolean isActionDownEventArea(MotionEvent event) { // 矩形区域是滑动块响应区域,根据需要修改 mRect = new Rect(0, DensityUtils.dp2px(this, 265), DensityUtils.dp2px(原创 2016-12-22 21:40:12 · 1899 阅读 · 0 评论 -
android 获取当前运行进程的名称
获取当前运行进程的名称public static String getProcessName(Context cxt, int pid) { ActivityManager am = (ActivityManager) cxt.getSystemService(Context.ACTIVITY_SERVICE); List<RunningAppProcessInfo> run转载 2016-12-22 21:32:25 · 5587 阅读 · 0 评论 -
android 时间时区设置
android 时间设置android 设置时间就需要系统权限的androidmanifest 添加设置时间与时区权限<uses-permission android:name="android.permission.SET_TIME" /><uses-permission android:name="android.permission.SET_TIME_ZONE" />时间设置((AlarmM原创 2016-04-25 23:28:03 · 1114 阅读 · 0 评论 -
Android 自带下拉刷新SwipeRefreshLayout
先看下效果: 这种效果是support V4 包19~21之前的效果而V4包21之后的样式如下图:接下来看下怎么用:public class SwipeRefreshLayout extends ViewGroupSwipeRefreshLayout它是继承了ViewGroup 所以我们想要使用它时,只须做为它的子view 如下:<android.support.v4.widget.SwipeR原创 2016-03-15 15:01:36 · 697 阅读 · 0 评论 -
Android ImageReader使用
Android ImageReader使用ImageReader类允许应用程序直接访问呈现表面的图像数据 创建ImageReader对像ImageReader ir = ImageReader.newInstance(int width, int height, int format, int maxImages);参数默认图像的宽度像素默认图像的高度像素图像的格式用户想要读图像的最大数量翻译 2016-03-08 14:34:47 · 12351 阅读 · 2 评论 -
android中加载大图片到内存中
我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。我们可以通过下面的代码看原创 2015-07-17 20:21:10 · 613 阅读 · 0 评论 -
android 访问网络三 (基于httpclient)
利用httpclient来模拟用户登录public class MainActivity extends Activity { //定义处理成功 protected static final int SUCEESS = 0; //反回错误的响应状态码时的错误 protected static final int ERROR = 1; //网络错误时 protected static f原创 2015-05-31 00:04:23 · 335 阅读 · 0 评论 -
android 访问网络四 (基于android-async-http-master)
使用开源框架android-async-http-master 来实现模拟用户登录选准备android-async-http-master 可以在https://github.com/loopj/android-async-http下载并将里面的android-async-http-master\library\src\main\java下面的包拷到自已工程里面开源的力量将在下面体现原创 2015-05-31 00:12:59 · 379 阅读 · 0 评论 -
android 访问网络二 (基于httpurlconnection post)
1、网络请求中,post方式请求的参数是在请求体中带给服务器端的 并且需要设置内容与长度的头信息下面一个简单登录示例: String path = "http://192.168.1.96:8080/Loginfromphone/login"; URL url = new URL(path); HttpURLConnection conn原创 2015-05-30 23:55:00 · 319 阅读 · 0 评论