- 博客(14)
- 资源 (9)
- 收藏
- 关注
原创 Java中值传递,引用传递
前言我们都知道,java中数据类型分为基本数据类型和引用数据类型。基本数据类型 整型:byte,short,int,long浮点型:float,double字符型:char布尔型:boolean引用数据类型 数组类接口方法的参数分为实际参数和形式参数。 形式参数:定义方法时括号内写的参数。 如private void test(int a , byte[] b){…
2018-01-30 16:31:11 474
原创 MotionEvent基本概念
MotionEvent是事件传递中的一个重要概念——事件类型。事件类型就是指MotionEvent对象所代表的动作。比如说,当你的一个手指在屏幕上滑动一下时,系统会产生一系列的触摸事件对象,他们所代表的动作有所不同。有的事件代表你手指按下这个动作,有的事件代表你手指在屏幕上滑动,还有的事件代表你手指离开屏幕。这些事件的事件类型就分别为ACTION_DOWN,ACTION_MOVE,和ACTIO
2018-01-29 17:33:52 1138
原创 OnTouchListener()监听不到MotionEvent.ACTION_UP?
面试中被问到Android多点触控,不小心被触及到盲区,作为已开发三四年的老司机,那个心酸啊!忙里偷闲特意写个Demo熟悉下事件分发和多点触控吧,搞了半天竟然只能监听到MotionEvent.ACTION_DOWN,其他一概监听不到。先上代码:private void test() { imageView.setOnTouchListener(new Listener(
2018-01-29 16:08:51 4580 4
原创 Android跨进程通信
定义多进程Android应用中使用多进程只有一个办法(用NDK的fork来做除外),就是在AndroidManifest.xml中声明组件时,用android:process属性来指定。不指定process属性,则默认运行在主进程中,主进程名字为包名。android:process = package:remote,将运行在package:remote进程中,属于全局进程,
2018-01-29 15:03:46 298
原创 Android图片格式转换为JPG
在做人脸识别项目中,首先需要注册人脸,目前程序要求在指定的文件夹存入文件格式为JPG的图片即完成人脸注册。使用中,部分用户对JPG格式理解不深,误以为只要以“.JPEG”或者“.jpg”结尾的图片就是JPG格式,甚至有用户还特意把“张三 .png”改成“张三.jpg”伪装成JPG格式来满足要求。 其实文件扩展名(.jpg)与文件格式无关,是人们为了便于区分,强加的扩展名。就像linux系
2018-01-24 18:18:49 11341 3
原创 NDK的OpenGLES2.0 官方Demo
MainActivity.javapackage com.interjoy.fengzhang;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.TextView;public class MainActivity extends AppC
2018-01-22 19:46:40 1210
原创 Error: undefined reference to `glCreateShader'-Android NDK OpenGLES
通过NDK调用OpenGLES时,发现报错许多gl开头的方法未定义,具体如下:奇怪的是,报错的方法还可以点击去。网上查询结果 大部分是修改让Android.mk原因是 未配置链接OpenGLES库文件。可是我用的是Android Studio 2.3.3 NDK开发根本看不到Android.mk,只有一个CMakeList.txt
2018-01-22 19:37:01 2157
原创 循环注册
记录一段人脸注册的代码/** * 用于循环获取注册进度的任务线程 */ private final class TaskProgress extends TimerTask { private List listTips = Arrays .asList("看看屏幕", "看看我额头", "看看我左耳", "看看我轮子
2018-01-19 15:45:34 267
原创 Android CMake.txt
CMake是一款比make更强大的编译自动配置工具,它可以根据不同平台、不同的编译器,并通过CMakeLists.txt文件中简单的语句来描述所有平台的编译过程,生成相应的Makefile文件或project文件。CMake被引入于AndroidStudio2.2,其目的是替代原有的JNI/DNK开发方法,使AS在进行JNI/NDK时更加的方便、高效。CMake的优势如下:(1) 允许
2018-01-16 17:48:14 323
原创 Android Studio如何打jar包
前言公司经常和客户提供SDK,提供一个jar包sdk是一件很平常的事。Eclipse 有图形界面和向导供开发者将一个项目导出为jar包,相对来讲是比较简单的,切换到Android Studio后,则需要结合gradle来配置生成jar 包。下面介绍两种生成jar的方法 1.新建New Project ,然后 New Module(名字以ylwlibrary为例) 2.主工程app:bu
2018-01-09 21:57:44 5065
原创 Android Studio之NDK开发(二)
接上一篇NDK开发系列(一),继续介绍有关NDK开发技能一,C++和CMake.txt里面都写了什么?native-lib.cpp中代码介绍:app/CMakeLists.txt构建脚本翻译:内容太多,不想看的童鞋点这里:Android CMake.txt# For more information about using CMake with Android St
2018-01-09 17:28:53 445 1
原创 Android Studio之NDK开发(一)
前言Android Studio2.2版本已经完全支持ndk开发了。而且默认采用CMake方式。 CMake优势不言而喻: 1. 可以直接的在C/C++代码中加入断点,进行调试 2. java引用的C/C++中的方法,可以直接ctrl+左键进入 3. 对于include的头文件,或者库,也可以直接的进入 4. 不需要配置命令行操作,手动的生成头文件,不需要配置android.use
2018-01-09 15:40:39 1278
原创 Android为什么requestWindowFeature()在setContentView()之前调用?
网上关于RequestWindowFeature()的用法有很多,大多都解释的模棱两可,下面这是我遇到这个问题并且得出的一点结论供大家参考。 虽然setContentView()方法大家都会用,但实际上Android界面显示的原理要比我们所看到的东西复杂得多。任何一个Activity中显示的界面其实主要都由两部分组成,标题栏(TitleView)和内容布局(ContentView)。标题栏就是
2018-01-03 20:03:27 649
原创 Android 各类虚拟机JVM,DVM,ART区别
Android开发中我们接触的是与Java虚拟机类似的Dalvik虚拟机和ART虚拟机,下面梳理一下三者区别和原理:一,Dalvik虚拟机Dalvik虚拟机( Dalvik Virtual Machine ),简称Dalvik VM或者DVM。Dalvik 发音有道词典并没有收录。说说来历,它是由Dan Bornstein编写的,名字源于他的祖先居住过的名为Dalvik的小渔村。DVM
2018-01-03 12:01:20 7237
Scrollview中嵌套ViewPager和ListView常出现的问题
2016-03-30
Android:ScrollView中嵌套ViewPager和ListView示例
2016-03-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人