Android
文章平均质量分 55
JoyChiang
这个作者很懒,什么都没留下…
展开
-
打电话,发短信,调用输入法
1>打电话[code="java"] //在清单中注册打电话服务 //通过intent传播打电话这个意图 Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ phone));[/code]2>发短信[code="java"] //在清单中注册发短信服务 //得到系统默认的发短信...2010-12-17 22:21:24 · 115 阅读 · 0 评论 -
获取手机屏幕大小——DisplayMetrics
Displaymetrics 是取得手机屏幕大小的关键类,直接看代码: // 获得手机屏幕大小 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int screenWidth = dm.widthPixels; ...原创 2011-01-13 09:21:25 · 146 阅读 · 0 评论 -
创建图片时内存溢出---java.lang.OutOfMemoryError: bitmap size exceeds VM budget
android系统中读取位图Bitmap时.分给虚拟机中图片的堆栈大小只有8M。所以不管是如何调用的图片,太多太大虚拟机肯定会报那个错误。超出图片内存预算那个错误.:java.lang.OutOfMemoryError: bitmap size exceeds VM budget遇到这个问题是因为没有回收资源.public void distoryBitmap(){ ...原创 2011-02-16 22:17:59 · 123 阅读 · 0 评论 -
Android——ProgressDialog
ProgressDialog mProgressDialog = new ProgressDialog(context); mProgressDialog.setMessage(context.getString(mLoadingMsg)); mProgressDialog.setIndeterminate(true); mProgressDialog.setCancela...原创 2011-02-26 21:15:19 · 133 阅读 · 0 评论 -
Android——PopupWindow
实现PopupWindow透明效果,先在drawable定义一个文件:<?xml version="1.0" encoding="UTF-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gra原创 2011-02-28 16:37:02 · 123 阅读 · 0 评论 -
Bitmap.createBitmap函数有6个重载方法
位图剪切参考重载方法4和6,重载方法6比较简单 public static Bitmap createBitmap (Bitmap src)从原位图src复制出一个新的位图,和原始位图相同public static Bitmap createBitmap (int[] colors, int width, int height, Bitmap.Config con...原创 2011-03-01 10:37:03 · 150 阅读 · 0 评论 -
Android——Bitmap和Canvas
位图是我们开发中最常用的资源,毕竟一个漂亮的界面对用户是最有吸引力的。1. 从资源中获取位图可以使用BitmapDrawable或者BitmapFactory来获取资源中的位图。当然,首先需要获取资源: Resources res=getResources();使用BitmapDrawable获取位图使用BitmapDrawable (InputSt...原创 2011-03-01 12:50:02 · 103 阅读 · 0 评论 -
关于ListView中假如Button,EditText无法响应问题
个人成功试验结果:为Button或者EditText加上一个布局; <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:descendantFocusability="blocksDescendants"> &...2011-03-03 20:05:43 · 163 阅读 · 0 评论 -
设置组件状态--如何动态关闭manifest中的Receiver
为什么要关闭组件? 在用到组件时,有时候我们可能暂时性的不使用组件,但又不想把组件kill掉,比如创建了一个broadcastReceiver广播监听器,用来想监听第一次开机启动后获得系统的许多相关信息,并保存在文件中,这样以后每次开机启动就不需要再去启动该服务了,也就是说如果没有把receiver关闭掉,就算是不做数据处理,但程序却还一直在后台运行会消耗电量和内存,这时候就需要把这个receiv...原创 2011-03-21 10:20:30 · 192 阅读 · 0 评论 -
Android Permission大全1.0最终版本
android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问"properties"表在checkin数据库中,改值可以修改上传( Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded)...原创 2011-03-21 10:24:50 · 133 阅读 · 0 评论 -
Toast和Looper。Handler消息循环机制。
(1) Looper类别用来为一个线程开启一个消息循环。默认情况下Android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环)Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。(2) 通常是通过Handler对象来与Looper交互的。Han...原创 2011-01-12 20:43:34 · 379 阅读 · 0 评论 -
UI Interface
view 是一个数据结构,他的属性存储了LAYOUT参数,内容是一片特定的矩形区域。在这片矩形区域上他处理自己Measurement,Layout,Drawing,FocusChange,Scrolling,Key/GesureAdapters:AdapterView是一个ViewGroup的实现,定义了基于一个Adapter对象的他的子Views。Adapter就像一个通讯员...原创 2011-04-18 15:11:24 · 202 阅读 · 0 评论 -
Android应用程序变量,Application
Android应用程序开发中,有的时候我们在应用程序的任何一个地方都需要访问一个全局变量,也就是在任何一个Activity中都可以访问的变量。它不会因为Activity的生命周期结束而消失。要实现应用程序级的变量,我们可以通过Application这个类来实现。 首先,我们新建一个类HelloApplication继承Android.app.Application类,然后在我们的类中增加一些变量。...原创 2010-12-28 09:04:59 · 122 阅读 · 0 评论 -
单元测试,数据存储
1>单元测试 [code="java"]//添加到标签中 //注册单元测试,注意当中的包 [/code]2>debug 设置断点,追踪每一步,其中关于快捷键的使用 (F5;F6:进入某个方法;Ctrl+R:跳到某一行;F8:结束)3>数据存储 采用MVC 使用txt 1)单元测试 2)各种IO流操作 3)openFileOutput("xxx....原创 2010-12-18 09:35:00 · 188 阅读 · 0 评论 -
使用SDCard相关操作
使用SDCard 清单注册: [code="java"] 1)创建虚拟SDCard:进入到tools目录,敲入命令:mksdcard 2048M D:\AndroidTool\SDCard.img 2)构建SDCard目录: File file = new File(Environment.getExternalStorageDirectory(),fi...原创 2010-12-18 09:36:13 · 187 阅读 · 0 评论 -
任务管理相关
1)杀死后台一个进程:[code="java"]ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); activityManager.killBackgroundProcesses("name.of.your.package");需要一个权限:KILL_BACK...原创 2010-12-19 21:57:45 · 106 阅读 · 0 评论 -
ViewFlipper配合GestureDetector
主要代码: /** * 用户按下触摸屏、快速移动后松开即触发这个事件 e1:第1个ACTION_DOWN MotionEvent e2:最后一个ACTION_MOVE * MotionEvent: velocityX:X轴上的移动速度,像素/秒 velocityY:Y轴上的移动速度,像素/秒 触发条件 : * X轴的坐标位移大于FLING_MIN...原创 2010-12-20 15:43:14 · 156 阅读 · 0 评论 -
ActivityManager
[img]http://dl.iteye.com/upload/attachment/371065/fc35722c-1d25-394a-906f-144b5b3d2d45.jpg[/img] [img]http://dl.iteye.com/upload/attachment/371067/2741161f-14d6-389b-8d39-684f55da4192.jpg[/img][c...原创 2010-12-20 16:56:13 · 111 阅读 · 0 评论 -
APK签名
刚学android,在windows xp上开发的,不会makefile,ndk还没仔细研究,或许对一些初学者有用。一、Android Apk签名Apk签名首先要有一个keystore的签名用的文件。keystore是由jdk自带的工具keytool生成的。具体生成方式参考:开始->运行->cmd->cd到你安装的jdk的目录里,我的是C:\Program Files\Java\...原创 2010-12-20 17:08:12 · 135 阅读 · 0 评论 -
android用户界面编程技巧——如何使用Adapter
adapte listview 数据源之间的关系图 当我们滑动listview的时候每一条数据进入可见区域的时候adapter的getView方法就会被调用,返回代表具体数据的视图。那么当我们的listview中有多条数据的时候(一般都是有多条数据的),getView方法就会反复多次的频繁调用。这样的listview就可以显示很多数据,即成百上千条数据。显而易见,由于getview...原创 2010-12-21 13:03:02 · 90 阅读 · 0 评论 -
获得已安装程序的大小和时间
1,通过PackageManager获得已安装程序:[code="java"]List installedList = mPackageManager.getInstalledPackages(0);for (PackageInfo info : installedList) {mInstalledList.add(info.packageName + ":" + info.a...原创 2010-12-21 22:42:46 · 199 阅读 · 0 评论 -
Android上获取本机安装的应用程序
[code="java"]List packs = getPackageManager().getInstalledPackages(0);[/code]虽然,有些代码号称可以过滤掉系统自身的应用程序,但是只要细看代码就会发现,好像里面的那个布尔变量没有起到什么过滤的作用。因此,一种方法是,通过获取的安装包(包括安装的与系统自身的应用程序),对其android.content.pm...原创 2010-12-24 10:00:50 · 215 阅读 · 0 评论 -
Android-surfaceView 与View 的区别
如果你的游戏不吃CPU,用View就比较好,符合标准Android操作方式,由系统决定刷新surface的时机。但如果很不幸的,你做不到不让你的程序吃CPU,你就只好使用SurfaceView来强制刷新surface了,不然系统的UI进程很可能抢不过你那些吃CPU的线程。当然其实不止这两种方法来刷新Surface的,这两种只是纯java应用比较常见的方法。SurfaceView和Vie...原创 2011-03-28 15:34:17 · 175 阅读 · 0 评论