Android(安卓)Tips1
有些是转的。
1.new Handler()不能在run()中执行
Can't create handler inside thread that has not called Looper.prepare() 原因:在asyncTask的doInBackground()中,或Runable的run()中,或TimerTask的run()中
new Handler()就会失败。
2.TimerTask取消后就不能再用了
java.lang.IllegalStateException: TimerTask is scheduled already
当cancle掉一个TimerTask,这个Task就不能再用了。必须重新new一个。
nextStepTask = new NextStepTimerTask();
nextStepTimer.schedule(nextStepTask, 0, 1000);
3.加载字符串到String
WebpageActivity.this.getResources().getText(R.string.search_page_test).toString()
4.startActivity
很多人使用startActivity时候,会碰到如下的异常:
Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
我曾经也遇到过,不过后来研究了一下之后,明白了原理,记下来,以为碰到同样困扰的兄弟们解惑。
都知道,Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是,加一个flag。
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
5.android sdcard read-only file system 的解决办法
【解决方法】
在cmd窗口一条命令就可以了:adb shell
mount -o remount rw /
//然后mkdir aaa试一下ok
LayoutInflater的构造
/** * Obtains the LayoutInflater from the given context. */ public static LayoutInflater from(Context context) { LayoutInflater LayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); if (LayoutInflater == null) { throw new AssertionError("LayoutInflater not found."); } return LayoutInflater; }
s
TextView
style = "@android:style/TextAppearance.StatusBar.EventContent"//from api 9
android:textAppearance="?android:attr/textAppearanceSmall"
判断版本
if(android.os.Build.VERSION.SDK_INT<=android.os.Build.VERSION_CODES.FROYO)//这是小于等于2.2(api<=8)
Android permission 访问权限大全
s
s
更多相关文章
- 分支和循环(二)(零基础学习C语言)
- Android(安卓)硬件加速
- Android(安卓)检测SD卡是否可用
- android拖拽功能的实现原理
- Android之Canvas
- Android之关于onSaveInstanceState和onRestoreInstanceState触发
- 移动数据流程
- android 生成快捷方式(包括源码)
- 我的Android进阶之旅------>启动Activity的标准Action和标准Cate