android
Ricardo.M.Jiang
这个作者很懒,什么都没留下…
展开
-
Android实现电子邮箱客户端
本文主要讲述了安卓平台上利用QQ邮箱SMTP协议,POP3协议发送与接收消息的实现准备过程下载jar包在QQ邮箱中手动开启SMTP,POP3参考链接QQ邮箱开启SMTP服务的步骤_百度经验实现登陆与验证登陆界面,主要是两个输入框package com.email;import com.email.app.MyApplication;import com.email.utils.EmailF原创 2016-04-18 21:00:50 · 22806 阅读 · 27 评论 -
Android之ExpandableListView
ExpandableListView可以用来表现多层级的listView,本文主要是ExpandableListView的一个简单实现布局文件<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" an原创 2016-04-23 09:12:25 · 1176 阅读 · 0 评论 -
Android手绘效果实现
效果图![](Android自动手绘,圆你儿时画家梦! - huachao1001的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/huachao1001/article/details/51518322)原理大概介绍一下实现原理。首先你得有一张图(废话~),接下来就是把这张图的轮廓提取出来,轮廓提取算法有很多,本人不是搞图像处理的,对图像处理感兴趣的童鞋可以查转载 2016-05-31 12:29:40 · 2731 阅读 · 0 评论 -
Android客户端与服务器之间传递json数据
在服务器与客户端之间通信,json数据是一种常用格式,本文主要在服务器端构建数据,在客户端接收显示,并且在listview上显示出来服务器端的构建简单的javabean与返回结果函数与插入函数略过public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletE原创 2016-03-03 17:01:31 · 6413 阅读 · 0 评论 -
狗脸识别APP整合
本文主要包括以下内容android studio中导入so文件 通过URI获得Bitmap android studio中导入so文件在main文件夹下建立jniLibs目录,并将so文件拷贝进去即可。注意声明的native方法与so文件中定义的方法的包名必须相同通过URI获得Bitmapprivate Bitmap getBitmapFromUri(Uri uri) { try原创 2016-05-05 14:30:17 · 5239 阅读 · 0 评论 -
ShareSDK集成微信、QQ、微博分享
1、前言 为什么要使用第三方的作为集成分享的工具呢?而不去用官方的呢?有什么区别么? 一个字”快”,如果你使用官方的得一个个集成他们的SDK,相信这是一个痛苦的过程。2、准备需要分享的各个平台的key 这个需要自己去各个开放平台注册应用得到appkey, 才可以分享到该平台(QQ、微信、微博开放平台), 不然人家也不会让你无故分享到他们的平台 3、原创 2016-05-27 21:16:37 · 2662 阅读 · 0 评论 -
ListView滑动删除效果实现
通过继承ListView然后结合PopupWindow实现首先是布局文件: delete_btn.xml:这里只需要一个Button<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout转载 2016-05-15 11:43:59 · 1526 阅读 · 0 评论 -
Android之ViewDragHelper
在自定义ViewGroup中,很多效果都包含用户手指去拖动其内部的某个View(eg:侧滑菜单等),针对具体的需要去写好onInterceptTouchEvent和onTouchEvent这两个方法是一件很不容易的事,需要自己去处理:多手指的处理、加速度检测等等。 好在官方在v4的支持包中提供了ViewDragHelper这样一个类来帮助我们方便的编写自定义ViewGroup。简单看一下它的注释转载 2016-05-14 21:16:14 · 750 阅读 · 0 评论 -
Android之自定义ViewGroup
概述在写代码之前,我必须得问几个问题: 1、ViewGroup的职责是啥?ViewGroup相当于一个放置View的容器,并且我们在写布局xml的时候,会告诉容器(凡是以layout为开头的属性,都是为用于告诉容器的),我们的宽度(layout_width)、高度(layout_height)、对齐方式(layout_gravity)等;当然还有margin等;于是乎,ViewGroup的职能为:给转载 2016-05-14 17:05:11 · 697 阅读 · 0 评论 -
百度地图综合
本文主要包括百度地图API的综合应用,主要内容如下地图图层展示,包括热力图与实时路况图 添加覆盖物,包括图片,文字,折线等地图控制,包括俯视,旋转,放大,缩小等定位,并且用图标标示出来POI检索,检索出范围内的兴趣点公交线路查询路线规划,包括驾车,公交,步行。主界面package com.zj.mapall;import android.app.Activity;import原创 2016-04-19 20:26:15 · 6631 阅读 · 0 评论 -
Android之shape属性详解
有时候 ,为了满足一些需求,我们要用到 shape 去定义 一些背景,shape 的用法 跟图片一样 ,可以给View设置 Android:background=”@drawable/shape”, 定义的shape 文件,放在 res/shape 目录下通常我们可以用shape 做 button 的背景选择器,也可以做切换tab 时,底部的下划线。先看我们用shape 都可以做什么shape下面转载 2016-05-14 15:09:55 · 9750 阅读 · 0 评论 -
Android之canvas详解
首先说一下canvas类:Class OverviewThe Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitma原创 2016-05-14 10:57:24 · 22566 阅读 · 1 评论 -
Android自定义View
1.View是什么? View是屏幕上的一块矩形区域,它负责用来显示一个区域,并且响应这个区域内的事件。可以说,手机屏幕上的任意一部分看的见得地方都是View,它很常见,比如 TextView 、ImageView 、Button以及LinearLayout、RelativeLayout都是继承子View的。 对于Activity来说,我们通过setContentView(view)添加的原创 2016-05-13 21:35:24 · 900 阅读 · 0 评论 -
Android之Fragment(二)
本文主要内容如何管理Fragment回退栈 Fragment如何与Activity交互 Fragment与Activity交互的最佳实践 没有视图的Fragment的用处 使用Fragment创建对话框 如何与ActionBar,MenuItem集成等 管理Fragment回退栈类似与Andro转载 2016-04-08 14:54:57 · 3420 阅读 · 0 评论 -
Android之Fragment(一)
Fragment的产生与介绍Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的。难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊。Fragment的出现就是为了解决这样的问题。你可以把Fragment当成Activity的一个界面的一个组成部分,甚至A转载 2016-04-08 14:02:38 · 2657 阅读 · 0 评论 -
Android实现高仿QQ附近的人搜索展示
本文主要实现了高仿QQ附近的人搜索展示,用到了自定义控件的方法最终效果如下1.下面展示列表我们可以使用ViewPager来实现(当然如果你不觉得麻烦,你也可以用HorizontalScrollView来试试)2.上面的扫描图,肯定是个ViewGroup(因为里面的小圆点是可以点击的,如果是View的话,对于这些小圆点的位置的判断,以及对小圆点缩放动画的处理都会超级麻烦,难以实现),所以我们肯定需要自转载 2016-05-12 20:21:10 · 3949 阅读 · 0 评论 -
Android屏幕适配总结
重要概念什么是屏幕尺寸、屏幕分辨率、屏幕像素密度? 什么是dp、dip、dpi、sp、px?他们之间的关系是什么? 什么是mdpi、hdpi、xdpi、xxdpi?如何计算和区分? 在下面的内容中我们将介绍这些概念。屏幕尺寸屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米比如常见的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等屏幕分辨转载 2016-05-25 20:35:37 · 2435 阅读 · 0 评论 -
Material Design风格登录注册
本文实现了以下功能完整的代码和样例托管在Github当接口锁定时,防止后退按钮显示在登录Activity 上。自定义 ProgressDialog来显示加载的状态。符合材料设计规范。悬浮标签(floating labels)(来自设计支持库)用户表单输入校验自定义状态栏样式在每一个Activity 测试模仿验证的方法。剩下的就是实现自己的身份验证逻辑。源码获取源码地址 登录Acti转载 2016-05-18 21:46:24 · 4115 阅读 · 0 评论 -
Android之解析GML并显示
本例主要实现在APP中解析GML数据并显示GML,地理标记语言(外语全称:Geography MarkupLanguage、外语缩写:GML),它由开放式地理信息系统协会(外语缩写:OGC)于1999年提出,并得到了许多公司的大力支持,如Oracle、Galdos、MapInfo、CubeWerx等。GML能够表示地理空间对象的空间数据和非空间属性数据 实现思路GML文档解析GML文档的本质还是Xm原创 2016-04-23 19:29:27 · 7157 阅读 · 0 评论 -
Android下利用Bitmap切割图片
在自己自定义的一个组件中由于需要用图片显示数字编号,而当前图片就只有一张,上面有0-9是个数字,于是不得不考虑将其中一个个的数字切割下来,需要显示什么数字,只需要组合一下就好了。 下面是程序的关键代码: 在MyView(继承于View)类中的重写的onDraw(Canvas canvas)方法中,有如下代码段:Bitmap resource = BitmapFactory.d转载 2016-05-19 14:40:17 · 3096 阅读 · 0 评论 -
Android之WebView学习
WebView常用方法WebSettings在使用WebView前我们都要进行相关的配置,常见的操作如下: WebSettings settings = mWebView.getSettings(); settings.setJavaScriptEnabled(true); //支持javascript settings.setUseWideViewPor转载 2016-08-13 11:23:49 · 1443 阅读 · 0 评论 -
Android之IPC机制
Android IPC简介任何一个操作系统都需要有相应的IPC机制,Linux上可以通过命名通道、共享内存、信号量等来进行进程间通信。Android系统不仅可以使用了Binder机制来实现IPC,还可以使用Socket实现任意两个终端之间的通信。IPC基础概念介绍(1)Serializable接口是Java中为对象提供标准的序列化和反序列化操作的接口,而Parcelable接口是Android提供的原创 2016-08-15 20:09:27 · 1225 阅读 · 0 评论 -
EventBus学习入门
EventBus Features What makes greenrobot’s EventBus unique, are its features:Simple yet powerful: EventBus is a tiny library with an API that is super easy to learn. Nevertheless, your software archit原创 2016-06-16 17:39:15 · 1056 阅读 · 0 评论 -
FastPolice项目总结
This is the final homework for spatial information Mobile Service Lesson.It generally inclusived these models. welcome page I used a openlibary to do it ,when you first launch your application,the prom原创 2016-06-16 13:32:44 · 1183 阅读 · 0 评论 -
Android缓存学习入门(二)
本文主要包括以下内容 内存缓存策略 文件缓存策略 内存缓存策略当有一个图片要去从网络下载的时候,我们并不会直接去从网络下载,因为在这个时代,用户的流量是宝贵的,耗流量的应用是不会得到用户的青睐的。那我们该怎么办呢?这样,我们会先从内存缓存中去查找是否有该图片,如果没有就去文件缓存中查找是否有该图片,如果还没有,我们就从网络下载图片。本博文的侧重点是如何做内存缓存,内存缓存的查找策略是:转载 2016-06-16 09:22:11 · 1162 阅读 · 0 评论 -
Android缓存学习入门
本文主要包括以下内容 利用LruCache实现内存缓存 利用DiskLruCache实现磁盘缓存 LruCache与DiskLruCache结合实例 利用了缓存机制的瀑布流实例 内存缓存的实现public class PhotoWallAdapter extends ArrayAdapter<String> implements OnScrollListener转载 2016-06-14 15:27:52 · 1564 阅读 · 0 评论 -
Android高性能ORM数据库DBFlow入门
DBFlow,综合了 ActiveAndroid, Schematic, Ollie,Sprinkles 等库的优点。同时不是基于反射,所以性能也是非常高,效率紧跟greenDAO其后。基于注解,使用apt技术,在编译过程中生成操作类,使用方式和ActiveAndroid高度相似,使用简单。特性:1、无缝支持多个数据库;2、使用annotation processing提高速度;3、ModelCon转载 2016-06-12 20:40:04 · 2649 阅读 · 1 评论 -
FragmentPagerAdapter实现刷新
在fragmentpageadapter的instantiateItem方法里,他会先去FragmentManager里面去查找有没有相关的fragment如果有就直接使用如果没有才会触发fragmentpageadapter的getItem方法获取一个fragment。所以你更新fragments集合是没有作用的。所以要用新的方法实现刷新功能主要思路 就是用新的fragment替换Fragme原创 2016-06-06 20:03:28 · 3997 阅读 · 0 评论 -
Android单元测试
安卓单元测试总结文章,目测主要会cover以下的主题:什么是单元测试为什么要做单元测试JUnitMockitoRobolectricDagger2一个具体的app例子实践神秘的bonusJUnit测试在写测试之前,让我们做下简单的检查,确保工程配置正确。首先,确认在Build Variants窗口内的Test Artifact中选择了”Unit Tests”。如果不是的话,产生的测转载 2016-06-11 21:24:15 · 1527 阅读 · 0 评论 -
RxJava学习入门
RxJava是什么一个词:异步。RxJava 在 GitHub 主页上的自我介绍是 “a library for composing asynchronous and event-based programs using observable sequences for the Java VM”(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)。这就是 RxJava ,概转载 2016-06-10 15:28:20 · 1486 阅读 · 1 评论 -
环信SDK集成
利用环信SDK可以实现即时通讯,但在集成的过程中碰到了不少的坑。注意选择项目路径,这里以最新版环信demo为例 注意:环信的ChatDemoUI这个demo里边因为研发的同事为了照顾老版本的AndroidStudio使用者,已经用eclipse生成了build.gradle文件,所以如果要导入新版AndroidStudio请把build.gradle删除参考链接 关于新版AndroidStudi原创 2016-06-05 16:24:11 · 4323 阅读 · 0 评论 -
Android之记住密码与自动登陆实现
本文主要讲述了利用sharedpreference实现记住密码与自动登陆功能根据checkbox的状态存储用户名与密码将结果保存在自定义的application中,成为全局变量布局文件<?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/res/andro原创 2016-05-22 16:45:25 · 1129 阅读 · 0 评论 -
Android之Tab类总结
本文主要包括以下Tab类实现方式FragmentTabHost+Fragment实现传统的ViewPager实现 FragmentManager+Fragment实现ViewPager+FragmentPagerAdapter实现TabPageIndicator+ViewPager+FragmentPagerAdapterFragmentTabHost+Fragmen原创 2016-05-22 13:22:51 · 1967 阅读 · 0 评论 -
Android下拉刷新效果实现
本文主要包括以下内容 自定义实现pulltorefreshView使用google官方SwipeRefreshLayout下拉刷新大致原理 判断当前是否在最上面而且是向下滑的,如果是的话,则加载数据,并更新界面。自定义实现pulltorefreshViewpackage com.jimstin.pulltorefreshviewdemo.view;import com.jimstin.pu原创 2016-06-08 16:02:26 · 2969 阅读 · 0 评论 -
Android之Bundle类
API文档说明1.介绍用于不同Activity之间的数据传递1.重要方法clear():清除此Bundle映射中的所有保存的数据。clone():克隆当前BundlecontainsKey(String key):返回指定key的值getString(String key):返回指定key的字符hasFileDescriptors():指示是否包含任何捆绑打包文件描述符isEmpty()原创 2016-05-20 21:44:02 · 848 阅读 · 0 评论 -
BaseActivity与BaseFragment的封装
这篇博客主要是从BaseActivity与BaseFragment的封装开始,总结我们在实战开发中关于Fragment的注意事项以及心得体会。先看以下效果图:这里模拟的是用户登录模块,你可能会说,很普通的效果嘛,这有啥。嘿嘿,那我要告诉你的是,这么多模块仅仅由两个Activity构成的。等你从头到尾看完这篇博客,你就会惊叹其中的奥秘了。废话不多说,开始。本案例属于多模块Activity+多Fragm转载 2016-05-20 21:29:38 · 1834 阅读 · 0 评论 -
Android之智能问答机器人
本文主要利用图灵机器人的接口,所做的一个简单的智能问答机器人实现由于发送与接收消息都是不同的listView,所以要用有两个listVeiw的布局文件 接收消息布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2016-04-18 09:08:42 · 1324 阅读 · 0 评论 -
CSDN客户端实现
本文主要讲解实现了一个CSDN的安卓客户端,主要知识点如下java爬虫获取网页数据 将java程序打包成jar包 Fragment+viewpager+TabPageIndicator实现Tab效果 gestureImageView实现放大缩小图片imageLodar实现异步加载图上 XListView实现下拉刷新 java爬虫获取网页资源pac原创 2016-04-17 20:24:40 · 1681 阅读 · 0 评论 -
百度地图之添加覆盖物
本文主要讲解如何实现在百度地图上添加覆盖物1.承载数据的实体我们从服务器返回的数据部分,最终可能是个Json数组,我们需要转换为实体集合,即下面的Info.java 我直接在实体类中声明了一个静态列表集合,模拟从服务器返回的数据Info.infospackage com.zj.map2;import java.io.Serializable; import java.util.ArrayLis原创 2016-04-17 15:30:10 · 1378 阅读 · 0 评论 -
Material Design入门
本文主要包括以下内容ToolBar的使用 RecyclerView的定义与使用ToolBar风格 (style) 界面 (layout) 程序 (java) 首先自定义一个theme,并将AppTheme的parent改成我们自定义的theme(style.xml)<resources> <style name="BaseAppTheme" parent="T原创 2016-04-05 21:44:07 · 1171 阅读 · 0 评论