android开发
lansus
这个作者很懒,什么都没留下…
展开
-
jcenter 代理换成阿里云
//jcenter() maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }原创 2020-07-20 21:26:29 · 1549 阅读 · 0 评论 -
Android进阶(jni部分三)ABI
ABI ,不同的Android设备有不同的CPU,而不同的CPU有不同的指令集。CPU与指令集的每种组合都有专属二进制。ABI包含信息:可使用的 CPU 指令集(和扩展指令集)。运行时内存存储和加载的字节顺序。Android 始终是 little-endian。在应用和系统之间传递数据的规范(包括对齐限制),以及系统调用函数时如何使用堆栈和寄- 存- 器。可执行二进制文件(例如程序和共享...原创 2020-04-25 09:56:45 · 787 阅读 · 0 评论 -
Android进阶(jni部分二)ndk-build&CMake
概览本部分简要介绍了 NDK 的工作原理。Android NDK 是一组使您能将 C 或 C++(“原生代码”)嵌入到 Android 应用中的工具。能够在 Android 应用中使用原生代码对于想执行以下一项或多项操作的开发者特别有用:在平台之间移植其应用。重复使用现有库,或者提供其自己的库供重复使用。在某些情况下提高性能,特别是像游戏这种计算密集型应用。主要组件在编译应用时,您...原创 2020-04-18 17:01:44 · 506 阅读 · 0 评论 -
Android进阶(jni部分一)
前言现在准备花一点时间在Android的技术更新上,往下层走。首先是从应用层走到jni层。开始慢慢的学习没并且做好记录。也许个人的技术不好,但是希望记录能够帮助同行。Android程序执行流程Android 系统启动过程Android系统基于linux内核,所以启动时候最先通过Bootloader来加载linux内核,然后初始化Linux内核,最后去调用初始化的init进程。Android...原创 2020-04-11 13:53:09 · 144 阅读 · 0 评论 -
android 6.0 动态权限处理
最近在做项目的时候使用到了高德地图,出现了在android 6.0之后的版本里定位无效,看到了好久才发现原来是并未申请到权限。查看了一下谷歌官网的android 6.0的一些改动。第二条就是动态权限。This release introduces a new permissions model, where users can now directly manage app permissions原创 2016-06-22 15:15:06 · 429 阅读 · 0 评论 -
android 工程找不到org.apach以及处理
android 6.0地提出使项目在gradle20以后再也找不到org. apach,官方是这样描述的: Android 6.0 release removes support for the Apache HTTP client. If your app is using this client and targets Android 2.3 (API level 9) or higher,原创 2016-06-22 16:17:43 · 514 阅读 · 0 评论 -
koltin学习教程 androidstudio 使用koltin 语言编程
新的语言类型不断的更新换代,老的语言设计也不再适合快速的开发,ios在去年的开发者大会推出了swift语言,而android 也有了它的swift替代版—Koltin Language。Kotlin是由JetBrains开发,基于JVM的一门新的编程语言。开发过Android的童鞋应该都知道Android Studio,它就是基于Intellij IDEA开发的,而Intellij IDEA正是由J原创 2016-12-08 13:09:33 · 3054 阅读 · 0 评论 -
android 时间范围选择器PickTimeDialog
个人提供了自己封装的第三方时间选择器,能够自定义时间格式,以及设置时间范围。基础使用 PickTimeDialog pickDilog= new PickTimeDialog(this).setMaxTime(Calendar.getInstance()).setOnPickTimeDialogListener(this).create().cantlable().setOnKeyListe原创 2017-05-25 09:48:36 · 11321 阅读 · 2 评论 -
gradle自动化构建2 :安装和使用gradle
上篇我们了解了自动化构建,说白了,就是通过一段命令行来将手动编译,构建转化未代码自动构建,只用等待结果就行了。下面我们来进行安装和初步使用gradle 。 Gradle 安装我们可以从官方网站下载gradle最新版本,下载网址为 https://gradle.org/install/,我推荐下载包含工具和帮助文档的版本。下载下来以后根据不同的电脑系统需要配置环境变量,下面我简...原创 2018-08-31 11:12:49 · 738 阅读 · 0 评论 -
《实战gradle》 自动化构建一 了解自动化构建
最近在看Benjamin Muschko 的《实战 Gradle》,虽然这本书并不是基于现在的android|Studio的角度来写的。但是描述的自动化构建原理非常的透彻,所以我在阅读的同时把它记录下来,希望能帮到需要这部分内容的朋友们. 项目自动化自动化的好处 在项目没有自动化的时候,虽然IDE给我们做了很多的事情,但是代码的集成完全是一个灾难,而且测试过程慢的...原创 2018-08-30 11:04:21 · 338 阅读 · 0 评论 -
Retrofit:kotlin中如何解析java的boolean类型
现在kotlin 已经慢慢替代java了,我在用kotlin编写项目中遇到一个问题,即在使用Rxjava+Retrofit2库网络请求的时候出现一个问题。因为后台的数据类型肯定是java类型,所以boolean是java类型,但是因为我们前端是在kotlin中使用retrofit,所以我们会使用如下写法。接口写法 @FormUrlEncoded @POST("phone/sysa...原创 2019-04-03 15:41:38 · 1225 阅读 · 2 评论 -
qq分享回调不成功解决
首先第一句,腾讯公司的技术是狗屎中的狗屎,包括用到的微信sdk和qqsdk,封装sdk的人技术看透了。、qq分享,官方给的代码,大部分还要加activtiy回调,这样写: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.o...原创 2019-06-17 14:36:50 · 2022 阅读 · 0 评论 -
Android微信支付的预支付获取优化版
第一句,微信支付sdk非常的狗血,那么大的公司,sdk竟然没什么人维护,支付宝甩他几十条街。神奇的sdk接入操作,必须要自己写一个特定wxapi命名包在代码根目录,对不起,我是强迫症患者,看了就接受不了。下面主要吐槽的是,每次优惠代码或者重构项目的的时候,官网的例子工程,还是eclipse 工程,13年的货。这也就算了,支付流程第一步,统一下单的网络请求例子给的是httpclient 请求。谷歌...原创 2019-07-05 13:43:10 · 365 阅读 · 0 评论 -
ListView 加载数据 Holder 数据项重复 , 乱序
最近写项目犯了了一个很微小的错误。却导致了一个很大的问题,自定义的listview加载数据一直都在乱序和重复,代码如下: public View getView(int position, View convertView, ViewGroup parent) { if ((convertView == null)) { convertView= Layo原创 2016-03-24 10:03:51 · 523 阅读 · 0 评论 -
解决android 单击事件和移动事件的冲突
最近点项目中,做到一个悬浮框,类似360的,但是碰到一个问题。单击和移动出现了冲突,两个点击事件出现了重合,即,移动的时候也会响应单击的事件,研究了一会后,可以通过取得按下的时间和手指地抬起时间计算张贴代码,希望帮到更多的人 view.setOnTouchListener(new OnTouchListener() { long downTime;原创 2016-03-21 11:10:21 · 2730 阅读 · 2 评论 -
原生态动作解析和Linkify介绍
原生态应用程序有时候在项目开发的时候会经常用到,下面就是常用原生态动作。ACTION_ALL_APPS | 打开一个列出所有已安装应用程序的ActivityACTION_ANSWER | 打开一个处理来电的Activity ,本地电话拨号进行处理ACTIVITY_BUG_REPORT| 显示一个可以报告Bug 的Activity,ACTION_CALL原创 2015-08-04 17:08:23 · 1085 阅读 · 0 评论 -
滑动手势导致的子控件是小问题解决
最近在写的项目立出现了对一系列手势的监察,在写的过程中发现对父控件设置了onTouchListenr()后会导致的子控件的获取焦点失败,比如说滑动换页,但是当设置后发现那个页面的其他控件的点击事件都没有响应了。 其中找了一下ontouch的一些参数,发现ontouch的点击事件基本都是返回布尔类型的。当返回false 的时候,touch会把这个焦点继续传递给其他的空控件,但是如果是true就直接原创 2015-09-29 17:07:56 · 465 阅读 · 0 评论 -
AndroidMediaPlayer.prepare已经报错解决办法
在最近开发的软件中,在做线程对音频文件的解析以及播放过程中,发现如果对mMeadiaPlayer进行重新装载资源的时候会报错:AndroidMediaPlayer.prepare为空的情况,本人实现了好多种方法,发现最有效的办法就是,就使用MediaPlayer装载的第二个方法,就是不需要准备的那个方法,就是在先打开文件的文件下们进行装载,而在直接插入URL进行装载的时候,就会与报错:代码如下:原创 2015-09-16 11:19:58 · 4082 阅读 · 0 评论 -
Listview点击事件失效问题解决以及每个Item 子控件获取focus
最近在写一个开源的播放器,碰到了一问题,就是listview在自定义item的内容之后点击出现无效,后来才发现原来是因为当item里面包含了子控件,例如TextView、Button等之后,子控件会优先获得Focus焦点导致了父控件获取不到,所以我们必须要对其进行设置。1、解决listview设置的OnItemClickListener()无效。 我们会发现在ListView中有一个属性desc原创 2015-09-06 09:23:53 · 3444 阅读 · 0 评论 -
android 使用mupdf开源开发pdf详解
最近由于在开发一款需要上线的电子阅读器,现在详细讲述一下pdf模块部分的分享。 在网上找了好多的开源pdf的源代码,都不是太好,其中看到的最好的是开源的mupdf,优化做的很好,解析的比较快,所以需要对源代码进行加载和构建,因为其的底层通过在ndk写的,所以需要搭建ndk平台换件。1. Android NDK环境搭建 前面的android 环境搭建就不说了。在这里讲到接下来的NDK环境搭建。首原创 2015-08-28 16:54:28 · 9303 阅读 · 6 评论 -
MeadiaPlayer的异步释放资源+线程处理
在用MediaPlayer类来写播放器的过程中,我们能够发现,新建的MediaPlayer对象在调用start方法后,关闭了所在的activity,Meadia播放并没有停止,那是引起mediaplayer调用的事底层JNI的本地方法_native _start(),的过程中已经开了一个服务。在退出界面的情况下去关闭歌曲播放服务,我一直在查找官方类中是否能够找到有关所开服务的相关说明,或者通过Ac原创 2015-09-17 15:47:52 · 947 阅读 · 0 评论 -
android 添加背景方框
只需要添加一个xml配置未见,在drawble新建一个自定义,这里名字设为shape文件 内容如下:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="@color/white" />原创 2015-10-23 14:29:40 · 3919 阅读 · 0 评论 -
fragment中加入tabhost以及修改TabWidget
现在的应用的数据量越来越多,应用都需要在fragment中嵌入选项卡对信息进行分类,例如知乎、简述 但是在fragmen中嵌入tabHost,我不支持用其他的方法去实现仿按钮,因为多少会有点别扭闲话少说,今天说的是在fragment里加入tabHost控件,因为fragment的控制文件class是只能继承一个类,所有无法再去继承TabActivity。我们需要采取的解决办法是: 现在fra原创 2015-10-23 14:17:48 · 1712 阅读 · 1 评论 -
android 里listview和ScrollView的冲突问题
最近再写的客户端中出现了listView和ScrollView冲突的问题,就是往下滑动的时候只有listview在滑动,而实现的效果是要整体LinearLayout滑动,所以修改代码如下,将需要实现ScrollView效果的代码写成即可: <ScrollView android:fillViewport="true" android:layout_w原创 2015-10-23 14:24:45 · 653 阅读 · 0 评论 -
android项目epub格式电子书开源开发
对于时下最流行和最强大的电子书格式我感觉应该非epub莫属了。但是。epub的解析,却不是简单的文件流读取,他需要的是利用js对资源的分类和分布解析,同步文字、音频、图片等。 最近选取的一个开源库,是readium.我感觉是选择最好的一个库,解析稳定,快速http://readium.org/ .但是还有另外一个开源库,EPUB3Reader,git为:https://github.com/原创 2015-09-21 08:41:38 · 10743 阅读 · 4 评论 -
android 第一次进入的引导界面实现方法
最近在写一个基础框架,介绍一下最简单的实现引导界面的功能,引导界面包括三个部分,一个Viewpager,一个个圆点指示器,一个Button,用来进入主界面,也可以不需要按钮,到最后一样再向右划动一下在进入。在写引导界面的时候我们还需要先在启动界面添加一个判断方法,判断是否是第一次进入软件,这个可以用简单的配置文件就饿能搞定 private static final String ISFIRSTIN_原创 2015-10-14 10:47:53 · 2564 阅读 · 0 评论 -
android activity与任务原理解析及设置
一个 activity 可以启动另外一个,甚至包括与它不处于同一应用程序之中的。举个例子说,假设你想让用户看到某个地方的街道地图。而已经存在一个具有此功能的 activity 了,那么你的 activity 所需要做的工作就是把请求信息放到一个 Intent 对象里面,并把它传递给 startActivity()。于是地图浏览器就会显示那个地图。而当用户按下 BACK 键的时候,你的原创 2015-10-16 08:51:04 · 806 阅读 · 0 评论 -
高德地图使用(一)--定位
现在的app中经常会用到对地图的调用,包括定位以及导航等,这里我们公司所做的项目里,我同ios部讨论了一段时间,还是选择高德地图吧,高德相对百度而言地图内容更加丰富,接口更加有好一点,精确度更高一定。高德地图的api配置也不多说了,官方文档很详细,具体到eclipse和AS都有,现在需要的去讲的是如何在自己的代码中去实现API所给的哪些功能,先前在网上也找了很多资料,但基本上都是那么不尽人意,最后还转载 2015-12-03 15:51:49 · 10115 阅读 · 0 评论 -
androidstudio导入eclipse源码和乱码问题
最近在使用androidstudio平台,在从eclipse到androidstudio的转换中,也有几点心得。 第一,eclipse的新建项目是可以导入androidstudio中的,导入方法如下打开“File”->”New”->”Important project”; 2.在打开的界面里选择需要导入的eclipse 工程项目即可; 3.现在就需要更改project的几个文件来重新原创 2015-07-01 20:06:10 · 755 阅读 · 0 评论