- 博客(171)
- 资源 (3)
- 收藏
- 关注
转载 Parcel_进程间数据传递
Parcel,即打包。为什么需要打包呢?是为了序列化。如果要在进程之间传递一个整数,很简单,直接传就行了;如果要传一个字符串,就稍微复杂了点:需先分配一块可以容纳字符串的内存,然后将字符串复制到内存中,再传递(新手可能问:为啥不直接把字符串的引用传过去呢?学过C/C++的地球人都知道:进程有自己的内存地址空间,一个进程中的1000地址可能在另一个进程中是100000,Java对象的引用跟本上还
2017-08-23 20:12:14
952
转载 【Linux】readv与writev
readv和writev函数是Linux中的两个系统调用,类似于read和write函数,不同的是,readv和writev在一次执行过程中可以原子地作用于多个缓冲区,这些缓冲区常常是非连续的。readv和writev的原型如下:#include ssize_t readv(int fd, const struct iovec *iov, int iovcnt);ssize_t write
2017-08-22 11:14:37
1010
转载 Android 中 C++ Thread线程用法
1、Android把线程C++封装Thread类,它是线程的基类 2、使用Thread时,创建一个类继承于Thread类,实现threadLoop()方法是纯虚函数,在子类中实现 3、启动线程,调用run()函数class Thread : virtual public RefBase//RefBase封装sp、wp智能指针{public:
2017-08-14 19:50:53
1999
转载 App添加Selinux权限问题
一、android 5.x开始,引入了非常严格的selinux权限管理机制,我们经常会遇到因为selinux权限问题造成的各种avc denied困扰。 本文结合具体案例,讲解如何根据log来快速解决90%的权限问题。遇到权限问题,在logcat或者kernel的log中一定会打印avc denied提示缺少什么权限,Command:cat /proc/kmsg | gre
2017-08-03 16:20:54
6941
1
转载 为Android添加开机启动脚本
本文介绍了一种在Android 4.2.2源码中添加、修改文件或者代码,来达到使android在启动时,执行位于/system/etc/目录下的shell脚本文件的方法。 由于平台不同,可能细节上多有差异,但是大体方式应该是相同的。最近在做项目的过程中,遇到了这么一个需求,需要在Android(4.2.2)启动时候执行以下命令,命令的具体含义不再解释:moun
2017-07-31 14:47:59
1483
1
转载 Android init.rc如何启动service去执行sh脚本
在Android开发中经常会遇到,在应用层想去执行一个脚本来完成某些底层相关的操作,但在应用层又没有root权限。所以,老大给出一种方法完美解决此问题,又把上层和底层进行了隔离,非常好的策略。1、在需要执行脚本的时候,应用层去设置一个property,在init.rc中去监测此property的值,当监测到此property的值符合要求时,去start service,来执行我们的
2017-07-29 19:01:10
2302
转载 Android WifiManager.WifiLock 简介
经过查看网上的资料,知道在手机屏幕关闭之后,并且其他的应用程序没有在使用wifi的时候,系统大概在两分钟之后,会关闭wifi,使得wifi处于睡眠状态。这样的做法,有利于电源能量的节省和延长电池寿命等。Android为wifi提供了一种叫WifiLock的锁,能够阻止wifi进入睡眠状态,使wifi一直处于活跃状态。这种锁,在下载一个较大的文件的时候,比较适合使用。WifiLock
2017-07-21 09:09:34
1143
转载 Android编译环境 - 编译Native C的helloworld模块
Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk. Android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了Android自身编译系统的很多处理,因此要真正理清楚其中的联系还比较复杂,不过这种方式的好处在于,编写一个新的Android.mk来给An
2017-07-17 10:38:13
379
转载 android之APP模块编译
一,如何把app编进系统 a.源码编译,在packages/apps目录下有安卓原生的app,以Bluetooth为例,源码根目录下有Android.mk文件: packages\apps\Bluetooth[html] view plain copyLOCAL_PATH:= $(call my-dir) include
2017-07-13 09:59:47
1378
转载 清华镜像下载Android源码
注意: 本镜像是 AOSP 镜像,Android SDK因版权原因,我们不能提供镜像服务。参考 Google 教程 https://source.android.com/source/downloading.html, 将 https://android.googlesource.com/ 全部使用 https://aosp.tuna.tsinghua.edu.cn/ 代替即可。由
2017-04-22 18:21:06
680
转载 Android framework add service
From hereAndroid系统本身提供了很多系统服务,如WindowManagerService,PowerManagerService等。下面描述一下添加一个系统服务的具体步骤。1、 撰写一个aidl文件,定义服务的接口,将在编译过程中通过aidl工具生成对应的java接口。一般系统服务的aidl文件都放在framework\base\core\java\
2017-04-19 14:11:31
805
转载 is 32-bit instead of 64-bit动态库错误分析
转载自:http://blog.youkuaiyun.com/chewbee/article/details/51973273前段时间因项目需要,需要MP3格式的录音,需要引用LAME开源库,在引用so库文件时,提示Java.lang.UnsatisfiedLinkError: dlopen failed: “liblame.so” is 32-bit instead of 64-bit错误,网上
2017-04-13 10:45:16
11461
转载 ViewPager子View滑动事件冲突解决
事件分发:public boolean dispatchTouchEvent(MotionEvent ev) Android事件以隧道方式逐层向下传递。事件首先由dispatchTouchEvent方法分发,分发逻辑如下: return true;由该dispatchTouchEvent方法消费并且停止分发。 return false;返回给父view的onTouch方法处理
2016-11-10 16:48:22
3710
转载 android中修改framework层代码后怎样操作才能看到修改后的效果?
1.下面方法适合真机:下载android源码,然后编译你修改的framwork的代码,会生成framework.jar,然后push到system/framework目录下,重启机器!ok 2,下面方法适合模拟器: (1):用unyaffs解压,你下载的sdk目录下system.img,然后替换其中的framework.jar,然后再压缩成新的system.img;然后启动模拟器就ok
2016-11-09 11:05:38
922
原创 Realm数据库的基本操作
public class BaseRealmDao { private Realm realm; public BaseRealmDao(Realm realm) { this.realm = realm; } /** * 添加(性能优于下面的saveOrUpdate()方法) * * @param object
2016-11-04 17:09:15
5501
转载 UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
这是一堂关于UML基础知识的补习课;现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了;本篇主要就以前自己一直感觉很迷糊的几种class之间的关系进行整理,让我们在真正用UML进行比如类图设计时能够更加清晰明了;以下就分别介绍这几种关系:继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己
2016-10-21 11:33:28
534
转载 viewpager中彻底性动态添加、删除Fragment
版权声明:本文为博主原创文章,未经博主允许不得转载。[java] view plain copy "font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">"white-space:pre"> viewpager嵌套fragme
2016-10-08 13:01:43
3147
转载 Android App的设计架构:MVC,MVP,MVVM与架构经验谈
和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于App的架构如何设计:我的App需要应用这些设计架构吗?MVC,MVP等架构讲的是什么?区别是什么?本文就来带你分析一下这几个架构的特性,优缺点,以及App架构设计中应该注意的问题。1.架构设计的目的通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦
2016-10-06 17:53:32
1348
转载 如何解决failed to push some refs to git
可以通过如下命令进行代码合并【注:pull=fetch+merge]git pull --rebase origin master
2016-09-27 11:24:55
960
转载 Retrofit2.0+okhttp3实现缓存
参考文章:Retrofit2.0+okhttp3缓存机制以及遇到的问题参考文章 : 使用Retrofit和Okhttp实现网络缓存。无网读缓存,有网根据过期时间重新请求参考文章 : okhttp3 retrofit2 缓存问题我是按照上面文章的思路,把缓存加入到自己的项目首先就是思路和基本基本一样的然后就是我自己在弄的时候发现一些问题Fatal Exce
2016-09-19 17:54:18
4791
2
转载 Android Studio下OpenCV及JNI开发
AS下配置OpenCV环境1.下载OpenCV4Android安装包,本实例中使用OpenCV3.1。解压后问价目录如下:apk:OpenCV_3.1.0_Manager_3.10安装包,Android OpenCV手机端使用samples:样例代码sdk:Android开发程序使用SDK2.新建project,点击file->new modular,选择Ope
2016-09-16 17:11:38
1187
转载 Android Studio开发JNI工程
使用Android Sutdio创建一个新的工程后,接下来记录创建NDK工程的基本步骤。本文将达到:1. 创建NDK工程2. 在JNI中输出Log语句3. 指定编译的so库的abi版本4. 解决在创建NDK工程中的问题Step: 1. 添加native接口注意写好native接口和System.loadLibrary()即可了,并无特别之处。P.S:
2016-09-16 15:23:55
399
转载 Android Studio使用OpenCV
本篇文章未完,待续。请勿入坑在android开发中使用opencv库,有多种方法,本文分别进行探讨,并尝试完成第一个样例,对图像进行灰度化。方法一:使用OpenCV Manager下载 Opencv for Android 从官方网站下载最新版OpenCV for Android sdk,并解压如图 其中apk文件夹中,包含了多个OpenCV Manager安装
2016-09-15 15:34:58
2117
原创 opencv图片处理基础
具体环境的配置,请参考这位大神 http://blog.youkuaiyun.com/poem_qianmo/article/details/198093371.图像的腐蚀主要使用这个函数erode(img,dstImage,element),img为被处理的图像,dstImage处理后的图像,element图像处理的规则代码示例#include<iostream>#include <opencv2/core
2016-09-13 21:58:11
654
转载 Android Studio插件整理
现在Android的开发者基本上都使用Android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行)。使用好Android Studio插件能大量的减少我们的工作量。1.GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。使用方法:快捷键Alt+S也可以使
2016-09-03 10:53:35
1900
转载 数据库事务四大特性
数据库事务是指作为单个逻辑工作单元执行的一系列操作,这些操作要么全做要么全不做,是一个不可分割的工作单位。数据库事务的四大特性(简称ACID)是: (1) 原子性(Atomicity)事务的原子性指的是,事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据修改操作要么全部执行,要么完全不执行。这种特性称为原子性。例如银行取款事务分为2个步骤(1)存折减款(2)提
2016-09-01 11:14:56
478
转载 Android-Android studio 出现 Error: NDK integration is deprecated in the current plugin. 问题解决
出现如下问题:Error:(50, 0) Error: NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin. For details, see http://tools.android.com/tech-docs/new-build-system/g
2016-09-01 09:33:03
610
转载 Android Studio NDK开发 正确调用jni 及加入第三方so库需要注意的问题 .
Android Studio NDK开发 正确调用jni 及加入第三方so库需要注意的问题首次使用Android Studio进行NDK开发会遇到很多问题, 我在此将自己的经验分享给大家直接上配置比较直观下面是在项目 app源根文件夹下build.gradle文件的配置, 都写明了注释android { compileSdkVersion 23
2016-08-31 23:20:35
1660
转载 Android Studio开发JNI工程
使用Android Sutdio创建一个新的工程后,接下来记录创建NDK工程的基本步骤。本文将达到:1. 创建NDK工程2. 在JNI中输出Log语句3. 指定编译的so库的abi版本4. 解决在创建NDK工程中的问题Step: 1. 添加native接口注意写好native接口和System.loadLibrary()即可了,并无特别之处。P.S:
2016-08-31 23:09:32
370
转载 SQL语句 - 嵌套查询
嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询。其中外层查询也称为父查询,主查询。内层查询也称子查询,从查询。 嵌套查询的工作方式是:先处理内查询,由内向外处理,外层查询利用内层查询的结果嵌套查询不仅仅可以用于父查询select语句使用。还可以用于insert、update、delete语句或其他子
2016-08-30 14:27:48
933
转载 【Android程序优化,避免内存泄露】- [实战一]:避免内存泄露的最后一道墙,使用leakcanary分析程序中的内存泄露。
前言:打算写一个系列吧,包括程序怎么优化,如何避免内存泄露,出现内存泄露该如何处理分析。这个系列应该会很长,首先会根据实际项目中遇到的东西总结整理上来,然后会收集网上相关好资源分享。内容大致分两种,一种是[实战N]开头,都是可以直接拿来用的,可能比较少甚至没有理论内容。另一种以初步拟定以[理论/原理N]开头,会解释介绍一些内存泄露,javaGC原理等内容。使大家知其
2016-08-29 22:53:01
569
转载 Android屏幕适配全攻略(最权威的官方适配指导)
Android屏幕适配出现的原因在我们学习如何进行屏幕适配之前,我们需要先了解下为什么Android需要进行屏幕适配。由于Android系统的开放性,任何用户、开发者、OEM厂商、运营商都可以对Android进行定制,修改成他们想要的样子。但是这种“碎片化”到底到达什么程度呢?在2012年,OpenSignalMaps(以下简称OSM)发布了第一份Android
2016-08-28 23:39:28
980
转载 操作系统之PV操作实例分析
刚开始学习操作系统的时候,就听说PV操作,简单说说PV操作。● P(S): S=S-1 如果S≥0,则该进程继续执行; S<0,进程暂停执行,放入信号量的等待队列 ● V(S): S=S+1 如果S>0,则该进程继续执行;
2016-08-28 20:02:03
621
原创 HyBrid应用-JsBridge
1.1 配置首先在项目project的gradle中引入allprojects { repositories { jcenter() maven { url "https://jitpack.io" } }}然后在app的gradle中引入compile 'com.github.lzyzsd:jsbridge:1.0.4'1.2 native端的we
2016-08-27 17:50:55
952
转载 带你重新认识:Android Splash页秒开 Activity白屏 Activity黑屏
带你重新认识:Android Splash页秒开 Activity白屏 Activity黑屏版权声明:转载必须注明本文转自严振杰的博客: http://blog.youkuaiyun.com/yanzhenjie1003本篇博客要剖析和解决的两个问题: 1. APP启动时白屏/黑屏、Activity打开时白屏/黑屏。 2. APP启动速度慢,如何实现点击ICON后APP秒开。APP
2016-08-27 15:19:57
1018
转载 Android5.0以上版本ActiveAndroid报ClassNotFoundException错误
近日将正在开发的app运行到android lollipop系统上却出现的闪退,经过查找发现是ActiveAndroid在5.0上的兼容性问题。通常我们初始化ActiveAndroid的时候,是通过在自定义的Application中的onCreate()方法中调用[java] view plain copy print?ActiveA
2016-08-24 21:42:37
1123
转载 AAPT err(Facade for): libpng error: Not a PNG file 错误解决
在导入项目到Android studio后,若编译出现“AAPT err(Facade for): libpng error: Not a PNG file”错误。 该错误表示项目中的drawable下的图片文件有非png图片,命名为了png造成的。 解决方案: 方案一、在模块下的build.gradle中配置下面两个信息,再c
2016-08-22 16:20:00
385
转载 Android内存优化
(一)Android的内存管理机制Google在Android的官网上有这样一篇文章,初步介绍了Android是如何管理应用的进程与内存分配:http://developer.android.com/training/articles/memory.html。 Android系统的Dalvik虚拟机扮演了常规的内存垃圾自动回收的角色,Android系统没有为内存提供交换区,它使用 pa
2016-08-21 12:01:31
385
转载 Android的Fragment的生命周期各状态和回调函数使用
回调函数就像activities一样,fragments也有它们自己的生命周期。理解fragments的生命周期,可以使你在它们被销毁的时候保存它们的实例,这样在它们重新被创建的时候,就能恢复它们之前的状态。流程: onAttach() 作用:fragment已经关联到activity, 这个是 回调函数?12345
2016-08-21 11:18:22
3848
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人