android学习之旅
warmor
每天进步一点点..
展开
-
从零开始编写JNI
最近项目中用到了JNI,本以为很简单的,没想到花了我一天的时间才搞定。主要是在过程中遇到了一个大坑,下面就详细说说。出现的问题是这样的:代码一运行到System.loadLibrary("xxx")时,就提示java.lang.UnsatisfiedLinkError(Failed to register native method xxx),很明显是在register时出错了,我经过多次尝试,才终于解决这个难题。借着这个问题,再来复习一下jni的整体编写流程吧!话不多说,直接上代码,c文件如下:原创 2021-07-07 20:42:19 · 675 阅读 · 0 评论 -
Android JNI你应该知道的
一.如何创建jni项目?创建项目时选择Native C++即可。注:编译生成的库在 build/intermediates/cmake/debug/obj下面二.如何手写并编译一个so库https://www.jianshu.com/p/0eddfda3da10二.如何使用第三方so库?1.把so拷贝到app/libs下面,需要带目录(类似arm64-v8a)一起2.在build.gradle加如下的配置sourceSets{ main{ jniLibs.sr...原创 2020-07-13 10:22:59 · 149 阅读 · 0 评论 -
Activity的加载模式解读
Android是用launchMode属性来定义activity的加载模式的,如在AndroidManifest里面写:activity android:name=".Activity2" android:launchMode="singleInstance">加载模式一共四种,下面分别介绍:standard:就是intent将发送给新的实例,所以每次跳转都会生成新的Activity。原创 2016-05-26 22:02:40 · 1034 阅读 · 6 评论 -
Android SystemProperties系统属性详解
Systemproperties类在android.os下,但这个类是隐藏的,上层程序开发无法直接使用,用Java的反射机制就可以了。Java代码中创建与修改android属性用Systemproperties.set(name, value),获取android属性用Systemproperties.get(name),Native代码中通过property_get(const char *ke原创 2016-09-02 00:26:44 · 5374 阅读 · 13 评论 -
android学习之布局动画的使用
之前写过一篇android动画入门里面介绍了Frame(逐帧)动画和Tween(补间)动画的使用, 感兴趣的朋友可以先看下。动画一共分四种,今天接着介绍下Layout(布局)动画的使用。 布局动画就是当布局上面的子控件发生变化(增加,删除,显示,隐藏)时所产生的动画,android默认是没有动画效果的,如果要实现这样的效果那就只能自己动手了。 提起布局动画就不得原创 2016-07-31 23:19:33 · 1786 阅读 · 5 评论 -
Android学习之Handler通信机制
最近在学习Handler通信机制,查看了网上大量的相关文章,很多都是大同小异的,从中精选出来3篇博文,写的很不错。Looper的详细讲解,地址如下:http://blog.chinaunix.net/uid-9185047-id-3377737.htmlHandler的各种使用方法,非常全面,共3篇,看完之后,亲自练习了一下,感觉Handler使用原来如此简单,附上地址:htt原创 2015-02-06 20:19:37 · 1371 阅读 · 1 评论 -
Android学习之ListView详解
看到一个很好的学习ListView控件的博客,推荐一下:http://xys289187120.blog.51cto.com/3361352/657171转载 2015-01-22 19:58:47 · 992 阅读 · 2 评论 -
Android AsyncTask两种线程池分析和总结
该文章转载自:http://bbs.51cto.com/thread-1114378-1.html(一) 前言在android AsyncTask里面有两种线程池供我们调用1. THREAD_POOL_EXECUTOR, 异步线程池2. SERIAL_EXECUTOR,同步线程池正如上面名称描述的那样,一个是异步线程池,多个任务在线程池中并发执行;还有一个是同转载 2016-06-01 16:55:54 · 9808 阅读 · 1 评论 -
android studio下的ndk开发流程
总结了下android studio 下的ndk开发流程,步骤稍微有点多,不过流程还是挺简单的。1、配置ndk路径(需要先下载ndk压缩包),如下:2、配置local.properties文件的ndk路径ndk.dir=D\:\\android\\ndk\\android-ndk-r10b(下载的ndk的路径)3、在gradle.properties文件末尾加上android.原创 2016-05-17 00:04:22 · 1666 阅读 · 2 评论 -
一个万能的传送门
刚刚访问郭霖大神的博客时,发现了一个万能的导航网站,里面简直是包罗万象,无所不有。随便举几个吧:各种大牛博客,各种开发工具,各种名书推荐,各种在线课堂。。。甚至还有---恋爱技巧,装X宝典!只有你想不到,没有它不做不到的。这是一个神奇的学习,交友,装X,养生的传送门~~传送门入口:Entrance 拿走不谢原创 2016-05-25 10:40:41 · 1386 阅读 · 3 评论 -
Context的整理与总结
Context是我们最常使用的类之一,但是我们真正的了解它吗?它是什么?一个应用中有多少context?Context与this的区别是什么?带着这些疑问,进行本文的Android学习之旅吧!一、Context是什么?1、Context就是程序的上下文。2、该类是一个抽象(abstract class)类,该抽象类的具体实现类是ContextIml。3、通过它我们可以获取应用程序的原创 2015-04-30 18:38:57 · 1105 阅读 · 2 评论 -
Android学习之sdk版本与api level的对应表
由于经常会使用到sdk版本与api level,而这两者又是密不可分的。所以整理了一下关系表格,以便于查看。sdk版本 API Level4.4.2 194.3 184.2 174.1 164.0.3 154.0 143.2 133.1 123.0 112.3.3 102.3 92.2 82.1 72.0.1 62.0 51原创 2015-01-22 09:13:28 · 988 阅读 · 0 评论 -
Android学习之布局常用的单位
记录下常用的布局单位,后续使用时就可以根据情况来随心发挥啦!dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 dp: 与dip是一样的。px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素。sp原创 2015-01-22 08:48:57 · 898 阅读 · 0 评论 -
Android学习之layout_weight
android:layout_weight这个属性比较容易用错,这里简单说明下。layout_weight,代表权重值,默认为0,按照该值给控件填充屏幕的剩余空间。按理说这个值越大,所占的空间应该越多,但事实并不是这么简单。推荐一篇详细的关于这个参数的介绍,看完之后就能清楚的明白是怎么一回事了。地址如下:http://mobile.51cto.com/abased-375428.htm原创 2015-01-14 11:12:54 · 875 阅读 · 0 评论 -
Android学习之四大组件
Activity(活动)(1)一个Activity通常就是一个单独的屏幕(窗口)。(2)Activity之间通过Intent进行通信,在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。典型的动作类型有:M AIN(activity的门户)、VIEW、PICK、EDIT 等。而动作对应的数据则以URI 的形式进行表示。(3)android应用中每一个Activi原创 2015-01-14 10:59:03 · 1185 阅读 · 1 评论