09 2013 档案

摘要:Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。本文从应用的角度,着重介绍怎么用Bitmap来实现这些功能。一、Bitmap的生成1.1 BitmapFactory decode出Bitmap Bitmap实现在android.graphics包中。但是Bitmap类的构造函数是私有的,外面并不能实例化,只能是通过JNI实例化。这必然是某个辅助类提供了创建Bitmap的接口,而这个类的实现通过JNI接口来实例化Bitmap的,这个类就是BitmapFactory。 图一、BitmapFactory 阅读全文

posted @ 2013-09-24 18:05 楠妮儿 阅读(752) 评论(0) 推荐(0)

摘要:怎样获取图片的大小?0 }# S! I5 g+ W思路很简单:首先我们把这个图片转成Bitmap,然后再利用Bitmap的getWidth()和getHeight()方法就可以取到图片的宽高了。& V~" k% W8 }& PZ新问题又来了,在通过BitmapFactory.decodeFile(String path)方法将突破转成Bitmap时,遇到大一些的图片,我们经常会遇到OOM(Out Of Memory)的问题。怎么避免它呢?这就用到了我们上面提到的BitmapFactory.Options这个类。BitmapFactory.Options这个类,有一个字 阅读全文

posted @ 2013-09-24 18:03 楠妮儿 阅读(609) 评论(0) 推荐(0)

摘要:第一:我们先看下质量压缩方法:private Bitmap compressImage(Bitmap image) {ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中 int options = 100; while ( baos.toByteArray().length / 1024>100) {//循环判断如果压缩后图片是否大于100kb,大 阅读全文

posted @ 2013-09-24 18:02 楠妮儿 阅读(282) 评论(0) 推荐(0)

摘要:#FFFFFF#FFFFF0#FFFFE0#FFFF00#FFFAFA#FFFAF0#FFFACD#FFF8DC#FFF5EE#FFF0F5#FFEFD5#FFEBCD#FFE4E1#FFE4C4#FFE4B5#FFDEAD#FFDAB9#FFD700#FFC0CB#FFB6C1#FFA500#FFA07A#FF8C00#FF7F50#FF69B4#FF6347#FF4500#FF1493#FF00FF#FF00FF#FF0000#FDF5E6#FAFAD2#FAF0E6#FAEBD7#FA8072#F8F8FF#F5FFFA#F5F5F5#F5F5DC#F5DEB3#F4A460#F0FFF 阅读全文

posted @ 2013-09-18 10:42 楠妮儿 阅读(232) 评论(0) 推荐(0)

摘要:方法一Timer与TimerTask(Java实现)public class timerTask extends Activity{private int recLen = 11;private TextView txtView;Timer timer = new Timer();public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.timertask);txtView = (TextView)findViewById(R.id.txt 阅读全文

posted @ 2013-09-17 17:14 楠妮儿 阅读(270) 评论(0) 推荐(0)

摘要:[代码] 调用拨号程序 // 给移动客服10086拨打电话 Uri uri = Uri.parse("tel:10086"); Intent intent = new Intent(Intent.ACTION_DIAL, uri); startActivity(intent);[代码] 发送短信或彩信 // 给10086发送内容为“Hello”的短信 Uri uri = Uri.parse("smsto:10086"); Intent intent = new Intent(Intent.ACTION_SENDTO, uri); intent.putEx 阅读全文

posted @ 2013-09-17 16:14 楠妮儿 阅读(136) 评论(0) 推荐(0)

摘要:为什么要签名??? 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名可以保证相当名字,但是签名不同的包不被替换。 APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。 这样签名其实也是开发者的身份标识。交易中抵赖等事情发生时,签名可以防止抵赖的发生。签名的注意事项所有的Android应用都必须有数字签名,没有不存在数字签名的应用,包括模拟器上运行的。A 阅读全文

posted @ 2013-09-02 17:17 楠妮儿 阅读(191) 评论(0) 推荐(0)

摘要:前言:android应用每当发布一个版本时,往往需要打许多的渠道包,用于不同渠道的运营推广,传统的渠道包验证往往是安装某个apk包,然后打开eclipse,运行应用,查看其中的运行日志,看发送的请求中是否带有该渠道信息。 如此这般,若有上百个渠道包,是没可能每个包都去验证的,且若后期新增的渠道,亦还需抽空去验证下apk渠道包,虽然并不是很耗时间,但常常被这样的事打断日常工作还是会让人烦恼的,而自动化验证渠道包就显得方便很多。思路:点击android应用,然后查看日志,这样的过程完全可以利用robotium实现,编写用例实现点击操作,通过solo.waitForLogMessage()方法... 阅读全文

posted @ 2013-09-02 10:30 楠妮儿 阅读(436) 评论(0) 推荐(0)

摘要:android应用上传时,需要区分开每个渠道。一般都会在配置文件中更改一个渠道id,如果有多个渠道,手动修改并生成apk的话会非常麻烦,而且增大出错概率。在这分享一个打包工具类.我们项目中使用的umeng做统计分析工具, umeng在分渠道打包的时候需要修改manifest.xml中的 value值。该值放到了strings.xml中app_channel,所以在编译的时候只需修改app_channel。下面是工具类,直接运行即可.package com.yang.main;import java.io.BufferedReader;import java.io.File;import jav 阅读全文

posted @ 2013-09-02 10:02 楠妮儿 阅读(339) 评论(0) 推荐(0)

导航