随笔分类 -  Android

摘要:dipdevice independent pixels(设备独立像素). 不同设备不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。在android上开发的程序将会在不同分辨率的手机上运行。为了让程序外观不至于相差太大,所以引入了dip的概念。比如定义一个矩形10 x 10dip.在分辨率为160dpi的屏上,比如G1,正好是10 x 10像素。而在240 dpi的屏,则是15 x 15像素.换算公式为pixs = dips * (density/160). density就是屏的分辨率 。这里要特别注意dip与屏幕密度有关,而屏幕密 阅读全文
posted @ 2014-02-24 18:53 盗草人 阅读(213) 评论(0) 推荐(0)
摘要:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://peiquan.blog.51cto.com/7518552/1283065 Android输入控件是一种用于人机交互的元件,Android为此提供了各种各样的输入控件,例如:按钮(Button),文本域(text fields),拖动条(seek bars),复选框(checkBos),缩放按钮(zoom buttons),开关按钮(togglebuttons),等等。 为UI添加输入控件,只需要在对应的布局文件(XML Layout)添加对应的控件节点。如下,是一个包含编辑框和 阅读全文
posted @ 2014-01-21 15:31 盗草人 阅读(533) 评论(0) 推荐(0)
摘要:运行adb出现这种错误:bash: ./adb: No such file or directory 但adb确实存在。那说明你用的是64位的Linux,没装32位运行时库,安装$ sudoapt-getinstallia32-libs 即可。 阅读全文
posted @ 2014-01-06 17:05 盗草人 阅读(860) 评论(0) 推荐(0)
摘要:以普通用户登录linux,解出android-sdk后,设置环境变量,然后运行adb devices会提示权限不够:List of devices attached???????????? no permissions这是因为访问adb设备需要root权限。我们可以利用文件的set-user-id属性来解决这个问题:sudo chown root:root adbsudo chmod a+x adbsudo chmod a+s adbadb kill-server先将adb的owner改为root、对所有用户加入可执行属性,然后设置set-user-id属性。这样,任何用户运行adb后,ad. 阅读全文
posted @ 2014-01-05 14:12 盗草人 阅读(474) 评论(0) 推荐(0)
摘要:One more thing: The "tools" namespace is special. The android packaging tool knows to ignore it, so none of those attributes will be packaged into the APK. We're using it for extra metadata in the layout. It's also where for example the attributes to suppress lint warnings are stor 阅读全文
posted @ 2013-12-09 23:14 盗草人 阅读(414) 评论(0) 推荐(0)
摘要:① 打开Eclipse,新建Android工程② 在res目录中新建anim文件夹③ 在anim目录中新建一个myanim.xml(注意文件名小写)④ 加入XML的动画代码 Android动画解析--XML java 文件调用 Button button=(Button)findViewById(R.id.ok) button.setOnClickListener(new OnClickListener(){ pub... 阅读全文
posted @ 2013-07-20 13:26 盗草人 阅读(375) 评论(0) 推荐(0)
摘要:手机客户端以列表形式展示数据是非常常见的一种方式。然而列表中要显示图片(比如:头像)就要采用异步线程加载的方式,这样做是为了防止加载图片数据的时候,花费时间过长,阻塞UI线程,从而达到保持App的流畅性的目的。下面我将分享OSChina.NETAndroid版客户端的列表异步线程加载图片的方法:图片缓存private static HashMap> cache; 图片缓存是当有加载过相同的图片的时候,可以快速重复使用,比如同一个人的头像。图片控件集合private static Map imageViews; 图片控件集合是一个Map,记录当前ImageView控件对应的图片地址,用来防 阅读全文
posted @ 2013-07-04 23:06 盗草人 阅读(493) 评论(0) 推荐(0)
摘要:转载:标题http://hi.baidu.com/liganggang/item/6ab1e480fa2da1e3e596e015尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的 source,decodeStream最大的秘密在于其直接调用JNI>> 阅读全文
posted @ 2013-07-04 23:02 盗草人 阅读(1086) 评论(0) 推荐(0)
摘要://本地图片文件加载方法 /** * 加载本地图片 * * @param url * 本地图片文件物理地址 * @return Bitmap */ private Bitmap getLocalBitmap(String url) { try { FileInputStream fis = new FileInputStream(url); return BitmapFactory.decodeStream(fis); } catch (FileNotFoundException e) { e.printStackTrace(); ret... 阅读全文
posted @ 2013-07-04 22:55 盗草人 阅读(978) 评论(0) 推荐(0)
摘要:原文出处:goyello译文出处:外刊IT评论编程初学者总是把大量的时间用在学习编程语言,语法,技巧和编程工具的使用上。他们认为,如果掌握了这些技术技巧,他们就能成为不错的程序员。然而,计算机编程的目的并不是关于精通这些技术、工具的,它是关于针对特定领域里的特定问题创造出相应的解决方案,程序员通过相互合作来实现这些。所以,很重要的一点,你需要能精确的用代码表达出你的思想,让其他人通过代码能明白你的意图。让我们先看看编程大师Robert C. Martin的杰作《Clean Code |代码整洁之道》里的一句话:“注释的目的是为了弥补代码自身在表达上的不足。”这句话可以简单的理解为如果你的代码需 阅读全文
posted @ 2013-06-07 23:35 盗草人 阅读(170) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/lixinso/article/details/6642703通过Java客户端访问Web时,session信息的保存问题。通过浏览器访问Web,浏览器自动管理Http连接的的session信息,如果通过Java连接,比如HttpURLConnection,就需要程序自己管理session。我们希望java客户端能像浏览器一样,每次请求都维持一个session。具体做法时这样:客户端代码:importjava.io.InputStreamReader;importjava.io.PrintWriter;importjava.net.HttpURLCon 阅读全文
posted @ 2013-04-18 01:33 盗草人 阅读(656) 评论(0) 推荐(1)
摘要:以下代码返回当前手机的内存卡状态:String state=Environment.getExternalStorageState();如果state.equals(Environment.MEDIA_MOUNTED)则内存卡存在且可用,否则为内存卡不存在。以下代码返回当前内存卡的目录:File dir=Environment.getExternalStorageDirectory();一般内存卡的目录默认为:/mnt/sdcard/所以dir即为目录:/mnt/sdcard/ 阅读全文
posted @ 2013-04-16 12:14 盗草人 阅读(325) 评论(0) 推荐(0)
摘要:掌握Broadcast,要掌握一下三点1:注册广播:(有两种方式) 一是动态方式使用Context.registerReceiver()方法来注册;二是静态方式,即在AndroidManifest.xml中通过<receiver> 。2:发送广播: 在需要广播的地方sendBroadcast(intent); 之前要给Intent的对象intent 设置Action (Action可以被系统的或自定义的)和 data。3:接收广播:就是在extends Broadcast的那个类中,onReceive(Context context, Intent intent)方法要做的事情。* 阅读全文
posted @ 2013-04-14 18:43 盗草人 阅读(942) 评论(0) 推荐(0)
摘要:涉及的主要内容:1) AlarmManager 和 PendingIntent 2) BroadReceiver 3) Notification and NotificationManager 1.Android广播事件机制 Android的广播事件处理类似于普通的事件处理。不同之处在于,后者是靠点击按钮这样的组件行为来触发,而前者是通过构建Intent对象,使用sentBroadcast()方法来发起一个系统级别的事件广播来传递信息。广播事件的接收是通过定义一个继承Broadcast Receiver的类实现的,继承该类后覆盖其onReceive()方法,在该方法中响应事件。Android系 阅读全文
posted @ 2013-04-14 02:07 盗草人 阅读(313) 评论(0) 推荐(0)
摘要:EditText editText = (EditText)findViewById(R.id.editText01); editText.setText("jiojklj"); Spannable spannable = (Spannable)editText.getText(); spannable.setSpan(new BackgroundColorSpan(Color.RED), 1, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); spannable.setSpa... 阅读全文
posted @ 2012-11-29 19:53 盗草人 阅读(166) 评论(0) 推荐(0)
摘要:Spannable span = (Spannable) textView.getText();TextAppearanceSpan textappearancespan = new TextAppearanceSpan( mcontext, R.style.SynonyText);span.setSpan(textappearancespan, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);SynonyText为Styles.xml设置的属性(颜色,字体,大小等等);注意: TextView的BufferType... 阅读全文
posted @ 2012-11-29 19:28 盗草人 阅读(239) 评论(0) 推荐(0)