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
pengwei
0
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
安卓开发过程中的一些技巧
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 style各部分颜色定义
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(
[转]别让愤怒占据你的灵魂
地铁里一对情侣,男生扯着嗓子喊:跟你说了多少次了,你为什么就是不记得,你是不是有病。 女孩子拉着男生的衣服,小声说:对不起,你别当着这么多人跟我喊啊。 我们是路人,我们不知道比彼此之间发生了什么。可能这个女孩子找了前男友,可能又她乱花钱,或者她出轨了? 谁知道,可是,我们路人只有一个想法,男孩子好没风度,竟然这么失态,发那么大的火。 愤怒是把人变坏的最好法宝。 人一旦愤怒,冲动这只魔鬼就被放了出来,就会变得语无伦次,甚至做出格的事情,到头来追悔。 你我都不是完人,生气是理所当然。 今天工作不顺利,领导太二,伴侣又说了哪句话,朋友昨天背叛,或者股票贬值。 的确,我们有太多理由去愤怒。 比较,愤怒是最好的出口,你只用抱怨、谩骂甚至殴打对方就好。 甚至很多人把愤怒带回家,施加给最亲的人,因为这最亲的人,不会对你做些什么。 可是,这些东西爆发后的结果呢? 你会发现,问题并不能解决,有时候,甚至变得更糟。 那些愿意包容你愤怒的人,
利用adb查看设备当前栈信息
利用adb查看当前设备的所有activity信息 adb shell #dumpsys activity activities 显示信息如下 ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities) Main stack: * TaskRecord{430c7458 #29 A com.baidu.bpit.dushenghuo U 0} numActivities=10 rootWasReset=false userId=0 affinity=com.baidu.bpit.dushenghuo intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=