安卓开发
SnakeFung
这个作者很懒,什么都没留下…
展开
-
Android 中的两种压缩图片方式
安卓开发经常用到bitmap,有些位图因容量过大,很容易导致内存溢出(OOM),本文就如何压缩大位图发表一下个人见解。正文之前先提一嘴,编写安卓程序之前,请把eclipse中Window---preferences---genearl---workspace 中的编码格式改为UTF-8,不然你的程序放到另一台电脑时就可能出现中文乱码现象。下面两个Demo一个是在utf-8格式下编写的,一个是在原创 2013-12-06 16:42:35 · 1261 阅读 · 1 评论 -
Android 下拉刷新控件 SwipeRefreshLayout
上个月,google发布了自己的下拉刷新控件------SwipeRefreshLayout,该控件封装在android-support-v4.jar包中,依靠监听OnRefreshListener实现刷新操作。该控件用法十分简单,setEnable()方法控制刷新是否可用,setRefreshing()方法控制刷新进度条动画是否可用,由于是要实现下拉刷新,官方文档明确指出该控件所含有的一个直接子原创 2014-04-25 14:01:52 · 2353 阅读 · 0 评论 -
Android 数据库升级解决方案
转载自http://blog.csdn.net/leehong2005/article/details/9128501。转载 2014-06-04 09:49:39 · 645 阅读 · 0 评论 -
Android onTouchListener 触屏接口总结
Android中一个控件可以同时注册多种事件,像一个Button,可以同时监听触摸事件、单击事件、长按事件;在不同的情况下可以执行不同的操作,那么是如何做到的呢?首先,onTouch事件是最先发生的,该事件的返回值也决定了长按事件和单击事件能否发生。触屏操作由一些基本的事件组成:如down事件,up事件,move事件,scroll事件等等,经测试,各事件执行顺序结果如下:button.se原创 2014-04-15 14:55:25 · 2737 阅读 · 0 评论 -
【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
转载自http://blog.csdn.net/feng88724/article/details/6333809转载 2014-05-29 11:32:41 · 801 阅读 · 0 评论 -
Android 动态生成布局 (多层嵌套)
Android 除了可以加载xml文件,显示布局外,也可以代码生成布局,并通过setContentView(View view)方法显示布局。单独的一层布局,如一个主布局加一个控件(如Button\imageView等)动态生成代码比较简单,下面只给出示例代码:package com.example.android_dongtaishengcheng;import android.os原创 2014-05-30 09:13:26 · 6974 阅读 · 0 评论 -
Mediaplayer setVideoSurfaceTexture failed: -22问题的解决。
最近在做的项目中,有一个播放列表界面,类似于优酷的播放界面,上面是播放器,下面是播放列表;在做这个页面时,遇见了一个头痛的问题:如果当前视频正在播放,点击播放列表时,不能加载该item项的视频,需要再次点击该item,才能切换视频播放,也就是说,我的应用和优酷的最大区别在于:我要双击才能播放视频列表中的视频。这个问题一直困扰我了两周,今天在log日志中突然发现了E/MediaPlayerServi原创 2014-09-01 15:33:10 · 5237 阅读 · 0 评论 -
AndroidPN环境建立
转载自http://www.cnblogs.com/devxiaobai/archive/2011/07/09/2101794.html转载 2014-10-27 13:49:56 · 705 阅读 · 0 评论 -
Android中利用DisplayMetrics取得手机屏幕大小
转载自http://www.linuxidc.com/Linux/2011-09/43628.htm转载 2014-10-28 10:42:08 · 1362 阅读 · 0 评论 -
androidpn提示错误信息:java.lang.NoClassDefFoundError: org.androidpn.client.PersistentConnectionListener
转载自http://blog.taorenjia.com/?p=305学习androidpn这一xmpp协议的消息推送实现,碰到一个问题:client端 导入eclipse无法运行,提示 Could not find class 'org.androidpn.client.PersistentConnectionListener'包下有这个类,怀疑环境问题,一转载 2014-10-27 13:47:42 · 1013 阅读 · 0 评论 -
自定义可拖动TextView
写自定义拖动控件要了解的一些知识点:1.View.getLeft() view.getTop() view.getRight() view.getBottom( )这四个方法是View类的方法:作用是获取view左边沿、右边沿到Y轴的距离,上边沿、下边沿到X轴的距离(坐标轴是以父布局左上角为坐标原点的坐标系),可以简单看成是view的左上角和右下角的坐标(view的外观为一个矩形)。原创 2015-02-25 15:22:46 · 4149 阅读 · 0 评论 -
ViewPager和ScrollView冲突
转载自:http://bluthmatter.blog.163.com/blog/static/1842940592013653510429/ScrollView种嵌套ViewPager滑动看起来是不是很流畅需要改写ScrollView就是在触摸事件拦截器里面判断,如果横着滑动的距离大于竖着滑动的距离,就返回false也就是不拦截当前事件,传递给下一转载 2015-02-27 09:58:26 · 555 阅读 · 0 评论 -
ImageView 的scaleType属性。
ImageView可以设置src和background属性,只有设置了“前景图”src,设置的scalType属性才会生效。imageView的scaleType可以取到8个数值: CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示 CENTER_CROP / centerCrop 按比例扩大图片的size居中显原创 2015-09-09 13:15:55 · 3317 阅读 · 0 评论 -
Android 以流的形式复制集合所有元素到另一个集合
一:单个对象复制Fruit fruit = new Fruit();fruit.setNameString("apple");fruit.setWeight(2);Fruit fruit2 = fruit;上面代码是把 fruit的引用复制给fruit2,这样,fruit和fruit2同时指向一个内存地址,通过任何一个对象修改属性值都会影响到另一个Fruit对象,这里介绍一种通过流的原创 2015-09-11 11:21:39 · 2654 阅读 · 0 评论 -
个人闲暇时间写的Android社交应用
最近手头工作不是很多,利用Bmob云后台写了一个社交Demo,主要是考虑如何实现ui的,社交功能方面有些欠缺,下面是Demo中的一些截图,感兴趣的同学可以下载源码,不喜勿喷,大神请绕道。*^ο^*。下载地址:点击打开链接原创 2015-11-10 10:52:59 · 784 阅读 · 1 评论 -
两种情况下的Android应用退出代码
今天早上帮朋友调试代码,说是退出应用代码无效,仔细看了代码,写法上的确没什么问题,于是研究了一下,原因如下:先看两种情况:(1)public class MainActivity extends TabActivity implements OnCheckedChangeListener(2)public class MainActivity extends Activity都是要原创 2014-04-23 10:57:00 · 6517 阅读 · 0 评论 -
android UI 相关常用类简介
一、Canvas类android.graphics.Canvas Canvas类好比手机中的画纸,我们可以在Canvas上画图形或者图像。一般我们用android来绘画的时候,需要四个组成部分: 1、位图:包含像素 2、Canvas画板:包含绘画内容,写入位图 3、初始图形:如Rect、Bitmap、text等 4、Paint:用来描述上面初始图形的颜色和类型等 Can转载 2014-04-22 10:22:27 · 662 阅读 · 0 评论 -
android中用get和post方式向服务器提交请求
通过get和post方式向服务器发送请求首先说一下get和post的区别get请求方式是将提交的参数拼接在url地址后面,例如http://www.baidu.com/index.jsp?num=23&jjj=888;但是这种形式对于那种比较隐私的参数是不适合的,而且参数的大小也是有限制的,一般是1K左右吧,对于上传文件就不是很适合。post请求方式转载 2013-12-12 15:47:42 · 1048 阅读 · 0 评论 -
Android 使用三种方式获取网页(通过Post,Get进行表单的提交)
// 直接获取信息 void DirectInfo() throws IOException { URL url = new URL(SRC); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); InputStreamR转载 2013-12-12 18:14:25 · 2917 阅读 · 0 评论 -
关于导入Android程序提示:Unable to resolve target 'android-10'的问题
有时,在导入他人的Android Demo时,控制台会提示:Unable to resolve target 'android-10'(不一定是android-10)这样的字眼,导致程序无法运行,通常这样的Demo本身是不存在错误的,这是由于该demo被创建时目标版本是android-10,而当前运行环境不存在这个版本。解决办法如下:第一步:在该项目下找到project.properti原创 2013-12-19 09:58:05 · 4134 阅读 · 0 评论 -
android webView用法
在开发过程中应该注意几点: 1.如果访问的页面中有Javascript,则webview必须设置支持Javascript。webview.getSettings().setJavaScriptEnabled(true);2.如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖 webview的WebV转载 2014-01-07 10:39:53 · 1215 阅读 · 0 评论 -
Android 事件分发机制
假设场景:一个layout中包含一个button控件,layout注册了onTouch()事件,button注册onClick()事件,当点击这个button时,是先触发布局的onTouch()呢,还是先触发按钮的onClick()事件呢?测试表明:布局先得到了这个事件。默认情况下:它会把该事件传递给子控件----Button;Button如果处理了该事件(例如页面跳转),那这次点击事件就原创 2013-12-27 15:45:29 · 991 阅读 · 0 评论 -
Android 手势识别
Android 提供了GestureDetector类来识别用户的手势操作,这个类提供了两个侦听接口:OnGestureListener(处理单击类消息)与OnDoubleTagListener(处理双击类消息)。onGestureListener( )接口中有以下几个抽象方法:// 单击,触摸屏按下时立刻触发 abstract boolean onDown(MotionEve原创 2013-12-27 11:03:30 · 1092 阅读 · 0 评论 -
给listview加上边框。
listview是Android开发中的常用控件,控件虽常用,想用好却并不容易。在这次开发中,项目遇到了下图的界面 左右两边各是一个listview,并且是加边框的listview。刚开始接触这个界面时,确实不知从何处下手。我只知道listview可以展示或隐藏分割线,难道它还能显示或隐藏左右的边界线。看看了帮助文档,还真没有显示隐藏边框的方法。 其原创 2013-12-27 16:15:24 · 6384 阅读 · 2 评论 -
Editext 属性总结
Android限定EditText的输入类型为数字或者英文(包括大小写) // 监听密码输入框的输入内容类型,不可以输入中文 TextWatcher mTextWatcher = new TextWatcher() { @Overridepublic void onTextChanged(CharSequence s, int start, int before, int c转载 2014-01-17 16:10:00 · 1333 阅读 · 0 评论 -
android 完美退出应用程序。
Android 程序在点击回退键时,如果只有一个activity,调用finish()方法就能退出界面,如果有多个界面,在调用该方法时,只会销毁当前的activity,显示栈顶的其它activity,换言之,就是无法退出整个应用程序。下面是一种快速的退出整个应用的方法代码:private void showTips() { AlertDialog alertDialog = new Al原创 2014-02-08 10:59:12 · 1480 阅读 · 1 评论 -
Android动画的两种使用方式。
android 动画的分类就不说了,主要说一下动画的两种使用方法:1.通过代码生成并使用动画 (不利于重复使用) 2.通过xml文件生成并使用动画(更方便,重用性高)。1.通过代码生成动画//初始化Animation scaleAnimation = new ScaleAnimation(0.1f, 1.0f,0.1f,1.0f);//设置动画时间scaleAnimation.set原创 2014-02-11 09:52:06 · 1431 阅读 · 0 评论 -
android 开发之ScrollView 截屏代码
在开发过程中,经常要用到分享功能,有时需要截取当前屏幕的画面,一起分享出去。如果当前Activity高度固定,不能滑动,截取屏幕代码网上到处都是,这里就不贴出了;如果当前Activity嵌套有可滑动子控件,如ScrollView或ListView,想要连未显示的部分一起截下来,前一种方法就行不通了,这里贴出一段有效代码: /** * 截取scrollview的屏幕 * **原创 2014-02-11 15:36:29 · 3992 阅读 · 1 评论 -
Android内存泄露造成的OOM问题
最近做了一个项目,算是一个单机项目吧,不需要从网络获取任何数据,所有的图片和文字均来自本地和数据库。因为应用牵扯到了大量的图片,在开发过程中,遇到了内存溢出问题,于是各方面查找资料,终于在DDM插件帮助下确认了是内存泄露造成的(数据对象内存大小直线上升,没有稳定在一个范围)。由于没有这方面的经验,项目一下子就卡了一个星期,每天早上醒来,想起这个问题,一天的好心情都没有了。各种查找内存泄露的方法都尝原创 2014-04-02 15:32:51 · 1701 阅读 · 2 评论 -
Android 提示: The connection to adb is down, and a severe error has occured.
今天早上打开Eclipse,一直提示 The connection to adb is down, and a severe error has occured,无法运行程序。重启Eclipse、手机重新连接电脑都无法解决,打开DDMS界面,找不到设备。解决办法如下:1.进入DDMS界面,点击如下图的小三角(放在三角上提示view menu)2.选择下拉列表的Reset adb选原创 2014-04-18 09:16:33 · 1404 阅读 · 0 评论 -
Gradle3.0+ NDK开发入门
对于Ndk开发个人的简单理解:通过约定(Jni),使两种不同编程语言(java和c/c++)可以互相调用对应语言封装的方法。由于c/c++编程更加高效安全,把app中核心模块和消耗性能的功能使用c/c++编写,可以变相提高app的安全性和高效性。Gradle3.0以后,as推荐使用CMake和ndk-build进行ndk开发,下面就一步一步展示如何使用CMake进行Ndk开发。一:通过SDKMan...原创 2018-07-10 16:52:57 · 1189 阅读 · 0 评论