随笔分类 - Android
摘要:quickjs-android 是 QuickJS JavaScript 引擎的 Android 接口框架,整体基于面向对象设计,提供了自动GC功能,使用简单。armeabi-v7a 的大小仅 350KB,是 Google V8 不错的替代品,启动速度比 V8 快,内存占用更低,支持 ES2020。
阅读全文
摘要:越来越多第三方库使用apt技术,如 "DBflow" 、 "Dagger2" 、 "ButterKnife" 、 "ActivityRouter" 、 "AptPreferences" 。在编译时根据Annotation生成了相关的代码,非常高大上但是也非常简单的技术,可以给开发带来了很大的便利。
阅读全文
摘要:消息推送是App运营的重要一环,为了优化消息推送成功率,降低电量和流量消耗,系统级的推送服务显得尤为重要。小米和魅族由此推出了自家的推送平台,在MIUI和Flyme上共享系统级推送服务,让APP在被杀死的情况下也能正常收到推送消息。以后也会有越来越多的手机厂商会推出自己的推送平台,MixPush由此
阅读全文
摘要:利用Android Studio、MAT对Android进行内存泄漏检测 Android开发中难免会遇到各种内存泄漏,如果不及时发现处理,会导致出现内存越用越大,可能会因为内存泄漏导致出现各种奇怪的crash,甚至可能出现因内存不足而导致APP崩溃。 内存泄漏分析工具 Android的内存泄漏分析工
阅读全文
摘要:AptPreferences是基于面向对象设计的快速持久化框架,目的是为了简化SharePreferences的使用,减少代码的编写。可以非常快速地保存基本类型和对象。AptPreferences是基于APT技术实现,在编译期间实现代码的生成,支持混淆。根据不同的用户区分持久化信息。 特点 1. 把
阅读全文
摘要:Android和iOS开发都支持C++开发,可以一套代码多平台使用。同时C++难以反编译的特性也可以为Android开发带来代码的保密,另一native特性也可以提高代码的运行效率。 一、为什么使用C/C++ 1. 便于移植,用C/C++写得库可以方便在其他的平台上再次使用。 2. 代码的保护,由于
阅读全文
摘要:DBFlow,综合了 ActiveAndroid, Schematic, Ollie,Sprinkles 等库的优点。同时不是基于反射,所以性能也是非常高,效率紧跟greenDAO其后。基于注解,使用apt技术,在编译过程中生成操作类,使用方式和ActiveAndroid高度相似,使用简单。 特性:
阅读全文
摘要:SwipeBackLayout是一个很好的类库,它可以让Android实现类似iOS系统的右滑返回效果,但是很多用户在使用官方提供的Demo会发现,可能出现黑屏或者返回只是看到桌面背景而没有看到上一个Activity的UI。https://github.com/Issacw0ng/SwipeBack...
阅读全文
摘要:相信很多人在刚开始学习Android JNI编程的时候,需要输出Log,在百度Google搜索的时候都是说需要在Android.mk中加入LOCAL_LDLIBS+= -L$(SYSROOT)/usr/lib -llog ,其实这是在eclipse开发上的方式,Android Studio并不是这么...
阅读全文
摘要:public static int getStatusBarHeight(Context context){ Class c = null; Object obj = null; Field field = null; int x = 0, s...
阅读全文
摘要:android:editableisdeprecated:Useantomakeiteditableandroid:editable is deprecated: Use inputTypeinstead分析:关于EditText控件的read-only问题,即: 无法通过UI更改其中的内容, 但可...
阅读全文
摘要:第一步:代码混淆(注意引入的第三方jar)在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt。新建一个项目的时候,会自动生成project.properties和proguard-project.t...
阅读全文
摘要:package cc.c; import android.app.Activity;import android.os.Bundle;import android.text.Selection;import android.text.Spannable;import android.text.met...
阅读全文
摘要:在使用ViewPager与Fragment的时候,ViewPager会自动缓存1页内的数据,如下图:当我们当前处在页面2的时候,页面1和页面3的View实际上已经创建好了,所以在我们拖动的时候是可以看见他们的界面的。但是当我们的页面处在1的时候,页面3实际上就已经销毁了。直到跳转到页面2的时候,页面...
阅读全文
摘要:有人想通过下面代码来实现手动调用返回键,很可惜会出现空指针异常。this.onKeyDown(KeyEvent.KEYCODE_BACK, null);我们可以通过调用onBackPressed();来实现实现调用返回键。
阅读全文
摘要:private PreviewCallback pc = new PreviewCallback(){ public void onPreviewFrame(byte[] data, Camera arg1) { Camera.Pa...
阅读全文
摘要:由于写论文需要,需要用手机加速度采集数据,关于android加速度传感器的介绍网上一抓一大把,但大多都是大同小异,跟官网文档差不多。自己写了个取加速度传感器的APK,发现数据有点不对劲,原理屏幕一关后,系统就自动把各种传感器给停掉了,网上找了很久,发现一些可用的资源。1、查看手机是否支持锁屏后继...
阅读全文
摘要:[html]view plaincopyandroid:textColor="@drawable/selector_setting_txt"[html]view plaincopy在父控件中添加android:clickable=“true” android:focusable=“true”,而在子控件中添加android:duplicateParentState=“true”子控件就能获得父控件的点击事件
阅读全文
摘要:点击下载Genymotion-ARM-Translation.ziphttp://pan.baidu.com/s/1h7yPD将你的虚拟器运行起来,将下载好的zip包用鼠标拖到虚拟机窗口中,出现确认对跨框点OK就行。然后重启你的虚拟机。
阅读全文
摘要:这里用的是TableLayout布局的。先看效果图下面看下布局文件表格布局中每个TableRow表示一行,TableRow中的每个基本控件都是一列,这是一个三行两列的布局这里的表格背景是自定义的shape,下面分别看一下三个shape的代码。shape_top_corner_no_bottom_line.xml文件:顶部带圆角 白色背景 灰色边框 无下边框 长方体shape_no_corner_without_bottom.xml文件:不带圆角 白色背景 灰色边框 无下边框 长方体shape_bottom_corner_no_top_line.xml文件:底部圆角 白色背景 灰色边框 长方体
阅读全文