android
文章平均质量分 88
小伙子wp
这个作者很懒,什么都没留下…
展开
-
编程思想之原则
一、一个艺术的问题先来欣赏两幅名画,一副是西方的油画《最后的晚餐》,一副是中国画《清明上河图》。比较两幅画的特点,一个是透视投影(Perspective Projection),一个是正交投影(Orthographic Projection)。这使我们非常容易的联想到了两款知名度很高的游戏《和平精英》和《王者荣耀》。我们知道这两款游戏一个是3D的,一个是2.5D(2D场景+3D人物+3D特效)的,在此可以体会一下下面两幅图和这两款游戏的感觉是不是很像。转存失败重新上传取消转存失败重新上传取消原创 2021-01-27 17:41:32 · 221 阅读 · 0 评论 -
编程思想之方法论
编程思想之方法论一、一个哲学的问题“太极生两仪,两仪生四象,四象生八卦”,三千多年前,周文王在伏羲原创基础上进一步演变,形成八卦图,中国先秦最重要的哲学家老子进一步悟出“道生一,一生二,二生三,三生万物”,而道法自然,这是个哲学问题。无独有偶,恰恰大自然中有阴阳两极,电有正、负两端,于是在集成电路控制下,正、负变成1、0,形成了二进制,仔细对照一下3位的二进制和八卦,简直一模一样,所以二进制也是一个哲学问题。从计算机基础开始,我们就知道,CPU、内存、主板基本就构成了计算机的主体,有了这些加原创 2021-01-27 17:23:54 · 297 阅读 · 0 评论 -
android屏幕适配全面总结
最初的设计中,Google手机是有物理键盘的。硬件方面上,第一款谷歌手机具备200MHz以上的处理器,64MB总存储容量,miniSD卡扩展,200万像素的摄像头+独立拍照按键,非触摸式16位色QVGA(320*240)分辨率的屏幕,物理尺寸是2.5in(2in*1.5in),dpi=160 2008年9月22日,谷歌正式对外发布第一款Android手机HTC T-Mo原创 2014-04-22 15:56:00 · 6261 阅读 · 0 评论 -
Android解决HAXM安装的问题
新版的Android模拟器需要先安装HAXM才能顺畅的使用。否则会出现如下报错:emulator: ERROR: x86 emulation currently requires hardware acceleration!Please ensure Intel HAXM is properly installed and usable.CPU acceleration status: H原创 2016-01-17 11:31:08 · 19629 阅读 · 2 评论 -
Android解决“发现了以元素 'd:skin' 开头的无效内容”
今天打开eclipse出现了很多错误提示,如下:Error: Error parsing F:\wangpeng\Android\adt-bundle-windows-x86_64-20140702\sdk\system-images\android-23\android-wear\armeabi-v7a\devices.xmlcvc-complex-type.2.4.d: 发现了以元素 '原创 2016-01-17 11:17:11 · 6862 阅读 · 2 评论 -
android解决No system images installed for this target
在进行Android开发的过程中大部分时间是用真机测试的,但是有时候需要测试在指定版系统上的稳定性,又没有足够的手机资源的情况下,模拟器就是最好的选择了。创建模拟器首先得需要有对应版本的sdk,但是下载一次sdk需要很长时间,这时候你可能会从同事那边拷贝过来。拷贝本来无可厚非,但是偶尔会产生一些问题,比如No system images installed for this target。如下原创 2016-01-16 16:19:36 · 3355 阅读 · 0 评论 -
OpenGL ES混合Blend
OpenGL开发中经常需要在物体外层再绘制一层,但是又不能覆盖地面的那层事物,相当于透明效果。这种情况可以使用Blend(混合)技术来实现,使用方法如下://开启混合GLES20.glEnable(GLES20.GL_BLEND); //设置混合因子cglBlendFunc(sfactor, dfactor);//TODO 绘制外层//关闭混合GLES20.glDisable(G原创 2015-11-26 11:40:42 · 3327 阅读 · 0 评论 -
OpenGL ES雾
其实一般来讲,在OpenGL中所实现的无效果和现实中的雾是有区别的。现实中的雾是充斥在空间中的,而OpenGL中的雾是附着在物体表面的,通过混合每个片元的颜色和一个常量的雾颜色来实现的,雾的密度量由顶点到相机的距离确定,离观察者近雾浓度小,而越远浓度越大。我们可以用线性关系或者非线性关系来来表达在顶点到相机之间的雾量。首先来看两个函数:smoothstep(float start, f原创 2015-11-26 15:59:58 · 869 阅读 · 0 评论 -
OpenGl ES光照
一、光照原理光照效果是由发射光,环境光,漫反射光以及镜面高光四部分组成,这四部分各自独立计算,然后再累加起来得到最终的光照效果。1、光特性发射光(emission):由物体自身发射的光。如果物体本身不发光,则无此属性。计算方法:发射颜色 = 物体的发射材质颜色2、环境光(ambient):就是哪些在环境中进行了充分散射的光,而无法分辨其方向的光。光线在物体表面上向各个方原创 2015-11-23 16:49:15 · 1639 阅读 · 0 评论 -
OpenGL ES纹理贴图
本文针对对OpenGL es有一定了解的人群,一些基础概念不多解释。一、三角形纹理映射OpenGL的平面映射首先是需要区分平面正反方向,一般默认右手定则,面向平面,顶点顺序按平面周边逆时针方向的为正向。默认不打开背面裁剪。可通过如下方法设置:GLES20.glEnable(GLES20.GL_CULL_FACE);//打开背面剪裁 默认不打开GLES20.glFrontFace(原创 2015-11-24 11:52:07 · 1924 阅读 · 0 评论 -
Android获取meta-data
在AndroidManifest.xml中,元素可以作为子元素, 被包含在、 、和元素中,不同的父元素,在应用时读取的方法也不同。 1 :在Activity应用元素。 xml代码段: java代码段: ActivityInfo info=this.getPackageManager()原创 2015-07-15 16:39:14 · 2091 阅读 · 0 评论 -
android WebView(五)WebChromeClient
WebView诸如获取页面的title、响应js中的alert、获取页面的加载进度等都可以通过设置WebChromeClient来实现。首先来看一下设置WebChromeClient的代码:webchromeclient = new SelfWebChromeClient( progressBar);webView.setWebChromeClient(webchromeclient);原创 2015-04-10 18:06:38 · 3860 阅读 · 0 评论 -
android耗时任务_handler
handler机制的5个角色在上一篇android处理耗时任务_ANR中简单的介绍了一个handler的用法,现在我们来看看他的基本原理。Handler:处理者,负责Message的发送及处理。使用Handler时,需要实现handleMessage(Message msg)方法来对特定的Message进行处理,例如更新UI等。Message:消息,携带要传送的信息和任务,是handl原创 2015-05-27 09:19:57 · 3348 阅读 · 0 评论 -
android studio继续深入ndk打包so库和jar Api
android studio 初步JNI开发android studio在原有项目中使用cmake构建JNIandroid studio用Javah创建.h头文件和编译运行android studio继续深入ndk打包so库和jar Api在AS的terminal中可以使用指令直接编译so库,如下:D:\wangpeng\android\workstudio\TestJni\jnilib\src\...原创 2018-05-02 11:43:01 · 2576 阅读 · 0 评论 -
android studio用Javah创建.h头文件和编译运行
android studio 初步JNI开发android studio在原有项目中使用cmake构建JNIandroid studio用Javah创建.h头文件和编译运行android studio继续深入ndk打包so库和jar Api首先一如既往的创建library module:jnilib,然后在jnilib\src\main\java目录中新建类JniUtil如下:package co...原创 2018-04-28 18:17:46 · 4367 阅读 · 0 评论 -
android studio在原有项目中使用cmake构建JNI
android studio 初步JNI开发android studio在原有项目中使用cmake构建JNIandroid studio用Javah创建.h头文件和编译运行android studio继续深入ndk打包so库和jar Api其实和上一篇文章一样,只是很多文件都是手动加入的。此外为了以后方便打包成公用的库,本文采用的是添加library module的形式添加cmake构建的JNI。...原创 2018-04-28 13:41:02 · 1050 阅读 · 0 评论 -
android studio 初步JNI开发
android studio 初步JNI开发android studio在原有项目中使用cmake构建JNIandroid studio用Javah创建.h头文件和编译运行android studio继续深入ndk打包so库和jar Api貌似android studio是从2.2版本开始引入cmake lldb,我门这些程序猿终于可以轻松一点的进行JNI开发了。我现在用的是2.3的,好像比2.2...原创 2018-04-27 18:00:28 · 703 阅读 · 0 评论 -
android studio 安装配置svn
1、下载安装TortoiseSVN下载地址https://tortoisesvn.net/downloads.html安装时需要勾选command line client。如果安装忘记勾选,重新双击安装文件,选择下图第一项,重新选择:安装完成后需要android studio配置svn路径如下:这样svn就安装好了,如果上面安装和配置有问原创 2017-12-14 13:08:39 · 479 阅读 · 0 评论 -
android studio常见问题
问题1:android studio run按钮灰色解决tools->android->Sync project with gradle files如果sync失败先解决失败原因。一般点解show log int explore可以查看失败原因问题2:Gradle sync failed: A problem occurred configuring project ...原创 2017-12-14 09:29:48 · 3394 阅读 · 0 评论 -
Android解决Download interrupted: Connection to https://dl-ssl.google.com refused
Android开发必然要下载sdk,但是谷歌的官网在大陆是被屏蔽的,绝大部分情况下是不可能下载成功的,常见的如下错误:Download interrupted: Connection to https://dl-ssl.google.com refused但是上帝关上一扇门的时候同时会打开几扇窗,国家在屏蔽谷歌的同时就考虑到了我们开发人员的感受,在国内有很多开源的网址可以访问到Androi原创 2016-01-16 16:34:26 · 9404 阅读 · 2 评论 -
android耗时任务_AsyncTask
AsyncTask是sdk封装好的一个轻量级的用于执行异步任务的工具类,所谓轻量级,就是说对于一两个线程就能完成的任务,AsyncTask能够非常快速方便的实现,但是对于像ListView每个item都需要进行刷新的异步任务,AsyncTask就没有那么容易去做了,而且做出来的效果也不好。下面来看一下这个类的基本结构public class MyTask extends AsyncTa原创 2015-07-04 09:53:19 · 1236 阅读 · 0 评论 -
android耗时任务_IntentService
如果你看到上一篇android耗时任务_HandlerThread中所提到的BackService类了的话,那么你肯定有一个冲动,就是把它封装起来方便使用。别急,Android SDK早就已经为我们提供了和那个BackService基本相同的类——IntentService。因为IntentService和BackService基本相同,所以源码我就不贴了。先来看一下一个简单的例子:原创 2015-05-28 14:30:56 · 1181 阅读 · 0 评论 -
android耗时任务_HandlerThread
HandlerThread 在上一篇android耗时任务_handler中介绍了handler的运作机制,并且介绍了一个普通线程中产生looper并使用handler机制通信的简单例子。我们知道在普通线程中是没有looper的,也就不好在普通线程空间中使用handler机制,如果每次都像上一篇的例子那样做的话就会略显麻烦。其实Android已经封装了一个拥有自己looper的线程Ha原创 2015-05-27 16:43:21 · 2588 阅读 · 0 评论 -
android账号与同步之同步实现
android账号与同步之账号管理android账号与同步之同步实现android账号与同步之发起同步上一篇博文我先介绍了账号与同步的账号管理,这篇就介绍一下另一部分,就是android给提供的sync同步机制的使用。其实sync机制的使用和上一篇博文中介绍的账号管理很类似,也是基于binder机制的跨进程通信。首先它需要一个Service,这个服务提供一个Action给系统以便系统能找到它;然后...原创 2014-07-12 12:56:00 · 4343 阅读 · 2 评论 -
android账号与同步之发起同步
android账号与同步之账号管理android账号与同步之同步实现android账号与同步之发起同步上一篇博文我介绍了账号与同步的同步实现过程,其中提供了一个工系统进程调用的服务,那么这个服务到底是怎么被启动和使用的呢?这篇博文我就大体梳理一下启动过程。其实作为一个一般开发人员,我们只要知道要想知道被监听的ContentProvider有变动,首先那个ContentProvider必须使用Con...原创 2014-07-13 14:52:17 · 4005 阅读 · 2 评论 -
android账号与同步之账号管理
android账号与同步之账号管理android账号与同步之同步实现android账号与同步之发起同步在android提供的sdk中,samples目录下有一个叫SampleSyncAdapter的示例,它是一个账号与同步的实例,比如Google原始的android手机可以使用Google账号进行数据的同步。具体的比如你想实时同步你的通讯录到服务端,这时候你就可以通过这个实例来了解android提...原创 2014-07-06 23:33:30 · 7303 阅读 · 0 评论 -
app备份与恢复研究
最近打算搞一个app备份与恢复的小应用,顾名思义,必然包括app的备份和app的恢复两部分。备份部分由可以分为apk的备份与data的备份两部分。需要注意的是备份与恢复都需要一堆的权限,尤其是恢复的时候。app的备份首先看看下面几个目录:system/app 系统自带的应用程序apk目录,无法删除。data/app 用户程序安装的目录,有删除权限。安装时把apk文件复制到此目录。原创 2014-06-05 19:40:33 · 6307 阅读 · 2 评论 -
dex.force.jumbo和Java heap space的问题
本片博文主要解决在Eclipse上开发Android遇到的两个问题。今天在引入一个同事给我的Android工程后,编译时出现两个错误,分别是dex.force.jumbo和Java heap space的问题,具体如下。1、dex.force.jumbo的问题,详情如下: Unable to execute dex: Cannot merge new index 66460原创 2014-06-03 20:27:21 · 7333 阅读 · 2 评论 -
adb和bat结合
adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,当我们运行Eclipse时adb进程就会自动运行。adb命令1. remount 重新挂载系统分区,使系统分区重新可写 adb remount 2. root 获取管理员权限 adb root3. d原创 2014-06-21 15:31:29 · 5033 阅读 · 0 评论 -
eclipse使用技巧总结
最近在使用eclipse开发android时遇到一些问题,和大家分享一下原创 2014-06-21 09:24:45 · 1161 阅读 · 0 评论 -
android耗时任务_ANR
ANR有些应用在使用中会弹出一个对话框,一般这个对话框叫做应用程序无响应对话框(ANR:Application Not Responding)。虽然这个提示框有等待和关闭应用程序两种选择,但是它的弹出就已经影响了用户使用app过程中的体验,所以一般来说,Android开发的过程中都会严格控制ANR的出现。ANR表面原因:应用在一定时间内(一般是5秒)没有响应输入操作(例如输入,按钮,手原创 2015-05-26 14:41:13 · 3706 阅读 · 0 评论 -
android WebView(三)WebViewClient
WebView自己加载子页面默认情况下,点击WebView所加载的页面上的超链接按钮时,是启动系统自带的浏览器去加载新的页面。如果要让WebView自己加载,需要添加如下代码:webView.setWebViewClient(new SelfWebViewClient());SelfWebViewClient继承自WebViewClient,如下:public class Se原创 2015-04-08 18:11:56 · 2015 阅读 · 0 评论 -
android WebView(四)与html交互
WebView如何与html相互交互很多时候WebView需要和html进行交互,要么需要通过Java代码控制页面活动,要么就是通过js触发Java代码,WebView提供了中机制。首先来看一下我们需要交互的html代码吧: MyHtml.html 大家晚上好 大家晚上好 大家晚原创 2015-04-09 16:05:35 · 2539 阅读 · 0 评论 -
android WebView(二)缩放
很多时候需要WebView加载的页面可以缩放,以方便阅读。其实WebView的缩放并没有那么简单,不能通过一两个属性就能设置好,一般情况下需要同时设置一下几个属性: // 设置可以支持缩放 webSettings.setSupportZoom(true); // 设置出现缩放工具 webSettings.setBuiltInZoomControls(true); /原创 2015-04-08 15:33:40 · 12118 阅读 · 0 评论 -
android WebView(六)下载和缓存
WebView下载有时候你所加载的页面有下载链接,如果你需要响应点击后下载的功能则需要进行如下处理: webView.setDownloadListener(new DownloadListener() { @Override public void onDownloadStart(String url, String userAgent, String conte原创 2015-04-14 11:24:01 · 1866 阅读 · 0 评论 -
android WebView(一)基本使用
WebView是Android用来加载网页的组件,如果要使用此组件加载网上页面,则需要添加网络权限: WebView和其他组件一样可以在xml中布局:<WebView android:id="@+id/webView" android:layout_width="fill_parent" a原创 2015-04-08 14:01:55 · 3079 阅读 · 0 评论 -
android 对代码混淆
上一篇博文已经写了有关apk的翻遍的方法,结果真的令人震惊,自己辛辛苦苦写的代码,结果就这么轻而易举的被别有用心的人给窃取了,哭都没地方哭。面对这个问题我们应该如何是好呢!本片博文告诉大家一个队代码进行混淆的方法。混淆就是对发布出去的程序进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能,而混淆后的代码很难被反编译,即使反编译成功也很难得出程序的真正语义。被混淆过的程序代码原创 2015-02-01 16:56:12 · 955 阅读 · 0 评论 -
apk反编译
工具反编译需要的工具上面都是命令行反编译,还有androidfly是图形界面,但是我所下载的反编译后的jar包无法查看,应该是因为不是最新的。反编译出资源文件使用apktool,办要反编译的apk复制到apktool文件加下:启动cmd,进入apktool目录下,然后运行如下命令(路径各有不同):C:\Users\ASUS>f:F:\>cd \w原创 2015-02-01 14:43:27 · 957 阅读 · 0 评论