
Android
segment-fault
这个作者很懒,什么都没留下…
展开
-
Android 检查系统版本号
Android VersionAndroid系统的每一次升级都会带来一些更新,有些更新是在原有的接口上兼容更新,但也有些更新是覆盖之前的接口而不兼容的 比如 相机接口Camera(5.0以前) 和 Camera2(5.0起支持) 此时需要在应用中根据Adnroid版本分别处理,以求支持不同的Android版本Build.SDK.VERSIONSDK中的类Build储存有不同的版本信息 截取部分原创 2017-12-16 15:59:33 · 939 阅读 · 0 评论 -
Android动态申请权限
权限为了系统的安全性 android限制了一些比较敏感的操作比如拨打电话、读写外部磁盘等在AndroidManifest.xml中 应用会声明用到的权限但是在Android6.0以后 想要获取到权限 还需要在系统设置中配置android sdk也提供了相应的接口来在代码中申请权限.权限申请代码1. 判断并申请public void requestPower()...原创 2018-03-27 11:52:59 · 342 阅读 · 0 评论 -
Android Java和C/C++的交互
Java和C/C++关于交互1. Java调用C/C++方法 Android JNI介绍: http://blog.youkuaiyun.com/qq_21358401/article/details/78680772 JNI中Java对象调用C/C++及Java对象和C++对象的对等封装方法 http://blog.youkuaiyun.com/qq_21358401/article/...原创 2018-02-08 15:21:02 · 1504 阅读 · 0 评论 -
WebRTC 连接Linux端和Android端
跨平台连接WebRTC的通常连接流程:http://blog.youkuaiyun.com/qq_21358401/article/details/79190561WebRTC SDP协议:http://blog.youkuaiyun.com/qq_21358401/article/details/79341031连接不同平台的PeerConnection的流程和通常流程没有什么区别.但很容易遇到这些...原创 2018-02-26 21:13:42 · 1605 阅读 · 1 评论 -
Android Activity间传递数据
Intent传递简单的类型利用Intent传递数据跳转前的Activity:Intent intent = new Intent(MainActivity.this, ChatActivity.class);inten.putExtra("type", "sliver");startActivity(intent);跳转后的Activity:Intent intent = ge...原创 2018-02-11 21:54:26 · 264 阅读 · 0 评论 -
Android调用notifyDataSetChanged崩溃
UI操作Android的UI操作并不是线程安全的,UI操作必须在UI线程中执行.在非UI线程中更新UI的结果就是carsh,提示Only the original thread that created a view hierarchy can touch its viewsrunOnUiThreadAndroid提供了runOnUiThread接口用于更新Ui,在需要更新Ui...原创 2018-02-11 21:01:27 · 1865 阅读 · 1 评论 -
Android JNI C/C++调用Java方法
JNI环境的支持Android JNI编程从Java方法来调用native方法是比较容易的,因为Java本身就提供了native关键字作为索引,只要正确的对应Java方法和native方法的包名,做到这一步并不难.而从C/C++方法调用Java方法则稍复杂一点,因为C/C++没有提供跨语言调用的直接支持,所以需要由Java的JNI运行环境来提供帮助.每一个JNI native方法的原创 2018-02-05 22:43:56 · 2455 阅读 · 0 评论 -
Android listview 增删改查
ListViewListView可以用于展示列表数据,配合嵌入列表的控件,可以实现各种复杂的逻辑.我查到的资料里对ListView的使用大部分是显示固定的列表,少有谈及ListView的动态修改.这里大致总结下怎么动态增删改查列表备忘.ListView类似于链表,每个单元对应一个view.单元的创建需要Adapter,包含了单元的构造和事件的监听.比如一个单元可能包括一个Tex...原创 2018-02-10 01:12:42 · 2119 阅读 · 0 评论 -
Android JNI开发
JNI = Java native interface也就是java的本地接口 指的是利用C/C++这样的贴近底层的语言 1. 为什么要利用C/C++ 1. C/C++语言的高效率 比如对一堆数据进行排序 C/C++的效率毫无疑问是要超过java的 2. 复用C/C++的代码 类似ffmpeg webrtc这样的媒体框架 在需要用到的时候是绕不开的也不可能造这种规模的轮子原创 2017-11-30 20:50:10 · 343 阅读 · 0 评论 -
Android运行时报错No implemention found
JNI编程1. JNI编程需要链接C/C++动态链接库2. JNI运行时需要链接C/C++动态链接库3. JNI的方法名称需要和Java的native方法严格对应编译时链接编译时,通过CMake脚本指定JNI代码需要链接的库CMake常见的链接库的方法是 先导入,再链接. 和常用的CMake脚本可能不太一样以链接ffmpeg的avcodec库libavcodec.so为例:原创 2018-01-31 20:10:07 · 508 阅读 · 0 评论 -
Android MediaCodec h264编码无法设为high profile
MediaCodec的限制使用MediaCodec编码时通常是这样设置的 format.setInteger(MediaFormat.KEY_PROFILE,MediaCodecInfo.CodecProfileLevel.AVCProfileHigh);先配置MediaCodecInfo的profile信息 然后赋给MediaFormatcodec.configure(format原创 2017-12-29 11:37:16 · 3411 阅读 · 0 评论 -
Android JNI : Java封装C++
Java封装C++将C++类 和 Java类对等起来实例化一个Java对象就相当于实例化了一个C++对象实现原理指针实质上也是个int或long(视平台而定)类型的变量在jni方法中实例化c++对象后 返回给java方法 并转化为long变量java方法根据这个得到的long型'句柄' 可以做一系列的对某个C++对象的操作包括申请 释放等等C++:class te原创 2018-01-12 18:05:15 · 1220 阅读 · 0 评论 -
Android NDK 链接posix线程库
posix pthread通常链接pthread在CMake脚本中都是这样做的 target_link_libraries(xxx pthread)然而在Android NDK编译中这样会报错提示找不到pthread这是因为Android NDK中posix线程库被归纳到了c++库中所以正确的链接方法是链接C++库target_link_libraries(xxx stdc++)原创 2018-01-04 11:03:57 · 2490 阅读 · 1 评论 -
Android Studio引用另一个模块module的方法
适用情形最近碰上这样一种情况: app需要引用jni功能 然后jni相关的功能被封装成一个android library 模块module然后在app模块module中需要引用jni module的一个java类直接在app模块中引用这个类 提示无法解析这个类android中引用别的module 需要加入对它的依赖有两种添加方式 1. 直接修改build.gradle脚本引入原创 2018-01-12 11:53:38 · 30838 阅读 · 4 评论 -
android adb
adb 常用命令1. adb devices 列出adb设备的信息和设备号2. adb root 获得adb的root权限3. adb remount 重新挂载文件系统以获得写权限4. adb push 推送文件到android文件系统5. adb pull 从android文件系统下载文件到本地6. adb disable-verity 关闭android的验证(android6.0起存原创 2018-01-03 14:48:46 · 196 阅读 · 0 评论 -
Android:Service服务
ServiceService是Android的四大组件之一(Activity Service BroadCastReceiver ContentProvider),负责完成没有UI情况下的工作.Service和Activity有些类似 都在application的主线程中运行区别在于service不依赖于ui 即使退出当前的ui界面 服务也可以继续运行.Service != Th...原创 2018-03-27 15:51:59 · 213 阅读 · 0 评论