android studio NDK环境搭建

1.下载NDK 在src/main/jni目录下 新建文件 Android.mk 和 Application.mk,hello-jni.c文件内容如下 Android.mk LOCALPATH := $(call my-dir) include $(CLEARVARS) LOCALMODULE := hello # 生成的静态链接库或动态链接库的名字, linux 下生成 libhello.so LOCALSRCFILES := hello-jni.c # 所有的源文件,空格隔开 include $(BUILDSHARED_LIBRARY) # 生成动态链接库 Applocation.mk APP_ABI := all # 生成所有CPU架构下的库,如果没有 Application.mk 默认只会生成 arm 架构下的库 hello-jni.c

阅读全文...

android error和解决方法合集

错误1:Binary XML file line #24: Error inflating class android.support.design.widget.NavigationView inflate Caused by: java.lang.reflect.InvocationTargetException 在使用NavigationView过程中一直崩溃,系统报错如上。在网上找了很多答案没有生效,终于在stackOverflow里找到了答案,原因是com.android.support:appcompat和com.android.support:design版本不一样导致的,版本号改成一样的就好了。 原文链接:http://stackoverflow.com/questions/30709419/error-inflating-class-android-support-design-widget-navigationview 错误2:UnsupportedOperationException  client.interceptors().add(interceptor) 解决方法: OkHttpClient okClient = new

阅读全文...

python模拟网页上传文件

在开发过程中经常有需要上传文件,而python上传文件官方并不直接支持,网上的大部分方案都是用python poster库来支持文件上传,用这种方式上传文件确实也特别的简单。 poster用法请参考这里:http://atlee.ca/software/poster/ 今天我要介绍的是模拟网页来上传文件,这样不需要依赖第三方库,使用和传播都更加的方便。 既然是模拟网页提交,我们先来看看网页上传文件到底上传了什么内容? 这是请求的header,我们主要关注的是Content-Length、Content-Type、和提交的数据,如果上传文件涉及到身份的验证,可能还需要关注Cookie 这是提交的内容,总共提交了四个字段 app   字符串  值为dlife platform 字符串  值为android type  字符串   值为package file 文件 文件流 可以看到一些规律,字符型数据都是如下的内容 ------WebKitFormBoundarywxxHf5sLp9I0dQCs Content-Disposition: form-data; name="app" dlife 总共分为4行 第一行 ——WebKitFormBoundarywxxHf5sLp9I0dQCs  boundary值,和Content-Type里面boundary一致,boundary是内容之间的分隔符

阅读全文...

Robolectric使用shadowOf报错httpclient找不到

在使用Robolectric  shadowOf方法的时候,发现一运行单测就报错 Error:(26, 30) 错误: 无法访问AndroidHttpClient 找不到android.net.http.AndroidHttpClient的类文件 在google上找到了答案,在android api23开始google就移除了HttpClinet相关的类,有两种方法解决上述问题。 方法一:在build.gradle添加应用useLibrary ‘org.apache.http.legacy’ android { compileSdkVersion 23 buildToolsVersion "23.0.0" useLibrary 'org.apache.http.legacy' .... } 方法二:在test目录下添加HttpClient类(记得包名为android.net.http) 如果你项目中没有用到HttpClient,推荐第二种方法,第二种方法正式打包并不会把HttpClient的类加入,减少了包中无用的资源。 参考:https://github.com/robolectric/robolectric/

阅读全文...

react-native入门教程[一]

相信看到这篇文章的人都不用再去详细介绍React-Native是何物吧,就开发平台而言对mac os的支持比较好,window上的支持还不怎么完善,window看这里 1. 配置环境 1.1安装Homebrew 在终端下执行下面命令,或者从http://brew.sh/安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 1.2 安装nodeJS (版本必须>4.0,通过node  -v查看版本号) *通过Homebrew安装 brew install node *通过pkg安装包安装: http://nodejs.cn/ 1.3 安装watchman brew install watchman

阅读全文...

C语言指针基础知识

* 和 & 用法 * 就是取指针所指地址处保存的数值, & 就是去一个变量的地址。 例如: int a=10; print("\n%d",&a); //打印出来的是a的地址 print("\n%d",*(&a); //打印出来的是10 数组名代表数组的首地址,数组指针的加减可以实现指针指向数组上一个或者下一个元素的功能 int a[10]={1,2,3,4,5,6,7,8,9,0}; int *p = a; cout << *p << endl; cout <<

阅读全文...

安卓开发过程中的一些技巧

1.获取TextView的行数(不能直接getLineCount()) final TextView totalTitleNo = (TextView) findViewById(R.id.tvacsub_account); ViewTreeObserver vto = totalTitleNo.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { int lineCount = totalTitleNo.getLineCount(); System.out.println(lineCount); } });

阅读全文...

android string.xml中设置部分字体颜色或者样式

在程序中经常需要给部分文字添加颜色或者加粗,斜体之类的,想到的最好方式当然是用html,android的TextView也是支持加载基础的html的代码的。 在string.xml中添加需要高亮的文字 %1$s 话题 首先想到的应该就是这样吧,这样编译不会报错,但是没有任何效果,为什么呢?因为xml把font也当作一个标签来读取了(android studio会高亮),但是又不能识别,所以没有任何效果。 我们应该吧 < 和 > 符号进行转义 以下为XML标志符的数字和字符串转义符 ”               (" 或 ") ‘                (' 或 ') &              (& 或 &) lt(<)          (< 或 <) gt(>)         (> 或 >) 转义后的字符串为 %1$s 话题 在代码中进行设置就好 textView.setText(Html.fromHtml(String.format( getString(

阅读全文...

[转]别让愤怒占据你的灵魂

地铁里一对情侣,男生扯着嗓子喊:跟你说了多少次了,你为什么就是不记得,你是不是有病。 女孩子拉着男生的衣服,小声说:对不起,你别当着这么多人跟我喊啊。 我们是路人,我们不知道比彼此之间发生了什么。可能这个女孩子找了前男友,可能又她乱花钱,或者她出轨了? 谁知道,可是,我们路人只有一个想法,男孩子好没风度,竟然这么失态,发那么大的火。 愤怒是把人变坏的最好法宝。 人一旦愤怒,冲动这只魔鬼就被放了出来,就会变得语无伦次,甚至做出格的事情,到头来追悔。 你我都不是完人,生气是理所当然。 今天工作不顺利,领导太二,伴侣又说了哪句话,朋友昨天背叛,或者股票贬值。 的确,我们有太多理由去愤怒。 比较,愤怒是最好的出口,你只用抱怨、谩骂甚至殴打对方就好。 甚至很多人把愤怒带回家,施加给最亲的人,因为这最亲的人,不会对你做些什么。 可是,这些东西爆发后的结果呢? 你会发现,问题并不能解决,有时候,甚至变得更糟。 那些愿意包容你愤怒的人,

阅读全文...