自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (2)
  • 收藏
  • 关注

转载 Android SeLinux权限问题和解决方法

1. 确认 seLinux导致权限问题1.1 标志性log 格式:avc: denied  { 操作权限 }  for pid=7201 comm=“进程名”  scontext=u:r:源类型:s0  tcontext=u:r:目标类型:s0 tclass=访问类别  permissive=01.2 举例:Kenel log:avc: denied { execheap } f...

2018-11-14 21:39:15 6281 1

转载 Android 修改文件权限

Linux 文件权限 1 [001] 执行权限 x 2 [010] 只写权限 w 4 [100] 只读权限 r sudo chmod 600 ××× (只有所有者有读和写的权限) sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限) sudo chmod 700 ××× (只有所有者有读和写以及执行的权限) sudo chmod 666 ××× (每个人都有读和写...

2018-07-11 08:33:26 11613 2

转载 Linux中显示系统中USB信息的lsusb命

它已经成为了一个工业标准,现在很难看到一个没有USB口的计算机了。USB闪存的使用使得它更加流行。在Linux上,我们可以使用lsusb来列出USB设备和它的属性。什么是lsusb在它的手册上,lsusb定义成:显示系统中以及连接到系统的USB总线信息的工具。如何运行lsusb? 要运行lsusb,你可以直接在控制台输入lsusb。$ lsusbBus 001 Device 001: ID 1...

2018-05-24 09:03:18 4102

转载 Android NDK学习 C++ 支持

0.基础知识:Android Platform提供一个非常小的C++ runtime 支持库(/system/lib/libstdc++)和头文件。但此System C++库支持非常有限,不支持以下 :  - Standard C++ Library support (except a few trivial headers).  - C++ exceptions support  -...

2018-05-04 14:52:34 872

转载 CMake脚本编写

注意:1、对于每一个项目必定有一个CMakeLists.txt,我们称为主CMakeLists.txt2、每一个项目主CMakeLists.txt中必须指定版本信息和项目信息3、cmake脚本中可以指定生成可执行文件、静态库、动态库4、cmake脚本不区分大小写,cmake自定义变量与linux保持一致,默认大写        5、编写完成CMakeLists.txt后,使用cmake或ccmak...

2018-05-04 14:39:15 946

原创 学习 CMake 参考资料CMake Practice(免费前往下载)

提取链接: https://pan.baidu.com/s/19jCShYBFyRZCauxREMYwVA 密码: pmh3

2018-05-04 10:45:36 1416 2

转载 AndroidStudio好用的插件

在开发过程中,本人用的最爽的就是代码生成的插件,帮助我们自动完成大量重复简单的工作。个人也觉得代码自动生成工具是最值得推荐的。因此下面的插件以代码生成的插件为主。1. Android ButterKnife Zelezny在Activity,Fragment,Adapter中选中布局xml的资源id自动生成butterknife注解。2. GsonFormat快速将json字符串转换成一个Java...

2018-05-03 15:22:45 187

原创 Android sdk 26以上权限申请

package com.sky.qcloud.tools;import android.Manifest;import android.app.Activity;import android.content.pm.PackageManager;import android.os.Build;import android.support.v4.app.ActivityCompat;im...

2018-04-28 15:23:00 2623

原创 Error:Execution failed for task ':app:processDebugManifest'.

具体错误如下:看到错误首先会根据提示在AndroidManifest.xml中添加:tools:replace="android:value"' to <meta-data> element但是不起作用。之所以出现这样的错误是因为你在Module的build.gradle中引用第三方support不同版本库导致相互冲突引起的。解决办法:将support对应的所有第三方库改成相同的版本引...

2018-04-26 09:37:11 852

原创 Java 中 Eamil邮箱格式验证

/** *检查Email 格式(正则表达式) * @param content * @return */private boolean checkEmailFormat(String content){ /* * " \w":匹配字母、数字、下划线。等价于'[A-Za-z0-9_]'。 * "|" : 或的意思,就是二选一 * "*" : 出现0次...

2018-04-20 15:03:21 5751

原创 windows系统下git的安装

在linux系统下,可以直接在命令窗口安装和使用git。但是,在windows系统下,想要达到同样的效果,可以安装git,使用git bash到达效果。具体安装步骤如下:第一步:官网上下载git      网址:https://git-for-windows.github.io/;版本:2.11.0。      第二步:双击下载好的git安装包,弹出提示框,如下图:              第三...

2018-04-19 16:25:29 499

原创 不同系统下Git工具的安装

安装 Git是时候动手尝试下 Git 了,不过得先安装好它。有许多种安装方式,主要分为两种,一种是通过编译源代码来安装;另一种是使用为特定平台预编译好的安装包。从源代码安装若是条件允许,从源代码安装有很多好处,至少可以安装最新的版本。Git 的每个版本都在不断尝试改进用户体验,所以能通过源代码自己编译安装最新版本就再好不过了。有些 Linux 版本自带的安装包更新起来并不及时,所以除非你在用最新的...

2018-04-19 16:24:54 206

原创 ubuntu下安装和配置SVN的详细方法介绍

ubuntu安装和配置SVN第一步:安装apache2  libapache2-svn subversion复制代码代码如下:sudo apt-get install apache2sudo apt-get install subversionsudo apt-get install libapache2-svn安装完后按照提示复制代码代码如下:Run '/etc/init.d/apache2 r...

2018-04-19 11:36:09 561

转载 android studio library生成jar包和aar的方法总结

首先是生成jar包首先在library的工程目录下选中它的build.gradle文件并打开在文件的最后加入代码[java] view plain copy //task to delete the old jar  task deleteOldJar(type: Delete) {      delete 'release/AndroidPlugin.jar'  }    //task to e...

2018-04-18 08:29:43 308

原创 C++基础-string截取、替换、查找子串函数

1. 截取子串       s.substr(pos, n)    截取s中从pos开始(包括0)的n个字符的子串,并返回       s.substr(pos)        截取s中从从pos开始(包括0)到末尾的所有字符的子串,并返回2. 替换子串       s.replace(pos, n, s1)    用s1替换s中从pos开始(包括0)的n个字符的子串3. 查找子串       s...

2018-04-12 08:38:13 297

原创 CMake 预编译宏定义

在CMakeLists.txt 中添加,如要在原生代码区分Android与IOS平台的编译,可以这么做:

2018-04-04 14:17:06 41134 1

原创 Android-CMakeLists.txt 链接第三方库(动态或者静态库)到自己的生成库中

最近在做关于NDK开发的项目,编译方式通过cmake。其中一个就是要将第三方动态库链接到自己的动态库最终生成一個动态库供他人调用,这个折腾了好久,终于搞好记录下笔记,免得以后再踩坑,有同样需求的童鞋可以参考,有错误请指出。多的不说,上代码.1.首先看目录结构:第三方库放在jniLibs下,并创建对应的CUP平台目录。头文件随便放:2.上CMakeLists.txt内容,有两个方式,这里不会一一解释...

2018-04-03 09:15:19 12164 1

原创 Android NDK Jni 开发C和C++的区别

由于Android官方NDK例子大多使用C语言编写,所以当我们想用C++进行开发时,会出现种种错误。下面简单说说几点不同之处,代码中用红色标出了不同之处: 1.先来一个用C写的例子: (1)hello.c文件。在C中没有引用,传递的env是个两级指针,用(*env)->调用方法且方法中要传入env. 1 #include <jni.h>2 3 jstring Java_com_e...

2018-04-02 23:03:03 1131

转载 Android样式的开发:shape篇

转载自Keegan小钢 并标明原文链接:http://keeganlee.me/post/android/20150830 Android样式的开发:shape篇 Android样式的开发:selector篇 Android样式的开发:layer-list篇 Android样式的开发:drawable汇总篇 Android样式的开发:View Anima...

2018-03-14 10:51:12 191

原创 Android NDK编译 ndk-build方式

因很少使用NDK编译,每次在涉及到这一块的时候都会忘记NDK开发的开发的环境配置和开发步骤。所以今天自己做下笔记记录下开发步骤:环境:AndroidStudio2.3,Ubuntu14.0,android-ndk-r14b,java8;第一步:配置NDK环境,直接上图:NDK可以自己下载再配置,也可以通过Android sdk->sdk tools 下载。上面都不用说,使用AS的人都应该懂得...

2018-03-06 10:31:50 2208

原创 Android 中图片的三级缓存策略

什么是三级缓存?内存缓存,优先加载,速度最快本地缓存,次优先加载,速度快网络缓存,最后加载,速度慢,浪费流量为什么要进行三级缓存三级缓存策略,最实在的意义就是减少不必要的流量消耗,增加加载速度。如今的 APP 网络交互似乎已经必不可少,通过网络获取图片再正常不过了。但是,每次启动应用都要从网络获取图片,或者是想重复浏览一些图片的时候,每次浏览都需要网络获取,消耗的流量就多了,在

2018-03-01 09:44:30 535

转载 使用Git将本地代码上传到GitHub

#1注册GitHub账号*1)到https://github.com/注册GitHub账号#2在GitHub上建立GitHub仓库*1)登录后点击右下方的“new repository”按钮新建一个仓库*2)填写完仓库信息后点击“creat repository”按钮创建仓库(仓库名字随意填写)注意不要勾选Initialize this repository with a README#3下载并安...

2018-02-27 12:06:17 120

原创 Glide 之 自定义 Transformations

不了解Glide的童鞋,可以先前往官网https://github.com/bumptech/glide,或者https://mrfu.me/2016/02/27/Glide_Getting_Started/ 从头开始学习,一步一步了解Glide的各个API的使用。 这里,我只针对近期在做项目的时候遇到要针对原始Bitmap进行转换(变换后)再次显示在ListView 或者Grid上面。

2017-10-23 09:36:11 1253

转载 Android openGL ES2.0 Matrix.frustumM和Matrix.setLookAtM解析

Android使用OpenGL ES2.0绘制3D图像或者加载3D模型时,为了达到立体效果往往需要设置视见转换矩阵和投影转换矩阵即Matrix.setLookAtM(mVMatrix, 0, cx, cy, cz, tx, ty, tz, upx, upy, upz) 和 Matrix.frustumM(mProjMatrix, 0, left, right, bottom, top, near,

2017-09-28 16:40:56 482

原创 阻塞队列Qeue在take的状态下推出多线程循环(笔记)

使用LinkedBlockingDeque 做为阻塞队列的测试对象:/** * *Description: *Author: Create by lixby on 17-9-20 * */public class MainActivity extends AppCompatActivity implements Runnable, View.OnClickListener{ pr

2017-09-20 14:40:36 742

原创 Ubuntu 16.04 安装Skype

安装Skype版本4.3对于32位操作系统:请按照以下步骤操作sudo apt-get updatesudo apt-get install gdebiwget download.skype.com/linux/skype-ubuntu-precise_4.3.0.37-1_i386.debsudo gdebi skype-ubuntu-precise_4.3.0.37-1_i386

2017-09-07 18:41:49 8142 1

原创 ubuntu16.04 android环境配置以及除错(笔记)

环境变量配置在:#配置加在bashrc文件后面vi ~/.bashrc#配置完成强制生效source ~/.bashrc一.Java 8环境变量配置:#set Java8 environmentexport JAVA_HOME=/usr/lib/jvm/java-8-oracleexport JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${J

2017-09-07 18:39:15 261

原创 Android 监听广播autoLauch 防止启动页面被多次启动(笔记)

直接上代码: 1.监听USB插入的广播,这个广播自己插入android收usb是触发,当然我是监听自定义广播。 看下面manifest 配置,:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="come.l

2017-09-05 13:57:03 621

转载 探索Activity之启动Intent Flag和taskAffinity

引用上文生命周期和launchMode介绍, Activity的生命周期实际上比我们想象的复杂得多.本文主要通过实例, 来探索下Activity的启动Intent Flag以及taskAffinity对生命周期和Task/Back Stack的影响. 算是对生命周期和launchMode的一个补充, 以便我们在开发过程中灵活组合运用.照例, 我们先从一些官方解释开始:1, 相关概念

2017-08-30 11:46:02 829

原创 Android 防止启动页面(SplashActivity)被多次启动(笔记)

话不多说直接上代码: @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); if(!isTaskRoot()){ Intent i=getIntent();

2017-08-25 08:35:44 4131

原创 butterknife 使用(笔记)

butterknife 官网地址:https://github.com/JakeWharton/butterknife/tree/8.8.1 使用注释处理为您生成样板代码的Android视图的字段和方法绑定。 findViewById通过使用@BindView字段消除呼叫。 在列表或数组中组合多个视图。一次使用操作,设置器或属性操作它们。 通过@OnClick与其他人注

2017-08-21 11:33:40 609

原创 Crashlytics(最强大,最轻的重量崩溃报告解决工具)

花更少的时间找到和更多的时间修复崩溃。Crashlytics在iOS和Android上都是#1性能SDK,它提供了深刻可行的洞察力,甚至是应用程序崩溃的确切代码行。虽然Crashlytics为您提供了强大的崩溃报告功能,但通过一次点击,您可以启用实时分析,帮助您了解应用程序中发生的情况。Fabric的分析引擎可以深入了解您的核心目标,例如增长,保留和参与。最后,分析你不需要分析。官方参考地址: 1

2017-08-17 14:32:59 5106

原创 realm-android-library简单使用(笔记)

介绍: Realm 是一个 MVCC (多版本并发控制)数据库,由Y Combinator公司在2014年7月发布一款支持运行在手机、平板和可穿戴设备上的嵌入式数据库,目标是取代SQLite。 Realm 本质上是一个嵌入式数据库,他并不是基于SQLite所构建的。它拥有自己的数据库存储引擎,可以高效且快速地完成数据库的构建操作。和SQLite不同,它允许你在持久层直接和数据对象工作。在它之上是

2017-08-14 17:10:37 2086

原创 Dagger2 的简单使用

Dagger2是一个Java和Android的依赖注入框架. 本文介绍Android中dagger2的基本使用. 其中包括@Inject, @Component, @Module和@Provides注解的使用.使用依赖注入的好处 1.使用类和被依赖的对象构造分开,这样如果我们需要改变被依赖类的构造方法,不必改动每一个使用类. 2.对各种被依赖类的实例,可以只构造一次. 3.当我们需要更换一

2017-08-10 18:11:49 304

原创 NDK开发中JNI ERROR XXX table overflow (max = XX)异常

综述在Java虚拟的运行时数据分区中,本地方法栈用来保存native方法调用中产生的引用,虚拟机可以用之来做可达性分析GC Roots。如果本地方法栈中的引用一直存活,且保持一定数量,则与之相关的对象将无法被回收。此时就可能存在内存泄露的风险。Java虚拟机不允许无限制地创建本地引用,它为本地引用的数量设置了上限,一旦超过这个上限就会报出JNI ERROR XXX tabl

2017-08-02 08:43:04 441

原创 Android Studio错误:无法启动守护程序进程

Android 开发过程中,大家可能经常遇到这样的问题:错误.pngError:Unable to start the daemon process.This problem might be caused by incorrect configuration of the daemon.For example, an unrecognized jvm option is

2017-07-28 15:09:43 1491

原创 常用 Git 命令清单

一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库$

2017-07-28 14:58:20 246

原创 Android Studio3.0以下版本使用Java1.8注意

Android Studio3.0开始已经解决Java1.8使用不支持其他插件的问题,可以移除Jack模块,具体请参考:    https://developer.android.com/studio/write/java8-support.html#disable    As 3.0之前可以按照以下方法做使用Java1.8:    在build.gradle中配置:    /

2017-07-24 11:53:08 2567

原创 Android中使用Lambda表达式

Lambda ,如果不知道怎么读,那λ怎么读吧,它是Java1.8 新增的特性,详细介绍请看这里:Java 8简明教程。     lambda表达式取代了匿名内部类,取消了模板,允许程序猿用函数式风格编写代码,使代码可读性更高,尽管刚开始你会看不懂,但是你应该尝试,毕竟这是新的东西,我已从中获益。    格式基本格式是:() -> {}有下面三种具体表达:(pa

2017-07-21 10:37:41 502

原创 OttO-bus 事件总线

Otto是一个事件总线,旨在使您的应用程序的不同部分脱钩,同时仍然允许他们有效沟通。奥托为已经精炼的事件总线增添了独特的功能,并将其专门用于Android平台。 其实Otto-bus 就是观察者模式,它是通过注解的方式来实现过不同模块之间数据的传递,以减少类与类之间的耦合。是一个简单好用的第三方开源工具: 源码地址:http://square.github.io/otto/ Github

2017-07-18 18:08:01 741

AppRTCMobile.apk

该资源为 android 版本的AppRTCMobile app Dome,是最新官网源码编译,只有apk没有源码,仅用于测试webrtc 在androdi移动设备端的效果。

2017-03-13

Android界面切换与网络通信

Android 对于http 的网络通信,提供了标准的java 接口——httpURLConnection 接口,以 及apache 的接口——httpclient 接口。其中我自己用的比较多的而是httpclient 这个接口,因 为它的功能更为丰富很有效。 同时http 通信也分为post 方式和get 的方式,两个相比较的话,post 传送的数据量 比较大,安全性也比较高。因

2013-03-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除