Welcome 微信登录

首页 / 移动开发 / Android

安卓GreenDao框架一些进阶用法整理

安卓GreenDao框架一些进阶用法整理

大致分为以下几个方面:一些查询指令整理使用SQL语句进行特殊查询检测表字段是否存在数据库升级数据库表字段赋初始值一、查询指令整理1.链式执行的指令return mDaoSession.getUserDao().queryBuilder(). XXX. XXX. XXX. list();一般的查询语句会在中间xxx的位置加上各种判断和过滤的方法指令,除了最后的终结指令list()或unique()返回的是集合或业务对象,其他的都是返回QueryBuilder...
详解Android_性能优化之ViewPager加载成百上千高清大图oom解决方案

详解Android_性能优化之ViewPager加载成百上千高清大图oom解决方案

一、背景最近做项目需要用到选择图片上传,类似于微信、微博那样的图片选择器,ContentResolver读取本地图片资源并用RecyclerView+Glide加载图片显示就搞定列表的显示,这个没什么大问题,重点是,点击图片进入大图浏览,比如你相册有几百张图片,也就意味着在ViewPager中需要加载几百个view,况且手机拍出来的图片都是1-2千万左右像素的高清大图(笔者手机2千万像素 也就是拍照出来的照片3888*5152),大小也有5-7个兆,Vie...
Android中WebView加载的网页被放大的解决办法

Android中WebView加载的网页被放大的解决办法

在某些大分辨率下,我们用WebView加载的网页可能会出现被放大的现象,这显然不是我们想要的结果,我开始看WebSettings这个是否可以设置不缩放,webSettings.setBuiltInZoomControls(false),我发现这样设置后没有任何效果,没办法只得继续看代码。后来看到有个这样的属性:WebSettings.ZoomDensity才最终解决这个问题(网址如下:http://www.Android-doc.com/reference...
Android防止点击过快造成多次响应事件的解决方法

Android防止点击过快造成多次响应事件的解决方法

最近开发过过成中遇到一些小问题,比如一个btn点击用户可能只点击了一次但是后台响应了多次,像一些表单的提交出现这种问题比较棘手,当然解决这种问题的方案比较多:比如自定义单次点击的btn,或者在点击的时候将按钮设置为不可点击,或者做一个计时器等等,这些都是解决的方案,至于具体怎么使用,这就要看程序员的编码风格了,首先来看看具体问题:onClick事件是Android开发中最常见的事件。比如,一个Button,功能是点击会提交一个订单,则一般代码如下 :btn...
Android Loader详细介绍及实例代码

Android Loader详细介绍及实例代码

一,Android装载器基本方法装载器从android3.0开始引进。它使得在activity或fragment中异步加载数据变得简单。装载器具有如下特性:它们对每个Activity和Fragment都有效。他们提供了异步加载数据的能力。它们监视数据源的一将一动并在内容改变时传送新的结果。当由于配置改变而被重新创建后,它们自动重连到上一个加载器的游标,所以不必重新查询数据。装载器API概述在使用装载器时,会涉及很多类和接口们,我们在下表中对它们总结一下:C...
打造酷炫的AndroidStudio插件

打造酷炫的AndroidStudio插件

前面几篇文章学习了AndroidStudio插件的基础后,这篇文章打算开发一个酷炫一点的插件。因为会用到前面的基础,所以如果没有看前面系列文章的话,请先返回。当然,如果有基础的可以忽略之。先看看本文实现的最终效果如下(好吧,很多人说看的眼花):虽然并没有什么实际用途,但是作为学习插件开发感觉挺有意思的。1. 基本思路基本思路可以归结如下几步:1)、通过Editor对象可以拿到封装代码编辑框的JComponent对象,即调用如下函数:JComponent c...
Android实现支付宝6位密码输入界面

Android实现支付宝6位密码输入界面

我们先来照图分析一下:(1)限制输入6位,每一位都有自己的框格,每个格显示一位;(2)有回退/取消支付按钮;(3)有忘记密码链接;(4)自定义的只能输入数字的键盘输入区;(5)在6位输完后自动进行密码校验和支付交易。如上图左边是iOS支付宝支付密码输入控件,右边是我模仿实现的效果。首先,我们需要一个页面来完成以上的静态布局,.xml代码如下:<?xml version="1.0" encoding="utf-8"?><Re...
Android实现界面左右滑动切换功能

Android实现界面左右滑动切换功能

相信大家一定都使用过手机QQ和微信之类的软件,当我们使用时不难发现其界面的切换不仅可以通过点击页标签来实现,还可以通过左右滑动来实现的,耗子君刚开始学Android时就觉得这样的滑动十分酷炫,十分想要自己来实现它。相信大家也和耗子君一样,想要迫不期待的学习怎样实现了吧,OK,下面我来详细的讲一下如何实现这个功能。先来欣赏一下效果图吧:首先,我们先来认识一下控件 ViewPagerViewPager是Android SDk中自带的一个附加包android-s...
Android学习之介绍Binder的简单使用

Android学习之介绍Binder的简单使用

前言最近因为公司项目需求,需要远程调度启动客户端输入法输入内容。这就是大致的需求流程,这篇首先讲远程与服务控制端通讯。首先控制服务端定义好一个Service,且在ServiceManager注册添加服务。在这里我讲解远程端与服务控制端通讯(主要通过C++往ServiceManager注册服务)。首先我们得获取到服务控制端注册在ServiceManager的服务IBinder对象,通过Java反射机制获得Ibinder接口对象。 public static ...
Android自定义View接收输入法输入的内容

Android自定义View接收输入法输入的内容

前言可能对于很多新人来讲,看到这个题目,想到的能接收输入法输入的内容大概只有EditText和TextView这两个控件了,其实不然,只要是View的子类,都可以接收输入法输入的内容。现在我们一步一步来实现,第一步我们得有一个View的子类。实现方法//首先我们得重写View中的一个方法,返回true,就是让这个View变成文本可编辑的状态,默认返回false。@Overridepublic boolean onCheckIsTextEditor() { ...
Android进程通信之Messenger和AIDL使用详解

Android进程通信之Messenger和AIDL使用详解

1. 前言提到的进程间通信(IPC:Inter-Process Communication),在Android系统中,一个进程是不能直接访问另一个进程的内存的,需要提供一些机制在不同的进程之间进行通信,Android官方推出了AIDL(Android Interface Definition Language),它是基于Binder机制的。上篇提到组件在与Service通信方法有三种。实现IBinderMessengerAIDL后面两种可以跨进程通信,是基...
详解Android 进程间通信的几种实现方式

详解Android 进程间通信的几种实现方式

一、概述由于应用程序之间不能共享内存。在不同应用程序之间交互数据(跨进程通讯),在Android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content Provider可以跨进程访问其他应用程序中的数据(以Cursor对象形式返回),当然,也可以...
Android之使用Bundle进行IPC详解

Android之使用Bundle进行IPC详解

一、Bundle进行IPC介绍四大组件中的三大组件(Activity、Service、Receiver)都是支持在Intent中传递Bundle数据的,由于Bundle实现了Parcelable接口,所以它可以方便地在不同的进程之间传输。当然,传输的数据必须能够被序列化,比如基本类型、实现了Parcelable接口的对象、实现了Serializable接口的对象以及一些Android支持的特殊对象,具体内容可以看Bundle这个类,就可以看到所有它支持的类...
<< 21 22 23 24 25 26 27 28 29 30 >>