
android
文章平均质量分 86
NN955
这个作者很懒,什么都没留下…
展开
-
Android studio 3.5 使用cmake编译Lame3.100库so
因为Android录音不支持MP3,所以要用到音频转码。lame是一个比较有名的开源音频库 是用C语言写的。使用AndroidStudio编译步骤如下:1.第一步搭建NDK开发环境Android studio配置里 Android SDK 选项下的。 SDK Tools 选择LLB NDK CMake 3个并下载 ...原创 2019-12-22 12:27:59 · 1303 阅读 · 1 评论 -
android新特性页面,ViewPager拖拽到最后一页再拖拽打开其他Activity
android新特性页面,ViewPager拖拽到最后一页再拖拽打开其他Activity.实现的方式有很多 效果比较好的就是到了最后一页再拖拽出现禁止蓝色条时再跳转activity方式一:拿到ViewPager的边界条EdgeEffectCompat,判断是否到了边界(获取EdgeEffectCompat通过反射,方法来自网络最后边会给出原文)/** * 初始化view *转载 2015-05-29 20:51:08 · 10157 阅读 · 5 评论 -
android 之EditText长按屏蔽ActionMode context菜单但保留选择工具功能
最近项目要求屏蔽EditText 长按出来的ActionMode菜单,但是要保留选择文本功能。这个屏蔽百度会出现各种方法,这里说一下我的思路:1.屏蔽百度可知setCustomSelectionActionModeCallback即可,editTextExt.setCustomSelectionActionModeCallback(new Callback() { @Ov原创 2015-06-02 18:22:46 · 13148 阅读 · 3 评论 -
毫秒转,天 时 分 秒等单位,需要啥就拿啥
原文地址:http://blog.youkuaiyun.com/fuxiaohui/article/details/25505823/** 毫秒转化*/public static String formatTime(long ms) { int ss = 1000; int mi = ss * 60;转载 2015-06-03 19:26:48 · 1654 阅读 · 0 评论 -
android视频缓冲进度条SeekBar有断断续续的间断效果
最近要弄个播放器,但是SeekBar没有断断续续的效果都是连续的进度。查了点资料自己重写一个,主要原理是利用Region不断的求并集 实现断断续续的效果:1.继承SeekBar自定义类中重写onDraw(Canvas canvas)方法 绘制进度条protected synchronized void onDraw(Canvas canvas) { if(progr原创 2015-09-02 11:52:14 · 5568 阅读 · 0 评论 -
android根据packagename激活后台程序到前台/打开程序(与在luancher中点击应用图标效果相同)
废话不说,留着自己以后查找方便,要实现在lunancher中的点击效果,(程序后台就激活到前台,而不是启动某一个activity新实例)关键是设置intent的flag,intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK原创 2015-09-11 09:19:20 · 2850 阅读 · 0 评论 -
Android 判断一个点是否在封闭的Path内或不规则的图形内
最近在写画板程序,要判断一个点在一个闭合的path内或者是一个不规则的图形内,这个可不好解决网上查了一堆有算法云云的,直到看到一个大神的帖子 其实可以相当的简单几句话的是 核心代码://------关键部分 判断点是否在 一个闭合的path内--------// if(event.getAction()==MotionEvent.ACTION_DOWN){转载 2015-11-11 17:47:54 · 10313 阅读 · 5 评论 -
自动生成Android屏幕适配的dimens.xml文件工具类
自动生成dimens.xml文件方式 优势:在默认values下调一种分辨率的dimens.xml文件 然后利用工具自动生成其他分辨率下的dimens.xml文件(就是整体放大或缩小多少倍) 可以快速粗略的做到适配多分辨率 至于我天朝的特殊分辨率那就只能慢慢人工调了 总体来说这种方式可以提高效率,可以在小项目中尝试一下!工具类代码,直接运行即可,(如果提示 Invalid la转载 2016-01-15 17:16:13 · 6167 阅读 · 0 评论 -
WebView加载图片超过屏幕大小,css控制图片大小
这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识、前端、后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过!使用WebView加载一个网页,很可能会出现横向的滚动条,让界面看起来很不方便,就像打开了一个为电脑设计的网页,尽管这个网页本身只有一个div。我发现绝大多数情况下是因为图片大小超过屏幕所引起的,因为文字是会自动换转载 2016-07-21 18:23:09 · 2040 阅读 · 0 评论 -
android WebView设置最大高度
当我们在dialog中嵌入webview来显示网页信息时,如果网页内容足够长,则会出现dialog高度被撑满屏,但是介于美观问题,我们会试图动态设置webview的最大高度,可是遗憾的是,谷歌并没有给我们提供这个方法,聪明人想出了聪明的办法,具体请看下面代码:public class MyWebView extends WebView { private int mMaxHeight = -转载 2016-08-01 17:12:49 · 6432 阅读 · 1 评论 -
Android消息机制原理,仿写Handler Looper源码跨线程通信原理--之仿写Looper(三)
前篇总结:上一篇实现了主线程和子线程之间的通信,但是在么个线程都手动加个消息队列和消息循环的方式太强硬不够灵活这一篇我们针对前篇的问题,使用Looper类来管理消息队列和消息循环,来解决。第三节 使用Looper类来管理消息队列和消息循环 把上一篇中每个线程里的消息队列和消息循环方法都放在Looper类中简单封装一下,这样每个线程如果要线程间通信只要实例化一个Looper对象调用loo...原创 2018-08-14 15:20:38 · 468 阅读 · 0 评论 -
Android消息机制原理,仿写Handler Looper源码跨线程通信原理--之线程间通信原理(一)
前言:我们都知道Android的线程通信是用Handler、Looper机制实现的,面试也经常问道,网上也有很多文章介绍源码但是可能很多小白只是机械是的记忆,回答不清楚原理究竟是怎么回事。下边我将一步一步仿写一个Handler、Looper模拟Android的线程间通信,很简单一看就懂。第一节 线程间通信原理 所谓的通信无非就是把“你”和“我”的消息传达到对方,方式很多种发信息...原创 2018-08-12 23:44:16 · 467 阅读 · 1 评论 -
Android消息机制原理,仿写Handler Looper源码解析跨线程通信原理--之仿写模拟Handler(四)
前篇总结:上一篇实现了用Looper管理消息队列和消息循环,但是消息的发送和消息处理都是在Looper中进行的。写一个子线程使用这样的Looper怎么才能获取到loop()死循环消息队列取出的消息呢?用回调!callBack!第四节 仿写Handler来发送消息,实现回调接口,处理消息Handler类的功能很简单:1.就是发送消息到本线程(Handler和Looper在同一个线程)的Loo...原创 2018-08-15 17:28:41 · 452 阅读 · 0 评论 -
Android消息机制原理,仿写Handler Looper源码跨线程通信原理--之主线程子线程通信(二)
前篇总结:上一篇说明了线程通信原理,这一篇我们模拟Android的主线程子线程通信同时解决上篇提到的多个线程访问全局一个公有的消息队列引起的加锁同步问题,不安全问题。第二节 主线程子线程通信 在每个子线程中都加个消息队列,首先实现主线程和子线程通信:public class TestThreadMsg2 { static class Thread1 exten...原创 2018-08-13 09:52:33 · 359 阅读 · 0 评论 -
Android activity与service中的子线程 (入门级)
1.首先 android 一个程序中 的activity 都是一个线程,service和activity也是一个线程2.在activity 中启动一个子线程,当前activity finish destroy掉 子线也会运行的。3.在service里的线程 与activity很类似 service即使停止了 线程也在运行(要先停止服务 再把最近使用的进程杀掉 线程会停止 ,如果直接杀掉进原创 2015-03-05 12:01:08 · 3015 阅读 · 0 评论 -
android/java 主线程catch子线抛出的异常
做Android项目的时候发现调用 SUP原创 2014-07-11 18:09:18 · 4248 阅读 · 0 评论 -
android 写行为日志到SD卡 并发处理 异步写入数据到文件不影响界面响应时间
android 写行为日志到SD卡原创 2014-05-31 20:14:31 · 6188 阅读 · 1 评论 -
E_MemoryInfo 内存插件widget
E_MemoryInfo 内存插件widget 内存小插件很简单 表盘指针形式,右下角显示可用内存 指针显示当前内存使用比例。一个widget开发首先是配置一个widget和一个service用来更新widget内容AndroidManifest.xml配置文件中添加 <receiver android:label="@string/原创 2012-12-25 11:48:14 · 1576 阅读 · 0 评论 -
Android 软件行为监控系统 的原理 主要是利用binder机制原理添加一个filter
软件行为监控系统简介定位软件的恶意行为,一般是通过动态和静态两个方面来入手。静态分析即分析软件的汇编代码和java 字节码并定位其恶意代码。动态分析是直接运行软件并通过监控系统捕捉其行为,与静态分析的结果相印证,这种方式能有效确认应用软件的行为。软件行为监控系统主要用于动态分析阶段,可全面监控手机上的敏感行为并实时记录到监控日志中。Android 平台软件行为监控系统设计And转载 2013-08-03 11:30:59 · 2586 阅读 · 0 评论 -
2013-8-22 android开发问题
1.json与java对象互转, Gson gson = new Gson(); String json = gson.toJson(java对象); JSONObject docInfo = new JSONObject(json); jsonArray.put(i, docInfo);String tempDoc="json串 数组"Gson g原创 2013-08-22 14:21:01 · 1096 阅读 · 0 评论 -
android 之HTTPS安全访问
1.浏览器访问https地址,保存提示的证书到本地,放到android项目中的assets目录。2.导入证书,代码如下。3.把证书添加为信任。String requestHTTPSPage(String mUrl) { InputStream ins = null; String result = ""; try { ins = context.get转载 2013-10-12 19:10:17 · 3843 阅读 · 3 评论 -
android 解决输入法键盘遮盖布局问题
这里采用滚动布局来解决输入法遮盖布局的问题,方法如下: /** * @param root 最外层布局,需要调整的布局 * @param scrollToView 被键盘遮挡的scrollToView,滚动root,使scrollToView在root可视区域的底部 */ private void controlKeyboardLayout(转载 2013-12-31 16:59:21 · 11154 阅读 · 2 评论 -
android 之ProgressDialog进度条 显示 单位(kb)
最近项目要求下载进度提示对话框 要有单位 KB,通过查看源码 发现android框架是提供了 这样的方法的 setProgressNumberFormat()但是这个方法 貌似对版本无效比如2.3 具体代码如下downloadDialog = new ProgressDialog(ctx); // downloadDialog.setIcon(R.drawable原创 2013-12-18 15:23:15 · 13711 阅读 · 1 评论 -
ADT eclipse maven plugin 插件 安装 和 配置
开发手机端用ADT集成好的环境,但是有时候也需要接触后台 ADT默认没有maven插件 经过一番查找 找到这篇文章解决问题 maven3 安装: 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成。Maven是 Apache 下的一个项目,目前最新版本是 3.0.4,我用的也是这个。 首先去官网下载 Maven:http://www.apache.or转载 2014-02-12 15:09:04 · 8835 阅读 · 2 评论 -
android webview 输入法软键盘遮挡输入框实现(界面自动上滑并可滑动)
首先在要滑动的activity中(输入法弹出时)设置getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);关于输入法遮挡软键原创 2014-03-10 18:29:08 · 22306 阅读 · 4 评论 -
防止viewpager和子view滑动冲突(ScrollView嵌套webview,Listview嵌套Listview 滑动事件冲突)
做项目总有那么些操蛋的需求 (界面上含有webview 和输入框等 要求输入法弹起时整个界面能滑动,同时webview也能滑动)输入法弹出 界面滑动可以在布局最外边添加ScrollView来实现 (activity中添加 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |转载 2014-04-04 11:01:36 · 15274 阅读 · 2 评论 -
解决ScrollView或者listview嵌套ViewPager 时候 Pager左右滑动不流畅
pager.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { v.getParent().requestDisallowInterceptTouchEvent(true);转载 2014-06-24 18:13:14 · 4911 阅读 · 0 评论 -
android ViewPager实现 跑马灯切换图片+多种切换动画
android 跑马灯效果的图片展示原创 2014-06-08 12:21:48 · 6619 阅读 · 0 评论 -
andrid 读取log代码实现
首先是权限原创 2014-05-25 21:14:33 · 1070 阅读 · 0 评论 -
java/android 统计文件夹大小及删除文件夹下所有文件和路径
经过网络搜索,整理 如下方法是可用的 java/android 统计文件夹大小及删除文件夹下所有文件和路径原创 2014-07-01 10:04:32 · 13587 阅读 · 3 评论 -
android动态壁纸--美女报时
主要功能就是: 每分钟更换一张背景图片达到报时的功能,提前30S准备壁纸 每到一分钟时画图。本打算用多线程实现但是貌似多线程调度出现了点问题,所以改用单线程实现(因为这个壁纸程序比较简单只是每分钟更换一下壁纸没有其他特效单线程实现应该问题不大)1.首先壁纸程序配置 AndroidManifest.xml功能:告诉系统设置壁纸时启动的service 和壁纸程序settingActivi原创 2012-11-29 10:29:09 · 2078 阅读 · 1 评论