随笔分类 -  手机开发(Android)

摘要:问题:Android应用中,当遇到填写用户信息、发表评论等操作,不可避免会遇到“form表单操作”(类似web form操作)上传图片的功能。在这种情况下,使用Android的HTTPConnection/ ApacheHTTP 通过POST 和GET的方式就实现不了。解决方法:Android客户端通过模拟 HTTP multipart/form-data 请求协议信息实现图片上传。/** * 文件名称:UploadImage.java * * 版权信息:Apache License, Version 2.0 * * 功能描述:实现图片文件上传。 * * 创建日期:2011-5-10 * * 阅读全文
posted @ 2012-03-19 14:44 郑文亮 阅读(3162) 评论(2) 推荐(0) 编辑
摘要:标签:android开源原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://terryblog.blog.51cto.com/1764499/547777FBReaderJFBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb、ePub和fb2。此外还支持直接读取zip、tar和gzip等压缩文档。项目地址:http://www.fbreader.org/FBReaderJ/AngleAngle是一款专为Android平台设计的,适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全 阅读全文
posted @ 2012-03-19 10:01 郑文亮 阅读(407) 评论(0) 推荐(0) 编辑
摘要:有时候,我们为了在同一个ImageView中显示不同的图片,往往会使用: (条件1) { image.setBackground(R.id.xxx1); } else if (条件2) { image.setBackground(R.id.xxx2); } 可以用另一个简便的方法实现相同的功能,首先,在res/drawable下建立一个xml文件,内容如下: <level-list xmlns:android=“http://schemas.android.com/apk/res/android”> <item android:maxLevel=“4” andro... 阅读全文
posted @ 2012-03-19 09:47 郑文亮 阅读(595) 评论(0) 推荐(0) 编辑
摘要:刚用android手机 发现手机自带的图片浏览器挺酷 可以用手指移动 缩放 还有动画效果Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(recentFile), "image/*"); startActivity(intent);就可以调用系统的图片浏览器查看手机上的图片了于是想仿照着写一个到网上看了不少资料 大概分为两种实现方式http://download.csdn.net/source/3318880 ->源码一种是利用Matrix的postTra 阅读全文
posted @ 2012-03-19 09:39 郑文亮 阅读(2362) 评论(1) 推荐(2) 编辑
摘要:import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.htt 阅读全文
posted @ 2012-03-17 15:41 郑文亮 阅读(625) 评论(0) 推荐(0) 编辑
摘要:进行大文件上传时,显示上传进度是很好的用户体验,可以有效的缓解用户急躁的情绪。今天Android IT 分享一个好的显示上传进度的解决方案。我们用到以下两个类就可实现带进度条的文件上传:1、CustomMultiPartEntityextendsMultipartEntity,2、HttpMultipartPost extendsAsyncTask代码如下:import java.io.FilterOutputStream;import java.io.IOException;import java.io.OutputStream;import java.nio.charset.Charset 阅读全文
posted @ 2012-03-17 14:38 郑文亮 阅读(2924) 评论(1) 推荐(0) 编辑
摘要:Android上传文件到服务端可以使用HttpConnection 上传文件,也可以使用Android封装好的HttpClient类。当仅仅上传文件可以直接使用httpconnection 上传比较方便快捷。 1、使用HttpConection上传文件。将文件转换成表单数据流。主要的思路就自己构造个http协议内容,服务端解析报文获得表单数据。代码片段:[java] view plaincopyHttpURLConnection con; try { con = (HttpURLConnection) url.openConnection(); con.setConn... 阅读全文
posted @ 2012-03-17 14:24 郑文亮 阅读(8378) 评论(0) 推荐(0) 编辑
摘要:android:layout_weight是用于给一个线性布局(LinearLayout)中的诸多视图的重要度赋值。所有的视图都有一个layout_weight值,默认为零,意思是需要显示多大的视图就占据多的的屏幕空间。若赋值高于零又是怎么样的呢?在网上有很多关于layout_weight的学习资料,网上介绍的都大同小异,以为该学到的都学到的时候,一实践就发现了一些问题。以下一段是网上关于layout_weight值大于零的显示效果的说法。如果一行中有两个等长的文本框,那么他们的android:layout_weight值可以是同为1。如果一行中有两个不等长的文本框,那么他们的android: 阅读全文
posted @ 2012-03-17 12:10 郑文亮 阅读(486) 评论(1) 推荐(1) 编辑
摘要:Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。 LinearLayout: LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;.. 阅读全文
posted @ 2012-03-17 11:19 郑文亮 阅读(661) 评论(2) 推荐(0) 编辑
摘要:看到一本电子杂志上有遮罩层的效果,感觉很漂亮,以为很麻烦,搜索了很多关于android遮罩层的,也没有得出一点思路,原来就是一个透明的效果,然后上面弹出的控件是透明或者半透明之类的,可以选择颜色,还是#ARBG,其中A就是传说中的透明色的值(可以根据需要设置透明的效果),废话不多说了,发一个简单的Demo吧,是我山寨的那本杂志的效果:(由于杂志内容主要是图片,弹出层才是给出的文字信息,所以我猜测是用Gallery显示的杂志内容)xml布局文件:<?xml version="1.0" encoding="utf-8"?> <FrameLa 阅读全文
posted @ 2012-03-17 10:17 郑文亮 阅读(18560) 评论(1) 推荐(1) 编辑
摘要:天天动听, 这款Android手机上的音乐播放器,相信不少朋友都曾用过。 不知大家是否注意到,天天动听有一个迷你歌词的特效。什么效果呢? 就是不管你切到什么画面, 歌词永远显示,并且可以拖动。 类型QQ音乐,在电脑上播放时显示的歌词效果。下面先来看一下效果。下面我们将这个效果解剖一下, 我认为主要有三个难点:1.歌词悬浮在所有页面之上2.歌词可以拖动位置3.歌词的播放效果 (颜色覆盖)对于第一点,首先想到的就是 WindowManager , 这个类可能不少人都用过, 一般用于获取屏幕宽度、高度,那么这次就要利用这个类来让我们的歌词永远置顶。WindowManager wm = (Window 阅读全文
posted @ 2012-03-17 07:55 郑文亮 阅读(464) 评论(0) 推荐(3) 编辑
摘要:前言在开发Android应用时,加新功能是必不可少的,我们加入了新的功能,有的一看界面就可以看出来,但是有的新功能就比较隐蔽,也就是用户很难知道你添加了这个新功能,这个时候就需要用户在打开我们的应用时给出一些提示,说明我们在哪里添加了新功能,点击哪里可以看到这个新功能。这时我们第一时间想到的可能是Toast,因为它用法简单,又不影响用户操作,但是它有个缺点,就是不能明确的指示是哪里添加了新功能,除非你用文字描述出来。为此,我基于Toast编写了一个小组件FloatTextToast(下面遇到的这个名字代替我写的这个组件),他和Toast的用法一样简单,并且弥补了Toast的缺点,也更显得更好看 阅读全文
posted @ 2012-03-17 07:36 郑文亮 阅读(1132) 评论(1) 推荐(1) 编辑
摘要:一、概述 这次要做一个简单的涂鸦板应用,以前在Qt上实现过,突然想到要把它在Android上实现,呵呵,既简单又有趣。二、实现 新建工程MyWall,修改/res/layout/main.xml文件,在里面添加一个SurfaceView和两个Button,用到了RelativeLayout布局,完整的main.xml文件如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 3 <RelativeLayout xmlns:android="http://schemas.android.co 阅读全文
posted @ 2012-03-16 16:20 郑文亮 阅读(795) 评论(0) 推荐(1) 编辑
摘要:前段时间研究了下涂鸦功能的实现,其实单独的涂鸦实现起来还是挺简单的,关键的技术难点是撤销与重做功能的实现。但是这里暂时只说明下涂鸦功能的实现,高手勿喷哈,而且该功能在Android SDK提供的APIDemo当中就有的,但是如果能够将该地方的知识点搞懂的话,我认为View画图基本上是难不倒你了,特别是里面为什么要用一个中间的Bitmap。老规矩,还是先看看效果图吧:2012-1-13 22:20:31 上传下载附件 (32.72 KB)代码如下:package cn.ych.tuya;import java.io.File;import java.io.FileNotFoundExceptio 阅读全文
posted @ 2012-03-16 16:18 郑文亮 阅读(7294) 评论(2) 推荐(2) 编辑
摘要:图片涂鸦和水印其实是一个功能,实现的方式是一样的,就是一张大图片和一张小点图片叠加即可。前面在android图像处理系列之六--给图片添加边框(下)-图片叠加中也讲到了图片叠加,里面实现的原理是直接操作像素点。下面给出别外一种方式让图片叠加--用Canvas处理图片,canvas已经封装好了,直接调用就行。下面看效果:+=代码:[java]view plaincopy/***组合涂鸦图片和源图片*@paramsrc源图片*@paramwatermark涂鸦图片*@return*/publicBitmapdoodle(Bitmapsrc,Bitmapwatermark){//另外创建一张图片Bi 阅读全文
posted @ 2012-03-16 16:02 郑文亮 阅读(5343) 评论(0) 推荐(1) 编辑
摘要:废话不多说,直接进入主题,想要在android中实现拍照最简单饿方法就是New 一个 Intent 设置Action为android.media.action.IMAGE_CAPTURE 然后使用startActivityForResult(intent,REQUEST_CODE)方法进入相机。当然还有很多方式可以实现,大家可以在网上查找。但是要注意的是在进入相机前最好判断下sdcard是否可用,代码如下:查看源码打印?1destoryBimap(); 2String state = Environment.getExternalStorageState(); 3if (state.equal 阅读全文
posted @ 2012-03-15 13:14 郑文亮 阅读(3132) 评论(0) 推荐(1) 编辑
摘要:第1篇 Android 4.0开发环境搭建和测试1,1,下载所需要的软件Android开发需要的工具:l JDK 5 或 JDK 6或者JDK 7需要注意的是仅有JRE是不够的。JRE是Java的运行环境,而JDK不仅包含了JRE,还包含了我们开发Java程序所需要的工具集合。JDK可以到:http://www.oracle.com/technetwork/java/javase/downloads/index.html下载。点击“JDK Download”,如下图所示:进入如下页面:点击“Accept License Agreement”并选择“Windows x86”进行下载l Eclip 阅读全文
posted @ 2012-03-12 09:18 郑文亮 阅读(633) 评论(0) 推荐(0) 编辑
摘要:声明:在保证本文完整的情况下可自由转载!前言本文pdf下载链接配套视频连接国士工作室是一支专注于Android平台企业级应用开发的技术团队,致力于做中国最棒的Android应用程序开发机构,提供最棒的Android企业级应用开发培训服务。企业培训和开发合作官方联系方式: 电话:18610086859 Email:hiheartfirst@gmail.com QQ:1740415547 QQ群:175189001国士工作室 有你更美好! 若立志成为Android高手,如有耐心,“一瓶一钵足矣”。 “天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者... 阅读全文
posted @ 2012-03-12 09:04 郑文亮 阅读(887) 评论(0) 推荐(2) 编辑
摘要:在以前做一个android的移动项目的时候,想为httpClient对象添加请求超时和读取超时时间,发现httpClient的对象实现的defaultHttpClient对象中就没有设置超时时间的方法,所以一直郁闷的,觉得怎么回没有,难道defaultHttpClient对象中已经封装了请求超时时间和读取时间,不过这样不是可扩张性不好了,最近在android论坛上面,发现了其实android的httpClient是可以的,不过设置在HttpConnectionParams的静态方法中设置,详细的我写了一段代码提供给大家:[java]view plaincopyprivatestaticfina 阅读全文
posted @ 2012-01-18 14:37 郑文亮 阅读(4334) 评论(1) 推荐(0) 编辑
摘要://----------------- DirTraversal.javapackage com.once;import java.io.File;import java.util.ArrayList;import java.util.LinkedList;/*** 文件夹遍历* @author once**/public class DirTraversal {//no recursionpublic static LinkedList<File> listLinkedFiles(String strPath) {LinkedList<File> list = new 阅读全文
posted @ 2012-01-17 15:40 郑文亮 阅读(1803) 评论(0) 推荐(1) 编辑