
android
文章平均质量分 73
zxc123e
这个作者很懒,什么都没留下…
展开
-
Android 通过 TensorFlow 训练模型识别手写数字
随着机器学习的发展,目前已经涌现出很多不错的学习框架,其中 Google 推出的 Tensorflow 是最流行的可以说没有之一,并且越来越多的机器学习成果应用到移动端,例如人脸检测、语音识别的 App。本场 Chat 将用最简单的方式,利用 Tensorflow 实现手写数字识别,并将 Tensoflow 训练好的模型移植到 Android 手机上运行。在这个过程中会了解机器学习的一些基本概念和...原创 2018-07-09 10:12:16 · 1201 阅读 · 0 评论 -
使用mina保持android端和服务端的长连接
mina简介Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架。它是一个介于应用程序与网络之间的NIO框架,通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的、事件驱动的、异步的API。使程序员从繁琐的网络操作中解脱出来,花更多的时间在业务处理上。 mina分为三层,如下图: 1、IOService层:处理IO操作 2、IOFilter层:过滤器原创 2017-01-23 11:26:25 · 4581 阅读 · 0 评论 -
Android 地区快速索引
直接上效果图,先有个直观感受! 功能主要就是点击右边的字母索引,就可以跳到相应字母开头的地区列表并置顶。我们主要工作是自定义右边的字母索引这个View。下面罗列一下相关知识点,后面直接贴代码。 (1)自定义View的基础知识,这里是继承View来实现 (2)自定义View中的接口回调(View状态变化时执行回调) (3)RecyclerView的使用,当然也可以用ListView。下面直接原创 2017-01-24 11:00:06 · 1021 阅读 · 0 评论 -
Android常用代码
当在加入属性:android:theme="@android:style/Theme.NoTitleBar.Fullscreen",时,EditText的样式是这样子的:原创 2014-05-21 10:58:34 · 919 阅读 · 0 评论 -
获取另一个apk中的资源文件
如何获取另一个apk的资源?在聊这个问题前,先来看看我们在程序中调用getResources()方法,为何获取的是自己apk中的资源文件。追踪程序中getResources()方法,首先我们找到ContxtThemeWrapper.java中的如下代码:@Overridepublic Resources getResources() { if (mResources != null) {原创 2016-12-23 17:26:50 · 4441 阅读 · 0 评论 -
Android OpenGL ES显示3D模型
这篇文章我们来来看如何将一个STL文件显示出来,把STL文件显示出来,那么我们就可以显示任意的3D模型了。下面是显示一把狙击枪的效果图: 什么是STL文件网上的解释是这样的:.stl 文件是在计算机图形应用系统中,用于表示三角形网格的一种文件格式。 它的文件格式非常简单, 应用很广泛。STL是最多快速原型系统所应用的标准文件类型。STL是用三角网格来表现3D CAD模型。一般3D打印机都是支持打原创 2016-12-12 17:35:28 · 7846 阅读 · 2 评论 -
Android OpenGL ES 画出三棱锥
如今VR这么火,感觉有必要学学OpenGL。什么是OpenGL ES ,OpenGL ES (为OpenGL for Embedded System ) 为适用于嵌入式系统的一个免费二维和三维图形库。OpenGL ES 定义了一个在移动平台上能够支持 OpenGL 最基本功能的精简标准,以适应如手机,PDA 或其它消费者移动终端的显示系统。这篇文章不着重讲理论方法的东西,关于理论知识大家可以去看这个原创 2016-12-06 16:14:50 · 2497 阅读 · 0 评论 -
android 退出程序三种方法及两种形式
没有eoe的账号,级别还太低,出门如何吹牛逼?您需要 登录 才可以下载或查看,没有帐号?免费加入 x在平常开发的过程中可以发现,很多开发者对于程序的退出都没有去认真的解决。一般要么是一个简单的finish(只是退出当前的activity),要么是其他的方法,比如: 1、第一种方法:首先获取当前进程的id,然后杀死该进程:android.os.Process.ki原创 2014-05-20 11:36:10 · 3280 阅读 · 0 评论 -
Android Studio 你可能不知道的使用技巧
Ctrl+shift+A:快速查找android studio中的菜单 例如设置自动导入类的功能,只要在输入框中输入Auto Import然后选择对应项即可。 在自动提示以后使用 Tab 键替换当前的方法或值 coding过程中,如果要修改某个方法名,当弹出代码提示,按下回车,那么补全的内容会插入到原来内容的前面,这不是我们想要的内容,其实这时候不应该按回车,而是Tab键。 根据后缀自动生成的代原创 2016-08-26 13:55:36 · 2504 阅读 · 0 评论 -
Android之AIDL
一. 基本认识在Android中,每个应用(Application)执行在它自己的进程中,无法直接调用到其他应用的资源,当一个应用被执行时,一些操作是被限制的,比如访问内存,访问传感器,等等。这样做可以最大化地保护系统,免得应用程序“为所欲为”。那我们有时需要在应用间交互,怎么办呢?于是,Android需要实现IPC协议。然而,这个协议还是有点复杂,主要因为需要实现数据管理系统(在进程或线程间传递数原创 2015-06-16 11:44:34 · 937 阅读 · 0 评论 -
Android后台优化
文章译自:https://developer.android.com/topic/performance/background-optimization.html#connectivity-action后台进行需要更高的内存和电量。例如,一个隐性的广播也许会唤起多个监听它的后台进程,尽管这些进程没错做什么,这也会对设备性能和用户体验有一个实质性的影响。为了缓解这个问题,Android 7.0(API翻译 2016-09-30 17:38:11 · 2355 阅读 · 3 评论 -
使用Android Studio检测内存泄露
内存泄露,是Android开发者最头疼的事。可能一处小小的内存泄露,都可能是毁千里之堤的蚁穴。 怎么才能检测内存泄露呢? AndroidStudio 中Memory控件台(显示器)提供了一个内存监视器。我们可以通过它方便地查看应用程序的性能和内存使用情况,从而也就可以找到需要释放对象,查找内存泄漏等。熟悉Memory界面打开日志控制台,有一个标签Memory ,我们可以在这个界面分析当前程序使用的原创 2016-10-25 16:53:06 · 10737 阅读 · 2 评论 -
android仿ios开关按钮
效果图 实现起来比较简单,直接上代码。public class SlipButton extends View{ private boolean nowChoose = false;// 记录当前按钮是否打开,true为打开,flase为关闭 private boolean onSlip = false;// 记录是否在滑动 private float nowX;// 当前的原创 2016-09-21 17:45:11 · 1542 阅读 · 0 评论 -
android ExpandableTextView可伸缩的TextView
类似微信朋友圈里面,当文章太长时会隐藏一部分,当点击展开时就全部显示,这样一种效果。关于这个自定义ViewGroup:1.onFinishInflate方法执行的时机2.自定义的animation以及动画的兼容3.自定义的一些属性maxCollapsedLines (默认为8) 当TextView 收起的时候允许显示的最大行数。animDuration (默认300ms)展开收起动画的持续时间原创 2016-09-24 18:16:58 · 2107 阅读 · 0 评论 -
android事件处理机制
android中可以通过两种方式发送短信 第一:调起系统发短信功能;主要代码如下:原创 2014-11-20 11:25:47 · 2912 阅读 · 0 评论 -
Android 图案解锁
首先还是看效果图。 图案解锁的功能在许多应用中都有用过,它比起数字解锁,带给用户的体验要好,今天就来一步一步实现这个功能。一、初始化初始化放在onDraw方法中,因为onDraw方法在绘制过程中会执行多次,我们设置一个标量isInit,使初始化只执行一次。@Override protected void onDraw(Canvas canvas) { if (!isI原创 2017-02-08 17:32:47 · 1987 阅读 · 0 评论 -
导航栏联动效果( HorizontalScrollView+ViewPager)
依然直接上效果图 当导航栏有多个选项,超出了手机屏幕的宽度,我们需要一个导航栏和下面内容联动的效果。上面两个图对比可以看出,当滑动到第四页时,整个导航栏都往左移动了。导航栏在initGroup()动态生成,注意联动效果的控制,其他都很简单,直接上代码。IndexActivity类全部代码/**Created by charmingfst on 2016/8/26. * HorizontalScr原创 2016-08-26 17:22:43 · 5793 阅读 · 2 评论 -
Android自动化测试框架Robotium
目前用于Android的测试框架已经有很多,比如:Monkey、Appium和Robotium等。Monkey这是大家比较熟悉的,Android自带的系统工具。Monkey通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试,是用于测试软件的稳定性、健壮性的快速有效的方法。.Appium测试相当于黑盒测试。这个测试框架,一般用于测试UI逻辑的...原创 2018-05-22 11:35:57 · 15311 阅读 · 1 评论 -
通过编译时注解生成代码实现自己的ButterKnife
背景概述注解的处理除了可以在运行时通过反射机制处理外,还可以在编译期进行处理。Java5中提供了apt工具来进行编译期的注解处理。apt是命令行工具,与之配套的是一套描述“程序在编译时刻的静态结构”的API:Mirror API(com.sun.mirror.*)。通过Mirror API可以获取到被注解的Java类型元素的信息,从而提供自定义的处理逻辑。具体的处理工具交给apt来处理。编原创 2018-01-20 16:23:34 · 2707 阅读 · 0 评论 -
使用kotlin编写第一个Android应用界面
使用Kotlin开发App快速高效,最直接的一个感受就是你的代码量减少了很多。这里写了一个小例,效果如下:这个界面总体布局是:根布局是CoordinatorLayout,然后上部分是AppBarLayout,下部是ViewPager管理的Fragment。下面直接上代码,根据代码说明相关情况。CoordinatorActivity.kt文件import kotlinx.android.synth原创 2017-07-12 16:29:30 · 5490 阅读 · 0 评论 -
Gradle for Android
android下可配置项android { defaultConfig { //默认配置项,defaultConfig就是程序的默认配置,注意,如果在 AndroidMainfest.xml里面定义了与这里相同的属性,会以这里的为主。 } buildTypes { // 编译配置,release或debug版本的内容 } compi原创 2017-06-03 14:28:26 · 598 阅读 · 0 评论 -
android 自定义View--圆环颜色选择器
最近工作需要,自定了一个颜色选择器,效果图如下:颜色种类是固定的,圆环上有个指示器,指示选中的颜色,这个定义起来应该是很简单了,直接上代码。public class MyColorPicker extends View { private int mThumbHeight; private int mThumbWidth; private String[] colors ;原创 2017-04-26 17:51:34 · 2814 阅读 · 0 评论 -
Android性能优化--优化启动速度
一、初识应用启动应用启动的流程在安卓系统上,应用在没有进程的情况下,应用的启动都是这样一个流程:当点击app的启动图标时,安卓系统会从Zygote进程中fork创建出一个新的进程分配给该应用,之后会依次创建和初始化Application类、创建MainActivity类、加载主题样式Theme中的windowBackground等属性设置给MainActivity以及配置Activity层级上的一些原创 2017-05-27 10:38:00 · 639 阅读 · 0 评论 -
Android性能优化--防止内存泄漏
防止内存泄漏使用Service时,尽量使用IntentService,这样可以避免忘记关闭服务。避免一个对象被比它生命周期长的对象持有或引用,这样会导致该对象无法被释放,内存泄露。 如对一个Activity Context保持长生命周期的引用,即使这个Activity已经被销毁了,但相关内存无法被释放。对于生命周期长的对象,可以使用ApplicationContext。 非静态内部类的静态实原创 2017-05-04 14:38:01 · 654 阅读 · 0 评论 -
Android Scroller简单用法
1.知识点在了解Scorller类之前应先知道View的ScrollTo(int x, int y)/ScrollBy(int x, int y),了解什么是视图坐标,什么是布局坐标。之后我们来看一下Scroller的源码。Scoller一般用在自定义View中public class Scroller { private int mStartX;原创 2014-12-24 17:46:55 · 2722 阅读 · 0 评论 -
Android性能优化--过度绘制
渲染机制前提知识android 的渲染主要分为两个组件:1.CPU 2.GPU,由这两者共同完成在屏幕上绘制 。CPU:中央处理器,它集成了运算,缓冲,控制等单元,包括绘图功能.CPU将对象处理为多维图形,纹理(Bitmaps、Drawables等都是一起打包到统一的纹理)。GPU:一个类似于CPU的专门用来处理Graphics的处理器,用来帮助加快格栅化操作,当然,也有相应的缓存数据(例如缓存原创 2017-05-12 17:58:18 · 7646 阅读 · 0 评论 -
在Android中应用MVP模式
MVP在Android项目中的应用已经不是什么新鲜事了,什么是MVP模式这里也不做详细说明,先上一张图:View:Activities, Fragments and Widgets are all ‘Views’ Model:Data layer consists of Model objects, SQLite, API data, ContentProvider etc; Presenter原创 2017-03-19 21:38:48 · 946 阅读 · 0 评论 -
Android中常见的设计模式
1. Builder模式在开发过程中,我们经常用到AlertDialog。在Android源码中,最常用的Builder模式就是AlertDialog.Builder,使用该Builder来构建复制AlertDialog对象。 2. 组合模式Android源码中关于组合模式有一个非常经典的实现,那就是View和ViewGroup的嵌套组合。 在Android的视图层级中,容器一定是Vie原创 2017-02-15 17:57:16 · 1230 阅读 · 0 评论 -
android ListView的item侧滑删除
首先看一下效果图,有个直观认识 主要功能就是ListView的item可以侧滑,出来一个删除按钮,点击delete就删除该item。这是一个相对比较综合的例子,来看看动手之前需要准备哪些知识。 1. 对自定义View要有一定的知识基础 2. 事件的拦截以及反拦截的相关知识,以便很好的解决事件冲突问题,关于事件机制,可以参看android事件处理机制 3. 滑动器Scroller的使用原创 2017-01-17 18:27:06 · 11426 阅读 · 2 评论 -
RxJava初探
1. 简史ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发,在2012年11月开源,Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,Rx库支持.NET、JavaScript和C++,Rx近几年越来越流行了,现在已经支持几乎全部的流行编程语言了,Rx的大部分语言原创 2016-06-08 17:54:13 · 2807 阅读 · 0 评论 -
Android基础概况
M(Window) V(View) C(Controller)Activity什么是activity1.描述一下activity的生命周期 Here's the order of operations that occur when Activity A starts Acivity B:1.Activity A's onPause() method executes.原创 2014-03-07 14:48:40 · 827 阅读 · 0 评论 -
android 仿去哪儿首页效果
首先上效果图 第一张图是进入该界面的效果,顶部是一个viewpager,下面每个块都是自定义的view HomeButton,第二张图是点击右边第一个方块的效果,点击时方块整体有收缩的效果,中间会显示手印,手指抬起时又恢复原样。在之前的一片文章已经详细介绍了view的绘制流程,这里不多说,除了知道view的绘制流程外,我们还应该落实到实处,要做好自定义view当然要熟悉drawable和c原创 2016-08-10 17:33:08 · 2083 阅读 · 1 评论 -
android之位置坐标
control.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub System.out.println(v.getX()+"-----原创 2014-12-11 17:38:58 · 11353 阅读 · 1 评论 -
android与javascript交互(Binding JavaScript code to Android code)
1.如何建立android与javascript的交互To bind a new interface between your JavaScript and Android code, call addJavascriptInterface(), passing it a class instance to bind to your JavaScript and an interface name原创 2015-03-03 13:18:31 · 1348 阅读 · 0 评论 -
Android程序异常崩溃处理
public class CrashHandler implements Thread.UncaughtExceptionHandler { public static final String TAG = "CrashHandler"; private static CrashHandler INSTANCE = new CrashHandler(); private Co原创 2015-03-02 14:25:30 · 855 阅读 · 0 评论 -
android布局优化
开始布一个局转载 2014-11-07 10:00:29 · 685 阅读 · 0 评论 -
Android之ndk
有关Android JNI开发中比较强大和有用的功能就是从JNI层创建、构造Java的类或执行Java层的方法获取属性等操作。 一、类的相关操作 1. jclass FindClass(JNIEnv *env, const char *name); 查找类 该函数可能做过Java开发的不会陌生,这个是JNI层的实现,需要注意的是第二个参数为const c转载 2015-01-14 14:16:10 · 1067 阅读 · 0 评论 -
android客户端通过webServcie与服务器交互,如何保持Session
private static SoapObject getCommon(SoapObject request) { // 鑾峰緱搴忓垪鍖栫殑Envelop SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); envelope.bodyOut = requ原创 2014-12-03 15:29:26 · 2753 阅读 · 0 评论 -
android之属性动画
from http://blog.youkuaiyun.com/singwhatiwanna/article/details/17841165前言感谢你阅读本文,我坚信读完本文肯定不会让你失望的。想要做动画牛人?想要精通动画?那么本文所讲的内容都是你必须要掌握的。关于动画,我已经写了两篇博文,但是还是没有将动画描述全面,于是我写了本文,另外,我后面还会再写一篇属性动画的源码分析,通过这四篇转载 2015-01-06 17:08:51 · 810 阅读 · 0 评论 -
android客户端与服务器端交互 如何保持session
最近在开发项目的过程中,遇到android与web服务器要在同一session下通信的问题。在解决问题前先回顾下Session与Cookie:Cookie和Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问题而所做的努力。Session可以用Cookie来实现,也可以用URL回写的机制来实现。Cooki转载 2014-12-03 15:21:42 · 54703 阅读 · 6 评论