Android
honemleysm
这个作者很懒,什么都没留下…
展开
-
Android中获取View的大小
textView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { textView.getVi原创 2013-08-07 16:41:03 · 664 阅读 · 0 评论 -
死锁的例子和一个解决办法
最近遇到一个死锁问题,需要备注下:1. 做数据的事务处理,需要先获得数据库的锁,然后又需要获得写数据库的缓存的锁,然后释放缓存的锁,再释放数据库的锁2. 一个后台线程专门负责写数据到数据库,它先获取缓存的锁,然后从缓存中获取数据,然后再获取数据库的锁,再把数据写到数据库中,然后再释放数据库的锁,再释放缓存的锁最后造成死锁。解决办法: 把缓存先拷贝一份,然后释放缓存的原创 2014-02-27 17:50:02 · 590 阅读 · 0 评论 -
IDEA 快捷键整理
根据本人使用习惯总结的最常用的快捷键:查看指定内容:CTRL + 单击左键:查看定义(方法,类,变量,常量) CTRL + ALT + left/right: 回到上一个光标位置/前进到下一个光标位置CTRL + F12:查看文件结构CTRL + H:查看类的继承关系ALT + F7: 查找所有引用CTRL + N:转载 2014-03-30 23:08:00 · 692 阅读 · 0 评论 -
synchronized和lock
在分布式开发中,锁是线程控制的重要途径。Java为此也提供了2种锁机制,synchronized和lock。做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方。 我们先从最简单的入手,逐步分析这2种的区别。 一、synchronized和lock的用法区别 synchronized:在需要同步的对象中加入此控制,synchronized转载 2014-02-17 14:03:21 · 656 阅读 · 0 评论 -
在onCreate之前销毁Activity
创建一个actviity有两个关键步骤:1. 调用startactivity2. 在activity的onCreate方法中初始化。如果一个后台线程希望停止该activity,该如何办?1. 一个比较通用的做法是,发消息,或者发广播。但是,如果这个消息或者广播是在这个activity创建之前发送的,是无法被响应的。这里一个比较土的办法是,创建一个全局原创 2014-02-27 15:16:40 · 853 阅读 · 0 评论 -
layout_gravity 和 Relativelayout
layout_gravity 在 Relativelayout中不能使用需要确定对齐时,可用layout_centervertical = “true”;等样式进行代替。原创 2014-01-16 16:00:03 · 835 阅读 · 0 评论 -
Android入门的一篇文章
1.Java基础很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。那么Java学到什么程度才算是过关呢?我个人认为至少要掌握以下两个方面的内容:a) Java基础语法:具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还转载 2014-01-10 17:54:09 · 470 阅读 · 0 评论 -
不会NDK写不出好的Android App
NDK可以在一些关键的地方提高运行效率,增加定制化和移植性。在一些性能瓶颈的地方,必须使用NDK才能解决问题。原创 2014-01-09 13:25:51 · 588 阅读 · 0 评论 -
Android Custom state
http://myandroidsolutions.blogspot.com/2012/11/android-custom-states-for-state-list.htmlhttp://stackoverflow.com/questions/4336060/android-how-to-add-a-custom-button-statehttps://groups.google转载 2013-11-26 22:32:23 · 706 阅读 · 0 评论 -
如何在Java中获取当前代码行行号和文件名
如何在Java中获取当前代码行行号和文件名(__FILE__, __LINE__)注解:参考或者拷贝网上内容文件名一般不需要,因为java打印类名一般就是文件名,再在文件名后面加上方法名就可以了。public class Test10{ public static void main(String args[]) {转载 2013-10-24 11:56:24 · 1260 阅读 · 0 评论 -
Android eventBus
在Google Guava 10版本引入了EventBus, 它主要用来简化我们处理生产/消费者编程模型. 基本用法 使用Guava之后, 如果要订阅消息, 就不用再继承指定的接口, 只需要在指定的方法上加上@Subscribe注解即可: Java代码 public class EventListener { public in转载 2013-09-22 11:03:16 · 2698 阅读 · 0 评论 -
Android TextProgressBar
TextProgressBar class should look like this:package com.wvr.widget;import com.wvr.example.R;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;i转载 2013-08-16 15:43:51 · 1715 阅读 · 0 评论 -
访问External sdcard
如何访问: http://sigidin.blogspot.com/2011/08/check-external-sd-card-on-android.htmlexternal sdcard产生的背景和相关的问题:http://android.stackexchange.com/questions/33182/why-is-the-sd-card-mounted-to-sdcard-extern原创 2013-08-28 10:47:49 · 1099 阅读 · 0 评论 -
FrameLayout在2.3上无法动态布局
最后不得不改为RelativeLayout RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);原创 2013-08-14 20:45:40 · 700 阅读 · 0 评论 -
java中重命名,移动文件
File file1=new File("C:/test/a.txt"); File file2=new File("D:/test/b.txt"); boolean flag = file1.renameTo(file2);原创 2013-08-14 16:07:32 · 573 阅读 · 0 评论 -
限制TextView的字符长度
在java程序中限制textview的字符长度 folderNameView.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)});在布局文件中限制字符长度:android:MaxLength = "10"原创 2013-08-21 14:55:33 · 819 阅读 · 0 评论 -
Service, AsyncTask, Threader + Handler的比较
共同点:都可以实现非主线程的异步工作适用场合的差别:Service:长时间在后台运行的异步处理AsyncTask:多任务的并发处理Thread + Handler: 只需要一次性的异步处理,无并发原创 2015-03-15 22:21:38 · 446 阅读 · 0 评论