文章分类 -  Android

摘要:按照正常的理解,从activity1中呼叫打开另一个activity2,然后关闭activity2重新回到activity1时,activity1会经历的生命周期如下: onPause()-->onStop()-->onRestart()-->onStart()-->onResume()在测试中偶然发现一个问题,activity1的onRestart()和onStart()没有被调用!!于是到网上爬文,找到了如下的博文:http://blog.csdn.net/xiazdong/article/details/7765128原来是因为,打开activity的形式会影响a 阅读全文
posted @ 2012-08-22 10:41 日光之下无新事 阅读(739) 评论(0) 推荐(0) 编辑
摘要:判断android系统的版本参考网址:http://rainhomepage.appspot.com/2010/03/how-to-determine-the-version-of-android-systempublic static int getSDKVersionNumber() { int sdkVersion; try { sdkVersion = Integer.valueOf(android.os.Build.VERSION.SDK); } catch (NumberFormatException e) { ... 阅读全文
posted @ 2012-08-15 14:54 日光之下无新事 阅读(522) 评论(0) 推荐(0) 编辑
摘要:google calendar有两个版本以Froyo版作为分界Froyo版之前的版本i.setClassName("com.android.calendar", "com.android.calendar.LaunchActivity");Froyo版之后的版本i.setClassName("com.google.android.calendar", "com.android.calendar.LaunchActivity");另外一种方法不呼叫具体的class,目前测试只在4.0版本以后可用参考网址:http:/ 阅读全文
posted @ 2012-08-15 14:45 日光之下无新事 阅读(706) 评论(0) 推荐(0) 编辑
摘要:显示多行的文本框,需要可以上下滚动,可复制内容,不可编辑。使用TextView,可以实现上下滚动和不可编辑,没有办法实现复制内容的功能于是决定使用EditText来实现。在转到使用EditText时,碰到一个问题,因为默认EditText都有长按复制功能。可我的不行。调查后发现,是因为这一句:blockText.setMovementMethod(ScrollingMovementMethod.getInstance());这一句用在TextView中,是使其可以上下滚动。EditText默认就是可以多行并且上下滚动。去掉这一句,就可以恢复EditText的长按复制功能。使用EditText要 阅读全文
posted @ 2012-08-08 19:12 日光之下无新事 阅读(20093) 评论(0) 推荐(1) 编辑
摘要:转载自:http://jhengjyun.blogspot.tw/2011/04/java-waitnotifynotifyall.html必須撰寫在synchronized的區塊內,當wait()被呼叫時,則會釋放所有的鎖,並寫在try-catch(InterruptedException e)內,1. void wait()讓執行緒進入等待狀態2. void notify()喚醒一個等待中的執行緒,若有多個執行緒,則由JVM決定3. void notifyAll()喚醒所有等待中的執行緒注意:考慮在複雜程式上的邏輯正確,在執行緒交互呼叫wait()和notify()時,可能先配合滿足的條件 阅读全文
posted @ 2012-07-20 18:33 日光之下无新事 阅读(235) 评论(0) 推荐(0) 编辑
摘要:创建一个有looper的thread,然后由主线程向其发信息。public class TestLooperActivity extends Activity { Runnable ra; TextView tv; LooperThread lt; Context context; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(s... 阅读全文
posted @ 2012-07-20 18:25 日光之下无新事 阅读(941) 评论(0) 推荐(0) 编辑
摘要:转载自:http://null-point.iteye.com/blog/1356138多线程与异步Main Thread & UI Thread当程序启动的时候Android会自动创建一个进程和一个线程,这个线程负责界面更新,收集系统事件和用户的操作事件等并分配给对应的组件,所以这个线程非常重要 被称为主线程,因为所的和UI有关的操作都是在这个线程当中进行的所以也被称作UI线程。所以说默认情况下主线程和UI线程指的是同一个线程。For instance, when the user touches a button on the screen, your app's UI t 阅读全文
posted @ 2012-07-20 17:45 日光之下无新事 阅读(305) 评论(0) 推荐(0) 编辑
摘要:在Android下面也有多线程的概念,在C/C++中,子线程可以是一个函数,一般都是一个带有循环的函数,来处理某些数据,优先线程只是一个复杂的运算过程,所以可能不需要while循环,运算完成,函数结束,线程就销毁。对于那些需要控制的线程,一般我们都是和互斥锁相互关联,从而来控制线程的进度,一般我们创建子线程,一种线程是很常见的,那就是带有消息循环的线程。消息循环是一个很有用的线程方式,曾经自己用C在Linux下面实现一个消息循环的机制,往消息队列里添加数据,然后异步的等待消息的返回。当消息队列为空的时候就会挂起线程,等待新的消息的加入。这是一个很通用的机制。在Android,这里的线程分为有消 阅读全文
posted @ 2012-07-20 17:38 日光之下无新事 阅读(1627) 评论(0) 推荐(0) 编辑
摘要:想要拿到android中程式的数据库中的数据,可是pad没有破解,想到写一个小工具来实现他。public class HcdFileBackupActivity extends Activity { private Context context; private EditText pathFrom; private EditText pathTo;// String pathFromStr;// String pathToStr; /** Called when the activity is first created. */ @Override ... 阅读全文
posted @ 2012-07-20 17:12 日光之下无新事 阅读(257) 评论(0) 推荐(0) 编辑
摘要:转载网址:http://www.cnblogs.com/crazypebble/archive/2011/03/23/1991829.html在Android中使用Handler和Thread线程执行后台操作对于线程的控制,我们将介绍一个 Handler类,使用该类可以对运行在不同线程中的多个任务进行排队,并使用Message和Runnable对象安排这些任务。在javadoc中,对Handler是这样解释的:Handler可以发送和处理消息对象或Runnable对象,这些消息对象和Runnable对象与一个线程相关联。每个Handler的实例都关联了一个线程和线程的消息队列。当创建了一个Ha 阅读全文
posted @ 2012-07-20 16:59 日光之下无新事 阅读(8715) 评论(1) 推荐(3) 编辑
摘要:Handler会关联一个单独的线程和消息队列。Handler默认关联主线程,虽然要提供Runnable参数 ,但默认是直接调用Runnable中的run()方法。也就是默认下会在主线程执行,如果在这里面的操作会有阻塞,界面也会卡住。如果要在其他线程执行,可以使用HandlerThread。HandlerThread的使用 //Handler handler = new Handler() {//...//}HandlerThread uIhandlerThread = new HandlerT... 阅读全文
posted @ 2012-07-20 16:41 日光之下无新事 阅读(33881) 评论(0) 推荐(2) 编辑
摘要:写一个拷贝android程式的数据库的小工具,每次都完整输入路径太麻烦,于是查资料发现android中有一个AutoCompleteTextView的控件。在网上查找用法,发现两个不同的用法,另外还有一个可以调整下拉框格式的方法。共同代码:private static final String[] PATHS = new String[]{ "/data/data/com.xxxx.home/databases", "/data/data/com.xxxx.bookshelf/databases", "/data/data/co... 阅读全文
posted @ 2012-07-20 14:43 日光之下无新事 阅读(491) 评论(0) 推荐(0) 编辑
摘要:btn.performClick();当执行这个方法,则执行了定义的btn的onClick事件 阅读全文
posted @ 2012-07-20 14:38 日光之下无新事 阅读(221) 评论(0) 推荐(0) 编辑
摘要:public static boolean isNumeric(String str){ try { Integer.parseInt(str); return true; } catch (NumberFormatException e) { // TODO Auto-generated catch block return false; }} 阅读全文
posted @ 2012-07-16 18:37 日光之下无新事 阅读(102) 评论(0) 推荐(0) 编辑
摘要:在之前处理过一个问题在任意窗口前弹出rss更新提醒对话框,如下页面:http://www.cnblogs.com/sipher/articles/2502092.html利用上面的方法可以弹出窗口,不过没有办法在窗口中启动一个activity。于是最近看有没有其他办法可以实现,想到在alertDialog中无法启动,那就还是弹出一个activity模拟窗口,再在其中启动activity。代码如下:private void showRssUpateRemindDialog() { view = View.inflate(getApplicationContext(), ... 阅读全文
posted @ 2012-07-11 10:29 日光之下无新事 阅读(1047) 评论(1) 推荐(0) 编辑
摘要:转载网址:http://blog.csdn.net/yuejingjiahong/article/details/6658877Activity:public class SignParallelActivity extends Activity { private RelativeLayout startRelative; private ImageView startKey; //private List<ViewPostion> list = new ArrayList<SignActivity.ViewPostion>(); private int screen 阅读全文
posted @ 2012-07-09 17:43 日光之下无新事 阅读(897) 评论(0) 推荐(0) 编辑
摘要:有些apk为了区分唯一设备,需要用到一个device id。1. 取得设备的MAC address 如果用户没有通过wifi连网路的话,就无法取得。2. 使用TelephonyManager的getDeviceId()3. 另外还有一个android系统的唯一区分ANDROID_ID, Settings.Secure#ANDROID_ID returns the Android ID as an unique 64-bit hex string. import android.provider.Settings.Secure; private String android_id = Secur 阅读全文
posted @ 2012-07-04 16:59 日光之下无新事 阅读(20798) 评论(0) 推荐(0) 编辑
摘要:// 设置背景图textView.setBackgroundResource(R.drawable.block_text_backgroumg);// 设置背景透明度textView.getBackground().setAlpha(150);// 设定text内容为Html格式textView.setText(Html.fromHtml(rsultText));// 设定为可以scroll的textViewtextView.setMovementMethod(ScrollingMovementMethod.getInstance());// 设定text内容与边框的距离textView.se 阅读全文
posted @ 2012-07-04 16:06 日光之下无新事 阅读(14310) 评论(0) 推荐(0) 编辑
摘要:InputStream转byte[]private byte[] InputStreamToByte(InputStream is) throws IOException { ByteArrayOutputStream bytestream = new ByteArrayOutputStream(); int ch; while ((ch = is.read()) != -1) { bytestream.write(ch); } byte imgdata[] = bytestream.toByteArray(); bytestream.close(); ret... 阅读全文
posted @ 2012-07-04 15:11 日光之下无新事 阅读(209) 评论(0) 推荐(0) 编辑
摘要:转载自:http://android.blog.51cto.com/268543/632690android:gravity / android:layout_Gravity区别:android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置。android:layout_gravity 是用来设置该view相对与父view 的位置,例如设置button在layout里面的相对位置:屏幕居中,水平居中等。而Java代码中设置android:gravity是极其简单的,setGravity函数搞定了://此处相 阅读全文
posted @ 2012-07-04 15:10 日光之下无新事 阅读(178) 评论(0) 推荐(0) 编辑