Android学习笔记
文章平均质量分 67
cuiran
爱专研新技术,喜欢挑战。
展开
-
AndroidStudio NDK之使用OpenCV
目录一、前言二、OpenCV介绍三、OpenCV模块介绍四、运行环境五、准备工作六、编译所需so七、遇到的问题及其解决方法八、效果图一、前言为了将c++代码移植到Android,并且c++里面用的是opencv,那么就需要在android里面通过底层调用opencv。二、OpenCV介绍OpenCV是一个基于开源的跨平台计算机视觉库,实现了许多图像处理和计算机视觉方面的...原创 2019-03-30 14:29:45 · 3321 阅读 · 1 评论 -
【Android】Android中 Paint 字体、粗细等属性的一些设置
在Android SDK中使用Typeface类来定义字体,可以通过常用字体类型名称进行设置,如设置默认黑体:Paint mp = new paint();mp.setTypeface(Typeface.DEFAULT_BOLD)常用的字体类型名称还有: * Typeface.DEFAULT //常规字体类型 * Typeface.DEFAULT_BOLD //黑体字体类型 * Typefa转载 2016-07-01 10:40:59 · 11460 阅读 · 0 评论 -
AutoResponse - mac版之Fiddler
AutoResponse介绍在window下可以通过Fiddler做些拦截、网络延时之类操作,但是由于用的mac,去Fiddler官网看了一下 没有mac版本,那么mac下没有这样的免费工具吗?答案是当然有,它就是标题中提到的AutoResponse 点击这里 可以去github上面了解一下。这里只整理一下如何使用AutoResponse安装在终端输入gem install'auto_respons原创 2016-06-30 13:59:14 · 3384 阅读 · 0 评论 -
ANDROID : java.lang.NoSuchMethodError: 在 org.apache.commons.codec.binary.Base64
解决方法 :org.apache.commons.codec.binary.Base64类不是标准的一部分 Android Api。若要解决这一问题,可以将共同性编解码器添加到您的应用程序,或只是使用标准 Base64 类附带 Android 通过替换这些行: import org.apache.commons.codec.binary.Base64; … String retVal = Ba原创 2016-04-12 09:04:36 · 19599 阅读 · 1 评论 -
用Android Studio 运行ndk 程序
最近准备研究一下android双进程守护,由于此前用eclipse 写jni习惯了,现在主要用as 工具。在此也试着写个demo 然后在对双进程守护进行研究1、所需工具 android studio 1.4 ndk :android-ndk-r9d ….其它必备在此就不叙述2、示例介绍2.1、项目创建打开as 创建一个project 输入包名 com.cayden.jnis 在此如果原创 2016-02-27 16:15:39 · 11794 阅读 · 0 评论 -
出现make: *** No rule to make target `all'. Stop.解决办法
在mac下用eclipse开发jni 总是出现如题所示的异常,后来将build command 改成ndk-build就可以了 具体如图所示原创 2016-03-08 10:28:11 · 25949 阅读 · 0 评论 -
使用Kotlin开发Android应用
1、Kotlin介绍 [Kotlin](https://kotlinlang.org/) Kotlin是一门基于JVM的编程语言,它正成长为Android开发中用于替代Java语言的继承者。Java是世界上使用最多的编程语言之一,当其他编程语言为更加便于开发者使用而不断进化时,Java并没有像预期那样及时跟进。 Java缺失的很多特性在最新的修订版中逐渐覆盖到了,但Android开发者暂时还没原创 2016-02-17 16:55:17 · 32217 阅读 · 4 评论 -
Android插件化(使用Small框架)
Android插件化(使用Small框架)框架源码1. Create ProjectFile->New->New Project...1.1 Configure your new project假设宿主包名为com.example.mysmall设置Application name为MySmall修改Company Domain为com.example.mysmall这步是个技巧,在Step3新建原创 2016-01-21 09:16:52 · 17889 阅读 · 7 评论 -
Activity,View,Window和WindowManager之间的关系
Activity,View,Window和WindowManager之间的关系 View:最基本的UI组件,表示屏幕上的一个矩形区域。 Window: 表示一个窗口,包含一个View tree和窗口的layout 参数。View tree的root View可以通过getDecorView得到。还可以设置Window的Content View。 Activity包含一个Window,该Wind原创 2015-12-05 11:24:22 · 4322 阅读 · 1 评论 -
Android的应用(APP)启动详细流程
启动流程 为方便排版,去掉部分方法中的参数: 从Activity类的startActivity()方法开始,这个方法会调用Activity类中的public void startActivityForResult()方法 startActivityForResult()方法会调用Instrumentation类中的public ActivityResult execStartActivity(转载 2015-12-05 09:22:37 · 2338 阅读 · 0 评论 -
Android应用程序的启动流程
Android系统中一个应用程序的主题是由ActivityThread构成的。不过涉及到很多细节如ActivityThread是由谁来创建的 又是在什么时间创建?它和系统服务程序如ActivityManagerService,WindowManagerService之间又有什么联系?这些都需要做了解。通常有两种方式在系统中被启动在Launcher中点击相应的应用程序图标启动原创 2016-01-16 15:59:24 · 1690 阅读 · 2 评论 -
Android动态加载及hook资料汇总
Android Java Hookhttp://www.52pojie.cn/thread-288128-2-1.htmlhttp://www.52pojie.cn/thread-426890-1-2.htmlapk加固http://blog.csdn.net/jiangwei0910410003/article/details/48415225Android自动打包程序http://www.j原创 2016-01-16 15:46:10 · 3130 阅读 · 2 评论 -
Error:Failed to find: com.android.support:appcompat-v7:21.+
最近开始使用Android Studio 出现无法标题的错误,导致无法build 和运行 然后查看android sdk manager发现如图 需要勾上然后 点击安装即可,然后重新编译!原创 2015-07-13 14:00:21 · 10998 阅读 · 0 评论 -
badgeview 和 radiobutton结合使用导致点击无响应解决办法
如果不添加badgeview 点击是没有问题,如果添加了就点击不好使可以添加透明得button具体可以参考<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match原创 2015-04-15 21:56:37 · 9089 阅读 · 2 评论 -
使用zxing扫描二维码出现黑屏
最近在项目中遇到一个问题,使用zxing扫描二维码发现在一个设备上出现黑屏,然后通过调试定位问题给出的日志是04-22 14:51:42.492: D/(4999): Surface destroy: ANDROID_NATIVE_WINDOW_MAGIC04-22 14:51:53.862: D/LewaResources(5139): cookie name=/data/app/com.ex原创 2015-04-22 16:53:54 · 11406 阅读 · 5 评论 -
Android笔记 IntentService与Service的区别
Service 在官方API(http://developer.android.com/reference/android/app/Service.htmlhttp://developer.android.com/reference/android/app/Service.html)的描述为A Service is an application component representing eit原创 2015-02-27 12:14:01 · 13194 阅读 · 0 评论 -
获取APK文件的图标
public static Drawable getApkIcon(Context context, String apkPath) { PackageManager pm = context.getPackageManager(); PackageInfo info = pm.getPackageArchiveInfo(apkPath,原创 2016-07-06 11:19:02 · 4175 阅读 · 0 评论 -
如何正确地写出单例模式
单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。懒汉式,线程不安全当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样教我们的。public cla转载 2016-08-24 13:40:23 · 6897 阅读 · 2 评论 -
Android之基于Facenet模型比对视频中的人脸
前言继续前面 MTCNN移植安卓并检测视频中人脸 ,已经检测到人脸,那么需要对所检测的人脸和本地的人脸数据做比对,此时采用的是基于Facenet模型,它的逻辑和实现原理 可以看之前一篇文章是通过python介绍,访问 基于facenet做人脸比对介绍下面是将Facenet移植到Android上来使用1、首先新建一个Facenet类package com.cayden.face.fa...原创 2018-12-29 17:37:04 · 2051 阅读 · 0 评论 -
MTCNN移植安卓并检测视频中人脸
继续此前的文章,使用vlc播放了rtsp流媒体视频后,想检测视频中的人脸,之前采用了opencv但是遇到低头、抬头和侧脸时候,效果就不太好。所以本篇介绍如何使用mtcnn来检测视频中的人脸。大致流程:一、Tensorflow 模型固化将PNet、ONet、RNet 网络参数.npy固化成.pb格式,方便java载入, 固化后的文件在assets中,文件名mtcnn_freezed_model...原创 2018-12-28 17:57:18 · 2855 阅读 · 1 评论 -
Android——Nv21高效率转Bitmap
查找问题最近在项目中遇到将摄像头数据处理后转Bitmap的内存溢出问题,大概运行到七八个小时后,就出现了内存溢出,后来看了一下错误提示发现bitmap = BitmapFactory.decodeByteArray(stream.toByteArray(), 0, stream.size());这个地方会导致出现问题,故对此需要进行优化。优化之前首先看一下原先的处理方式private ...原创 2018-12-28 17:39:23 · 5265 阅读 · 4 评论 -
基于ML Kit 人脸识别,让可视化应用更智能
ML Kit 介绍官网地址:https://developers.google.cn/ml-kit/给移动开发者的机器学习ML Kit是一个强大易用的工具包,它将谷歌在机器学习方面的专业知识带给了普通的移动应用开发者。针对移动设备进行 了优化机器学习可以让你的应用更有吸引力,更加的个性化,并且提供了已经在移动设备优化过的解决方案。由Google专业知识构建ML Kit提供的技术已经在...原创 2018-11-29 10:39:16 · 3771 阅读 · 0 评论 -
微信小程序 蓝牙实现
微信小程序 蓝牙实现此前是通过安卓客户端实现对蓝牙设备的扫描、连接和通讯等操作,本篇主要介绍一下使用微信小程序来对蓝牙设备的操作。1.简述蓝牙适配器接口是基础库版本 1.1.0 开始支持。iOS 微信客户端 6.5.6 版本开始支持,Android 6.5.7 版本开始支持。蓝牙总共增加了18个api接口。目前不支持在开发者工具上进行调试,需要使用真机才能正常调用小程序蓝牙原创 2017-11-20 09:44:00 · 16143 阅读 · 3 评论 -
Android插件化架构设计之加载资源文件
开篇介绍现在项目比较大 资源比较多,但是若希望动态来加载资源文件,可以有以下几种方式: 1. 通过下载资源文件zip包然后解压来加载 2. 通过插件开发 本文通过插件开发来实现加载插件中的资源文件.程序演示 也可以打开链接 效果演示打开后显示2个动画,上面的动画是加载的本地动画,下面的动画是从插件里面加载的。代码介绍如图所示: 工程app作为宿主程序,plugin作为插件程序,资源文件原创 2017-03-14 22:35:19 · 2623 阅读 · 0 评论 -
Android图片缓存,三级缓存
1、实现原理 采用 内存-文件-网络 三层cache机制,选择的是LruCache图片缓存。讲到LruCache不得不提一下LinkedHashMap,因为LruCache中Lru算法的实现就是通过LinkedHashMap来实现的。LinkedHashMap继承于HashMap,它使用了一个双向链表来存储Map中的Entry顺序关系,这种顺序有两种,一种是LRU顺序,一种是插入顺序,这原创 2017-03-07 13:41:21 · 642 阅读 · 0 评论 -
Android开机过程
BootLoder引导,然后加载Linux内核.0号进程init启动.加载init.rc配置文件,配置文件有个命令启动了zygote进程zygote开始fork出SystemServer进程SystemServer加载各种JNI库,然后init1,init2方法,init2方法中开启了新线程ServerThread.在SystemServer中会创建一个socket客户端,后续AMS(Activi原创 2017-03-06 14:13:13 · 548 阅读 · 0 评论 -
Android对APK重新签名并对齐
在用了第三方的加固平台后,生产的apk需要用我们自己的keystore进行重新签名可以通过jarsigner -verbose -keystore linzihui.jks -signedjar app-release.apk app-release.encrypted.apk xxx然后需要对齐可以先检查是否对齐 检查对齐:zipalign -c -v 4 application.apk。然后进原创 2017-02-16 17:41:43 · 3737 阅读 · 0 评论 -
第一篇、vlc-android之开篇介绍
转载请注明出处:原创 2014-06-11 14:57:51 · 23342 阅读 · 13 评论 -
Mac上搭建React Native Android开发环境并运行
react-native目前是越来越火,很多人都开始接触,环境搭建就显得比较重要,具体方法可以看一下这两篇文章 1、mac上搭建步骤 2、Mac OSX 安装nvm(node.js版本管理器)在执行命令 需要使用vpn,才能安装成功,国内网络受限。nvm install node最后执行命令npm install -g react-native-cli执行命令 可以创建工程 这个过程是比较慢re原创 2016-10-17 11:56:24 · 3063 阅读 · 2 评论 -
Android侧滑菜单DrawerLayout的使用
现在侧滑菜单使用很多,大都是通过SlidingMenu实现。现在也可以通过DrawerLayout创建抽屉布局frament_content.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:原创 2015-01-03 18:39:52 · 24816 阅读 · 7 评论 -
IPC机制之Binder连接池
AIDL典型的使用流程首先是创建一个Service和一个AIDL接口,接着创建一个类继承自AIDL接口中的Stub 并实现Stub中的抽象方法,在Service的onBind方法返回这个类的对象,然后客户端就可以绑定服务端的Service,建立连接之后可以访问远程服务端的方法.Binder连接池但是如果公司的项目越来越大,有很多个业务模块需要使用AIDL来进行进程间通信,如果按照之前的就需要创建多个原创 2016-09-19 11:51:34 · 730 阅读 · 0 评论 -
VirtualApp出现无法编译问题整理
最近看到github上出现了VirtualApp 看了作者的介绍感觉很不错,然后就clone下来编译并研究一下,但是编译过程出现了如下错误提示,看着有些头疼 由于VirtualApp是需要将提供的android.jar和sdk里面的jar替换 这里就省略….编译错误提示1: Task failed with an exception.-----------* What went wrong:原创 2016-08-25 15:37:49 · 5533 阅读 · 0 评论 -
解决在6.0系统出现java.lang.InternalError
在开发项目的时候出现了如图所示的异常,解决办法 需要在混淆地方添加代码#解决在6.0系统出现java.lang.InternalError-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* { long producerIndex; long consumerIndex;}-keepclassm原创 2016-08-12 16:23:22 · 11674 阅读 · 3 评论 -
Android中的AlarmManager的使用
1、AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,在特定的时刻为我们广播一个指定的Intent。简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Intent,通常我们使用 PendingIntent,PendingIntent可以理解为Intent的封装包,简单的说就是在Intent上在加个指定的原创 2015-02-27 15:23:53 · 3638 阅读 · 0 评论 -
Android读取/dev/graphics/fb0 屏幕截图
Android屏幕截图有很多方式这里原创 2014-09-23 09:50:02 · 19986 阅读 · 35 评论 -
android ndk编译项目(android-ndk-16r1)
由于采用android-ndk-16r1版本的ndk来编译编译的环境之类在这里省略,注意是最后编译的命令如下Administrator@WIN-AF6P80LVIJ0 ~$ cd $ANDROID_NDK_ROOTAdministrator@WIN-AF6P80LVIJ0 /cygdrive/d/android-ndk-tools/android-ndk-16r1$ cd appsAd原创 2014-02-20 15:23:55 · 2977 阅读 · 0 评论 -
linux下播放组播流出现setsockopt:No such device错误
在linux下播放组播流出现setsockopt:No such device错误是因为多播IP没有add路由表里面可以采用如下命令完成:root@android:/ # busybox route add -net 239.1.1.0 netmask 239.1.1.0 dev eth0busybox route add -net 239.1.1.0 netmask 239.1.1.0 dev原创 2014-01-21 14:58:00 · 9902 阅读 · 0 评论 -
android TextView 垂直自动滚动字幕实现
参考网上一些做法然后进行了修改,首先继承TextView/** * VerticalScrollTextView.java * 版权所有(C) 2013 * 创建者:cuiran 2013-12-9 下午2:48:55 */package com.cayden.videodemo.view;import java.util.ArrayList;import java.util.Li原创 2013-12-09 17:06:06 · 13085 阅读 · 2 评论 -
Android使用统计图AChartEngine 来展示数据
本文采用的统计图参考:AChartEngine 访问地址 :http://code.google.com/p/achartengine/先给出效果图本文的开发代码主要是这些:对一些代码进行修改以下文件是直接使用官方下载后这些主要是对文件【WeightTimeChart.java】做了修改/** * WeightTimeChart.java * 版权所有(C) 2013 * 创建:cuir原创 2013-10-24 17:54:19 · 8738 阅读 · 9 评论 -
android的左右侧滑菜单实现
最近看了很多app应用都采用的是左右侧滑,比如网易新闻、凡客等这里也试着写一下侧滑首先看一下效果 然后给出xml布局代码<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:原创 2013-09-24 14:04:29 · 12962 阅读 · 2 评论