android
Ryan_田震
有的时候忘记会比较轻松...
展开
-
调整AndroidStudio运行内存,防止写代码或运行时卡顿
修改Androidstudio 安装的bin目录下studio64.exe.vmoptions , 不是64位的?修改studio.exe.vmoptions注意: Xms 与 Xmx 是3倍比例, 网传其他博客很多的Xmx比Xms还要小,造成studio无法启动,我就被坑了,边猜边试了半天才发现是这个原因导致的系统默认:--------------------------------...原创 2019-05-16 15:37:40 · 2783 阅读 · 1 评论 -
Android开源游戏引擎
很多初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于 iPhone下有诸如Cocos2d-iphone之类的免费游戏引擎可供使用,一边自暴自弃的抱怨Android平台游戏开发难度太高,又连个像样的游 戏引擎也没有,甚至误以为使用Java语言开发游戏是一件费力不讨好且没有出路的事情。事实上,这种想法完全转载 2015-06-10 13:30:48 · 435 阅读 · 0 评论 -
overridePendingTransition()使用
实现两个 Activity 切换时的动画。在Activity中使用有两个参数:进入动画和出去的动画。注意1、必须在 StartActivity() 或 finish() 之后立即调用。2、而且在 2.1 以上版本有效3、手机设置-显示-动画,要开启状态//实现淡入浅出的效果startActivity(new Intent(MainActivity.this,S转载 2015-06-10 13:18:46 · 564 阅读 · 0 评论 -
android退出整个应用程序
Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢? 这里给大家三种比较简单的方法实现。 首先要说明在B中直接使用finish(),接下来手机显示的还是主窗口A,所以一起来看看是如何实现的吧。 1. Dalvik VM的本地方法 android.os.Process.killProcess(android.转载 2015-06-10 16:34:00 · 508 阅读 · 0 评论 -
android paint 研究总结
在Paint中有很多的属性可以设置,比如可以设置阴影,颜色过滤等等,这些会产生不同的奇妙效果,今天就对各种属性探索一下。方法一:1 //设置绘制的颜色,a代表透明度,r,g,b代表颜色值。 2 setARGB(int a,int r,int g,int b); 这个不多说了,还有两个类似的方法,将设置alpha和rgb分割开来了。注意的是这里的a值是0~255的范围转载 2015-06-05 14:50:02 · 356 阅读 · 0 评论 -
高斯模糊效果实现方案及性能对比
高斯模糊实现方案探究现在越来越多的app在背景图中使用高斯模糊效果,如yahoo天气,效果做得很炫。 这里就用一个demo来谈谈它的不同实现方式及各自的优缺点。1. RenderScript谈到高斯模糊,第一个想到的就是RenderScript。RenderScript是由Android3.0引入,用来在Android上编写高性能代码的一种语言(使用C99标准)。 引用官方文档转载 2015-06-16 14:55:08 · 688 阅读 · 0 评论 -
java抽象类和接口的区别
1.概述一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体的业务实现了。当你需要再开发另一个相近的项目时,你以前的抽象层说不定还可以再次利用 。面对对象的设计,复用的重点其实应该是抽象层的复用,而不是具体某一个代码块的复用。说到了抽象转载 2015-05-15 12:05:12 · 416 阅读 · 0 评论 -
TextView使用SpannableString设置复合文本
TextView使用SpannableString设置复合文本TextView通常用来显示普通文本,但是有时候需要对其中某些文本进行样式、事件方面的设置。Android系统通过SpannableString类来对指定文本进行相关处理,具体有以下功能:1、BackgroundColorSpan 背景色 2、ClickableSpan 文本可点击,有点击事件3、Foregrou转载 2015-05-14 11:27:29 · 666 阅读 · 0 评论 -
让多个Fragment 切换时不重新实例化
原文请见:http://www.yrom.net/blog/2013/03/10/fragment-switch-not-restart/在项目中需要进行Fragment的切换,一直都是用replace()方法来替换Fragment:123456789 public void switchContent(Fragment fr转载 2015-05-12 13:41:10 · 393 阅读 · 0 评论 -
Android用流方式读取raw文件夹中的内容
raw文件夹是android程序中res目录下自定义存放静态文件的一个目录,和assets一样不会被编译为二进制文件,与assets不同的是,该目录下的文件会被映射到R.java文件中,而且该目录并不支持多级目录。Android官方提供了相应的方法去访问该文件夹中的内容,故此我们并不需要进行相关的路径判断等代码操作,直接调用相关方法打开文件并得到一个字节输入流(InputStream);然后通转载 2015-05-12 13:41:39 · 4241 阅读 · 1 评论 -
Android studio第一次使用配置
原文博客地址:http://blog.csdn.net/u011732740/article/details/46722607?ref=myread【Android Studio的优势】基于Gradle的构建支持Android特定重构和快速修复更加丰富的模板代码,让创建程序更简单提示工具更好地对程序性能、可用性、版本兼容和其他问题进行控制捕捉直接支持ProGuard和应用签名功能;转载 2015-07-04 13:02:49 · 550 阅读 · 0 评论 -
android布局中显示隐藏动画
android除了使用animation做动画外,一直没注意到布局中的这个小属性,原来这么简单就能实现布局中View变动的动画,看来还是要多看API原创 2015-07-30 11:40:14 · 4113 阅读 · 1 评论 -
java自定义注解 @interface
转载地址:http://www.95582.net/a/J2EE/java/2010/0514/66.html@interface是用来自定义JAVA Annotation的语法,普通的开发人员可能很少用到它,但是它的功能很强大,本文将具体介绍@interface的用法! @interface是用来自定义注释类型的,如果你不了解J转载 2017-03-14 18:49:07 · 541 阅读 · 0 评论 -
java 反射/通配符/注解/抽象/继承
一.反射1反射机制是什么反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。2反射机制能做什么反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对转载 2017-02-27 11:20:52 · 907 阅读 · 0 评论 -
android 加载gif
参考1:http://my.oschina.net/u/1175746/blog/345159参考2:http://my.oschina.net/u/1175746/blog/288258参考3:http://download.csdn.net/detail/gaoyongaa/9383812DEMO下载地址:点击打开链接转载 2016-09-02 16:16:21 · 305 阅读 · 0 评论 -
用Parcelable接口传递Bitmap
Android中Intent传递对象有两个方法,一个是让对象实现Serializable接口,另一个是让对象实现Parcelable接口,Sample的话Google搜一下就很多了。大部分情况,Sample都是传递一个只有StringInt等基本类型的对象,如果需要传递图片的话,比如要传递Bitmap,用Parcelable接口的话,会比较容易,也不用特意转成数据流(其实是我不知道怎么用Ser转载 2016-09-02 15:46:15 · 1315 阅读 · 0 评论 -
Android 获取assets的绝对路径
第一种方法: String path = "file:///android_asset/文件名";第二种方法: InputStream abpath = getClass().getResourceAsStream("/assets/文件名");若要想要转换成String类型String path = new String(InputStrea转载 2016-09-02 14:01:29 · 2849 阅读 · 0 评论 -
Android音频编解码和混音实现
原文链接:http://my.oschina.net/daxia/blog/636074相关源码:https://github.com/YeDaxia/MusicPlus认识数字音频:在实现之前,我们先来了解一下数字音频的有关属性。采样频率(Sample Rate):每秒采集声音的数量,它用赫兹(Hz)来表示。(采样率越高越靠近原声音的波形)采样精度(Bit Depth转载 2016-09-09 13:13:21 · 11592 阅读 · 2 评论 -
Android 用MediaCodec实现视频硬解码
http://blog.csdn.net/halleyzhang3/article/details/11473961http://www.360doc.com/content/14/0119/10/8122810_346350456.shtmlAndroid 用MediaCodec实现视频硬解码本文向你讲述如何用Android标准的API (Medi转载 2016-09-09 16:09:51 · 1290 阅读 · 1 评论 -
android效果集合[链]
效果集合1: http://www.open-open.com/lib/view/open1411443332703.html效果集合2:http://www.bkjia.com/Androidjc/1011577.html效果集合3:http://www.cnblogs.com/hawkon/p/3593709.html效果集合4:http://www.kuqin.com/shuoi原创 2016-03-25 14:38:10 · 678 阅读 · 0 评论 -
防止Android程序被系统kill掉的处理方法
转载请注明出处:http://blog.csdn.net/cuiran/article/details/38851401目前遇到一个问题程序需要一直运行,并显示在最前端,但是运行一段时间发现会被系统Kill掉,这样程序就退出回到了桌面,不能实现一直运行的效果。为了实现此效果,也想了一些办法。如下:1、可以将应用改为系统应用——由于程序需要定期更新,如果被放入系统应用,更转载 2016-01-07 16:40:08 · 2238 阅读 · 0 评论 -
【Android】保存Fragment切换状态 FragmentPagerAdapter
前言一般频繁切换Fragment会导致频繁的释放和创建,如果Fragment比较臃肿体验就非常不好了,这里分享一个方法。 声明欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com农民伯伯: http://over140.cnblogs.com 正文一、应用场景1、不使用ViewPager转载 2015-05-12 13:46:31 · 779 阅读 · 0 评论 -
Android用流方式读取raw文件夹中的内容(大文件>1M)
近日在琢磨android系统,程序中用到了sqlite数据库,一切代码妥当,在发布时遇到点问题,就是raw单个文件不能超过1M,否则会报错"Data exceeds UNCOMPRESS_DATA_MAX ",而我的数据库的初始容量就是5M啦,网上寻找多时,大致分成两种方法:1>是将文件移动到sdcard中.这样倒是不受文件大小限制,不过对于apk的发布....不用我多说了吧.2>将单个文转载 2015-05-12 13:44:03 · 2456 阅读 · 0 评论 -
Android中的文件存储数据方式
1.文件存储数据使用了Java中的IO操作来进行文件的保存和读取,只不过Android在Context类中封装好了输入流和输出流的获取方法。创建的存储文件保存在/data/data//files文件夹下。 2.操作。保存文件内容:通过Context.openFileOutput获取输出流,参数分别为文件名和存储模式。读取文件内容:通过Context.openFileInp转载 2015-04-21 12:21:15 · 448 阅读 · 0 评论 -
增强for循环
增强型的for循环 优点主要体现在集合中,随便举个例子比如对 set 的遍历一般是迭代遍历:Set set = new HashSet();Iterator it = set.iterator(); while (it.hasNext()) { String str = it.next(); System.out.println(str); }for循环遍历: for (S转载 2015-01-08 13:59:57 · 436 阅读 · 0 评论 -
Android--使用TCP/IP协议实现断点上传(客户端-服务端代码)
0.使用http协议是不能实现断点上传的,对于文件大小不一,与实际需求可以使用Socket断点上传1.上传原理:Android客户端发送上传文件头字段给服务器,服务器建立socket连接,监听一个端口(7878),然后建立一个outStream接收到客户端的字段信息,服务器判断文件是否在服务器上,文件是否有上传的记录,若是文件不存在,服务器则返回一个id(断点数据)通知客户端从什么位置开始转载 2014-12-18 10:50:38 · 712 阅读 · 0 评论 -
android listview 的弹性滑动
弹性滑动的效果比较好看。但是 在2.2以下版本中,android 本身没有实现,想要实现这中效果要自己去写前几天在iteye上看见了一个博客给我很大的启示,于是自己动手实验了一下感觉还可以。在这里把我的源码给大家贴上让大家一起分享,希望大家也能提出更好的意见。废话不多说上源码:1.自己些一个MyListview 继承listview 类:[java] vi转载 2014-12-18 16:50:19 · 1089 阅读 · 0 评论 -
android使用HttpClient实现post get (+1)
这里只介绍如何使用HttpClient发起GET或者POST请求 GET 方式 Java代码 //先将参数放入List,再对参数进行URL编码 List params = new LinkedList(); params.add(new BasicNameValuePair("param1", "中国"));转载 2014-12-18 11:25:59 · 452 阅读 · 0 评论 -
android 建立Socket长链接 服务端 - 客户端代码(+1)
什么是TCP/IP协议?百度百科的解释:Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。转载 2014-12-18 11:04:09 · 707 阅读 · 0 评论 -
android 建立Socket长链接 服务端 - 客户端代码
Socket通常也称做”套接字“,用于描述IP地址和端口,废话不多说,它就是网络通信过程中端点的抽象表示。值得一提的是,Java在包java.net中提供了两个类Socket和ServerSocket,分别用来表示双向连接的客户端和服务端。这是两个封装得非常好的类,使用起来很方便! 下面将首先创建一个SocketServer的类作为服务端如下,该服务端实现了多线程机制,可以在特定端口转载 2014-12-18 11:00:16 · 757 阅读 · 0 评论 -
android 上传文件
package com.itrackstar.tcube.common;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.n转载 2014-12-18 10:58:03 · 371 阅读 · 0 评论 -
Android中Animation的使用总结
关于动画的实现,Android提供了Animation,在Android SDK介绍了2种Animation模式:1. Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画;2. Frame Animation:顺序播放事先做好的图像,是一种画面转换动画。动画类型下面先来看看Android提供的动画类型。Android的转载 2014-12-18 16:02:11 · 433 阅读 · 0 评论 -
android使用HttpClient实现post get (和文件上传)
在Android中,除了使用java.net包下的API访问HTTP服务之外,我们还可以换一种途径去完成工作。Android SDK附带了Apache的HttpClient API。Apache HttpClient是一个完善的HTTP客户端,它提供了对HTTP协议的全面支持,可以使用HTTP GET和POST进行访问。下面我们就结合实例,介绍一下HttpClient的使用方法。我们新建一转载 2014-12-18 11:14:47 · 3593 阅读 · 0 评论 -
观察者模式 Observer
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己。 观察者模式的组成 抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类和接口来实现。转载 2015-01-08 10:22:22 · 387 阅读 · 0 评论 -
Unified Emoji表情for Android
这个是我做Android以来碰到的最烦的东西,该死的emoji表情,恨之入骨。。无奈这个问题分配给我了。我也只能硬着头皮做。0.吐个槽先首先,你要明白什么是emoji表情,不知道的google,不需要支持emoji的可以绕道了。emoji有很多不同的版本,我tm最讨厌的就是不同版本的了。Unified DoCoMo KDDI Softbank Google因为ios转载 2015-01-26 10:21:52 · 885 阅读 · 0 评论 -
【译】Android:自定义字体方案
原文地址:http://vision-apps.blogspot.hk/2012/02/android-better-way-to-apply-custom-font.html在一个应用中,我需要在所有的UI组件中使用客户提供的字体。这听起来似乎是个很稀松平常的任务,不是吗?是的,我当时也是这么想的。然后我震惊了,Android竟然没有提供一个简单优雅的方式来做这件事情!所以,转载 2015-04-22 11:44:22 · 353 阅读 · 0 评论 -
如何让listview滚动到底部
今天在做聊天时,突然发现新发送或接受的内容不能自动刷刷新到可见的区域是件很恶心的事情,对用户来说。由于我的聊天显示用listview做的,那怎么让listview自动滚动到最底部呢? 其实很简单呢,就一句代码: 方法一:[java] view plaincopy// msgListView是ListView控件 // ada转载 2015-03-09 15:58:00 · 858 阅读 · 0 评论 -
Androidpn里的Xmpp的理解
XMPP(可扩展通讯和表示协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线探测。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息。用xmpp来实现android的push功能,感觉有点大材小用了,xmpp本身是一种即时通信协议。 xmpp是一种用于即时通信的协议,使用过程有点类似于我们使用QQ的过程,其使用过程分为三步: 1. 连接服务转载 2015-03-09 15:56:23 · 350 阅读 · 0 评论 -
xmpp12 获取好友
一、查询所有分组通过Roster来获取所有分组,Roster可以通过connection.getRoster()来得到。[java] /** * 获取所有组 * * @param roster * @return 所有组集合 */ public static List getGroups(Roster r转载 2015-03-17 15:42:25 · 398 阅读 · 0 评论 -
XMPP 实现推送,完善用户离线发送消息
关于服务器端向Android客户端的推送,主要有三种方式:1.客户端定时去服务端取或者保持一个长Socket,从本质讲这个不叫推送,这是去服务端拽数据。但是实现简单,主要缺点:耗电等2.Google的C2DM,具体不细说,缺点,服务器在国外,你懂得,不是很稳定。3.XMPP协议,它是一种基于XML的传递协议,具有很强的灵活性和可扩展性。它的特点是将复杂性从客户端转移到了服务器端。听转载 2015-03-19 11:04:13 · 1428 阅读 · 0 评论